Jorge Manrubia - Making a difference with Turbo - Rails World 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

Пікірлер: 13

  • @benmorrison6271
    @benmorrison62717 ай бұрын

    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Ай бұрын

    Awesome feature!!!❤

  • @rafaljaroszewicz8695
    @rafaljaroszewicz86957 ай бұрын

    “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

    7 ай бұрын

    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
    @Frexuz7 ай бұрын

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

  • @ernepazzo1212
    @ernepazzo12126 ай бұрын

    Excelente presentación!!!

  • @martinberggren6328
    @martinberggren63287 ай бұрын

    WEB IS FUN AGAIN!

  • @AhmedNadar

    @AhmedNadar

    7 ай бұрын

    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!

  • @MrTickleMonsterPotato
    @MrTickleMonsterPotato7 ай бұрын

    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

    7 ай бұрын

    "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.

  • @AhmedNadar
    @AhmedNadar7 ай бұрын

    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.

  • @switzerland
    @switzerland7 ай бұрын

    Waiting for firefox😢

  • @mati0090
    @mati00907 ай бұрын

    tl;dw - refresh page but do not scroll