Jorge Manrubia - Making a difference with Turbo - Rails World 2023

Sdílet
Vložit
  • čas přidán 18. 10. 2023
  • Hotwire is about building snappy user interfaces while maximizing developer happiness, about bringing innovations while respecting how the web works. What if we could make a step forward on all those fronts?
    At @37signals, they developed a little Turbo addition that they believe can make a big difference for everyone: morphing. Jorge Manrubia, Leader Programmer at 37signals walks us through it in his talk at Rails World.
    Slides: dev.37signals.com/assets/file...
    Links:
    dev.37signals.com/a-happier-h...
    turbo.hotwired.dev/
    rubyonrails.org/
    #RubyonRails #Rails #turbo #hotwire #Rails7 #RailsWorld
    Thank you Dell APEX for sponsoring the editing and post-production of these videos. Visit them at: dell.com/APEX

Komentáře • 13

  • @benmorrison6271
    @benmorrison6271 Před 6 měsíci +20

    This is one of the most exciting upcoming features for Turbo / Rails. It fits so well with why so many of us align with this framework. Great talk. Thank you 👏

  • @lauraj1427
    @lauraj1427 Před 4 dny

    Awesome feature!!!❤

  • @rafaljaroszewicz8695
    @rafaljaroszewicz8695 Před 6 měsíci +5

    “It’s very hard to appreciate turbo as a newcomer” Agreed 👍 morph sounds amazing I can’t believe it’s the first time I heard about it

    • @AhmedNadar
      @AhmedNadar Před 6 měsíci +1

      It is true. But if you had experienced making a web page with ONLY HTML and CSS, turbo seams normal and fits perfectly. An HTML data attribute that function very well and no need to add JS complicity and event listener,..... extra stuff and cases that you need to monitor one by one.
      For me, writing web apps with Hotwire in Rails is the natural way of creating web application. No need for extra stuff. Or extra libraries.

  • @Frexuz
    @Frexuz Před 6 měsíci +2

    Omg, I wanna use it now :D turbo streams are already epic, but this is next level :D

  • @AhmedNadar
    @AhmedNadar Před 6 měsíci +1

    Thanks for the amazing talk.
    I'm super exciting about Morphing. The more we stay way from JS code the happier and productive a programmer is. I thing morphing -if i understanding it correctly- it is a one action replace a few of stream actions. Because all what stream actions are doing are alteration to a section of a page. So instead of specifying the action name (update, replace,...) morph understand it a changing has happened and i will reflect that. Hope I understand it.

  • @ernepazzo1212
    @ernepazzo1212 Před 5 měsíci

    Excelente presentación!!!

  • @MrTickleMonsterPotato
    @MrTickleMonsterPotato Před 6 měsíci +2

    Very interesting talk. I'm looking forward to getting the chance to use this.
    A few questions pop to my mind that I'm sure I'll find out soon :
    What is the resource cost of sending the whole board to be morphed to a potentially large amount of concurrent users whenever someone changes something? Instead of each user refreshing their own board, each user is refreshing everyone's board.
    Also curious to find out how to preserve each user's context when a broadcast is triggered. E.g. not everyone may see the board the same way. Some will have different sorting or filtering, so it can't be a single view that's rendered and sent to everyone.

    • @tomhallett7439
      @tomhallett7439 Před 5 měsíci +2

      "preserve each user's context" - the issue you are describing is one of the exact issues with "turbo streams" (the "old" way) where the server uses websockets to broadcast the html to the "other users". In the new solution he's pitching, it looks like the server is only broadcasting a "touch" event to the "other users". Then the turbo javascript on each one of those pages will refetch the html specific to them (and have the new dom be morphed in). Then turbo exposes additional attributes (turbo data permanent) so that users' view doesn't get overridden with the new html.

  • @martinberggren6328
    @martinberggren6328 Před 6 měsíci +4

    WEB IS FUN AGAIN!

    • @AhmedNadar
      @AhmedNadar Před 6 měsíci

      Absolutely. I remember I was excited when I learned about Hotwire and Stimulus code from Basecamp and Hey web pages source code or web inspector. It is exactly the same I learned to code HTML and CSS in late 90s 😀 Simple, direct, accessible, free, and fun. Those were the days!

  • @switzerland
    @switzerland Před 6 měsíci

    Waiting for firefox😢

  • @mati0090
    @mati0090 Před 6 měsíci +1

    tl;dw - refresh page but do not scroll