Frame from RailsConf 2016 -  Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson Plays with YouTube's privacy-enhanced embed

RailsConf 2016 - Turbolinks 5: I Can’t Believe It’s Not Native! by Sam Stephenson

Open on YouTube First HN thread

6 HN users recommended this talk in 10 different months between 2017 and 2020.

2007–2026
7 strong recommendations 6 recommendations 2 citations HackerTube score 12

Repeatedly urged on people choosing a stack, as a case against heavy SPA complexity and for shared web and native code.

Sam Stephenson's RailsConf 2016 talk on Turbolinks 5, showing how small teams can ship fast Rails apps in the browser and hybrid iOS and Android apps sharing one set of web views.

Pull quote: “I highly recommend this talk on managing the complexity of basecamp and sharing a codebase between web and native apps.” (HN, 2018)

Also tagged: rails turbolinks hybrid apps, turbolinks, rails, basecamp, hybrid mobile apps, spa alternatives

What Hacker News said

15 labeled comments from the HN archive; up to 20 are kept per video, favoring different commenters. Each one links back to the original thread.

Strongly recommends trcollinson December 2017 under Modern Front-end in Rails
Case against heavy front-end complexity
Read the full comment
I built a rather extensive application for a client over the last 18 months using Rails API and Angular, using a number of these sorts of principles. While it is entirely possible to use what the article suggested, I argue it's a premature optimization and may be a detriment to the entire project. We're now actively removing the Angular portion of the project and going back to the good old way. I wouldn't say this decision was made without careful thought nor without weighing many options. But when it comes down to it, many line of business applications (which is what I see a lot of in the market) don't need the level of sophistication the instructions in this article gives. Most applications need to be reasonably fast, reasonably responsive, and extremely easy to maintain and extend. Does working with all of these modern front end tools that change so quickly and given at least one order of magnitude increase in complexity also give the application a equal increase in speed, responsiveness, maintainability, and extensibility? I don't think so. I'm not the first person to say this. Take a look at this presentation by Sam Stephenson, it will be worth your while: [this video]
Strongly recommends peteforde July 2018 under Escaping the SPA rabbit hole with modern Rails
Shows how the SPA path leads to complexity
Read the full comment
I have nothing against SPAs for complex UI interactions. It's sort of like taking anti-biotics; there should be a moment of reflection when you should justify your true need, lest the cure be worse than the disease. Most developers of a certain age have come up when it's SPA by default, and can't truly defend why they need it. In this thread, there are several claims that it's impossible to write well-organized jQuery. That sounds an awful lot like dogma to me. Also, your inability to write well-organized code says more about your coding and team-management skills than it does about any one approach. Any tech is only as good as the team using it. A few years ago, Sam Stephenson (who originally wrote the Prototype library, before jQuery was a thing) gave an excellent talk on Turbolinks at RailsConf. I recommend the whole talk (turn it up to 1.5x speed, of course) but at 4:12 he does an amazing job of showing how the SPA path leads to insanity. [this video] Here's a mental exercise for you: the next time you start a new project, instead of deciding which SPA framework to use, start with an assumption that an SPA is wild overkill for the first iteration of your application - especially if few people on your team have working expertise with the SPA in question. Then see if you can argue FOR the tech. It's much harder to justify something you don't need if you start with an honest conversation about how you probably don't need it. (This works for throwing out CDs, too: start with the a
Strongly recommends trcollinson January 2019 under Ask HN: First mobile side-project: What stack to choose in 2019?
Describes building mobile apps with Rails and Turbolinks
I found this video and talk to be very enlightening. I know it's not the neatest, most exciting framework, but Rails with Turbolinks sure can do the trick. My last two mobile applications were built in the same way that Sam Stephenson describes here. [this video]
Strongly recommends peteforde January 2019 under Ask HN: Go-to web stack today?
Server-generated pages with SPA speed
I urgently encourage you and anyone else reading this to check out Turbolinks 5, ideally in tandem with Stimulus. [this video] [link] [link] You can get all of the benefits of server-generated pages with the speed of an SPA. 90%+ of the sites built using SPAs would be better served by Turbolinks and Stimulus.
Strongly recommends peteforde March 2019 under Why I believe Rails is still relevant in 2019
Reintroduces Turbolinks 5 as worth a second look
Read the full comment
Okay, I have lots of good news for you. First, CoffeeScript is formally deprecated. Turbolinks sucked, but Turbolinks 5 is an entirely new beast and it rocks. You need to give it a second look. I recommend this talk, sped up to 1.5x: [this video] Finally, there absolutely is an opinionated client library that is designed to pair beautifully with Turbolinks 5. It's called Stimulus and it rocks. [link] You can play with all of these frameworks using the --webpack parameter: rails new future --skip-sprockets --skip-coffee --webpack=stimulus --database=postgresql --skip-test As a bonus for anyone starting a new Rails project today, you're going to want to bookmark [link] Let me know if you have any questions.
Strongly recommends peteforde March 2019 under I Miss Rails
Turbolinks 5 talk urged on readers
I urge/beg you to check out the Turbolinks 5 + StimulusJS libraries, which are by the same (Rails team) people, which is no coincidence. [this video]
Strongly recommends thrownaway954 March 2019 under I Miss Rails
SPA-style development the Rails way
I keep looking at C# and Blazor myself If you want an SPA type Rails way of doing things, you can use Turbolinks. This talk at RailsConf 2016 is really an eye opener. [this video]
Recommends thrownaway954 February 2018 under Ask HN: Best web framework in 2018
Impressive results from a small team in a year
[this video] if you haven't seen Sam Stephenson Turbolink talk from RailsConf 2016, you should give it a watch. What they did in a year with a small team is amazing.
Recommends andrei_says_ March 2018 under Ask HN: Benefits of front-end JavaScript frameworks?
Managing complexity and sharing a codebase between web and native
Read the full comment
Managing complex DOM transformations and avoiding pageloads on every change do carry benefits. Some examples: chat, Facebook-like functionality, complex custom interfaces. There is however a strong tendency to build complex front-end apps because of the trend to do so. This increased complexity results in higher costs without significant benefits (I’m very open to changing my mind). Turbolinks for example is a fantastic backend-agnostic library which eliminates the pageloads in CRUD apps at close to zero development costs and makes the speed almost indistinguishable from SPA implementations. I highly recommend this talk on managing the complexity of basecamp and sharing a codebase between web and native apps. [this video] Unless you’re building extremely complex interfaces and if you are able to correct for trendiness you may conclude that a monolithic app with possibly Turbolinks and some front end sugar is the best choice. You can always offload some work to the client once you get to a billion users and servers become too expensive. Until then maybe focus on launching.
Recommends thrownaway954 September 2018 under Rails, still?
Shows SPA-like results with Rails and Turbolinks
You achieve the same thing with Rails and Turbolinks. Watch this presentation by Sam Stephenson to see what I mean. [this video]
Supports Rails plus Turbolinks over an SPA
I'm a rails dev too, last year I was making a mobile web app where I was concerned about frontend, so I started making a SPA in mithril.js and using Rails as the API. Later I abandoned the SPA and went back to rails views, using turbolinks to make it fast. In reality rails + turbolinks is fast enough for most cases, and then I can sprinkle in extra javascript or use SPA on one or two pages as needed. The reason I think it's almost better to avoid SPA + API approach is to keep the codebase simple and easier for one person to maintain. [this video] [link]
Recommends peteforde April 2019 under JQuery 3.4.0 Released
Turbolinks 5 may offer useful tricks
That's brilliant! Have you had the opportunity to play with Turbolinks 5? It sounds like there will be some crossover with what you have already done, but if you're intellectually curious, you might pick up some good tricks, too. [link] [this video] TL5 just happens to pair beautifully with a tiny library called Stimulus, which would be YAF except that it's a) by the same team as TL5 and b) that team is also behind Rails, so there's some claim to legitimate best practices. [link]
Recommends elamje April 2020 under Ask HN: What stack should I use for my mobile app?
Case for Turbolinks-based mobile apps for Rails developers
If you are a Rails developer, this Turbolinks presentation makes a strong case to be used for mobile apps. [this video] It seems like there is a strong productivity gain from using rails here since it’s extremely productive and you can make simple wrapper apps to release to the Play and App Store that really just wrap the web view. The biggest gain is obviously reusing most of the web app across three different platforms, and the ability to add native navigation and interaction as needed, later. You also avoid needing a big javascript library.

Citations, criticism and jokes

Keyboard shortcuts

/
Search
j k
Next / previous video in a list
Enter
Open the focused video
l
Like (on a video page)
w
Watch later (on a video page)
?
This help
Esc
Close