List

Don't Call It a Comeback

Don't Call It a Comeback

by Jason Charnes

In the talk titled "Don't Call It a Comeback" at Rails World 2023, Jason Charnes, Staff Product Developer at Podia, reflects on the evolution, relevance, and resurgence of Ruby on Rails (Rails) over the last decade. He shares his journey with Rails, illustrating its significant impact on web development and encouraging the community to continue celebrating it.

Key Points Discussed:

  • Personal Introduction: Jason shares his background, including his work at Podia and co-hosting the Remote Ruby podcast.
  • Rails' Historical Context: He describes how Rails revolutionized web development when it was introduced, making it more accessible and enjoyable, especially compared to prior technologies that required more code and effort to achieve basic functionality.
  • Early Criticism and Controversy: Despite its revolutionary impact, Rails faced skepticism, with some labeling it as overhyped or merely a CRUD framework. Yet, it thrived and became a preferred choice for startups.
  • The Rise of JavaScript: Jason discusses how the ecosystem shifted drastically with JavaScript’s dominance, leading to perceptions that Rails was outdated and slow in adapting.
  • Rails' Adaptation: Despite fears of irrelevance, Rails innovated by integrating modern JavaScript through initiatives like API-only modes and technologies like Hotwire, which revitalized its community and approach to server-rendered applications.
  • Continued Relevance: The conference’s sold-out attendance reflects renewed interest in Rails, with recent updates like Rails 7.1 showcasing ongoing development and innovation.
  • A Call to Action: Jason encourages the community to actively engage with Rails by building projects, sharing insights, and exploring new technologies while appreciating the structured development Rails provides.

Conclusion:

Jason firmly states that Rails never left; it continues to evolve and remains a vital player in the web development landscape. He emphasizes the importance of community contribution and the joyous possibilities that come with using Rails. Delivering a humorous and relatable presentation, he motivates both new and seasoned developers to actively engage with the framework and share their knowledge.

The talk encapsulates Rails’ sustained growth and vitality, inviting attendees to recognize and celebrate their journey with Rails instead of viewing it as a comeback.

Jason Charnes, Staff Product Developer at Podia, encourages you to celebrate Rails and contribute to the movement. But don’t call it a comeback, because Rails never left.

Slides available at: https://railsworld2023.jasoncharnes.com

Links:
https://rubyonrails.org/

#RailsWorld #RubyonRails #rails #opensource #OSS #community

Rails World 2023

00:00:15.719 Hello everyone! My name is Jason Charnes, and I want to talk to you about the last decade or so of Rails. But before we dive into that, I want to share a bit about myself. I flew in from Memphis, which is the home of Elvis Presley, the NBA's Memphis Grizzlies, and the world's only Bass Pro Shop located inside a pyramid.
00:00:24.480 Now, if you're not familiar with Bass Pro Shops, that's okay; just keep living your life. And if you are familiar with them, you probably have some questions that I would be glad to answer. By day, I work for a company called Podia, where I’ve been for five years as a Staff Product Developer. I work a lot with Rails, helping my coworkers fix their Rails applications.
00:00:41.000 I’m really grateful to work at Podia because they help me come speak at conferences like this. If you want to learn more about Podia, you can check out the website. Over the past five years, I've also been co-hosting a podcast called Remote Ruby, and I want to ask you something I’ve never done before: how many of you have listened to an episode of Remote Ruby? That’s pretty wild!
00:01:01.000 This conference is also special for me because it's the first time my wife has seen one of my talks in seven years. Although, I figured out that this is just an excuse for her to see an Aaron Patterson keynote after my talk. Along those lines, I want to be very open with you today and share an artistic side of myself that, no offense to my wife, she just doesn't understand. I hope you’ll appreciate my artistic expression: I spilled my name with mustard on a hot dog! This took me about 10 minutes, and I just need someone to acknowledge it.
00:01:58.840 Now that that's done, let me say it’s my first time in Europe, which is a lifelong dream for me, so I'm really glad for this opportunity. However, I have been struggling a bit because I've been telling people I'm coming to Amsterdam, and they keep mentioning this awesome traffic light museum that I can't seem to find. If anyone knows where it is, the locals told me it’s in the Red District, so come find me afterwards!
00:02:36.120 With that being said, for the rest of my time, I want to talk about a framework that is loved by many—a framework that has solidified its place as one of the best and continues to innovate. So, let’s discuss Rails. Over the past couple of days, we've had a variety of technical talks filled with excitement around Rails, and I want to take a moment to zoom out and reflect on the last 10 to 15 years of Rails and where we are today.
00:02:56.799 I was late to Ruby on Rails; in fact, Rails was already eight years old by the time I even knew what web development really was. I often say that in tech years, one year feels like seven—a sort of dog years. So by the time I learned Ruby on Rails, it felt like it was 63 years old! My first impression was that it was revolutionary. I didn't have real-world experience, but it felt groundbreaking for me as a computer science student.
00:03:06.760 Rails empowered me! A few years earlier, I'd learned HTML and CSS, but I always felt that writing server code was beyond my reach. Rails, however, made me believe that building web applications was possible for me. It showcased the joy of creating applications, and I still love the way Rails handles database connections and schemas. I remember smiling the first time I ran a scaffold command, as that simple concept sprang to life from just a few keystrokes. At that moment, I was hooked.
00:03:38.160 It may sound cliché, but Ruby on Rails truly changed my life. It gave me the confidence to dive into software development. Within just two years, I transitioned from selling musical instruments to getting paid full-time to work on a real-world Ruby on Rails codebase. This journey has afforded me many opportunities, friendships, and this moments like this to share with all of you. I believe Rails was revolutionary not just for me, but for the entire industry.
00:05:02.640 I can't speak firsthand about web development in 2003, but from my research, I gathered that it wasn’t particularly enjoyable back then. There seemed to be a lot of work involved just to get something up and running. This level of dissatisfaction was echoed in complaints found online. For instance, in the early 2000s, a healthcare company switched from Enterprise Java to Ruby on Rails, significantly reducing the amount of code needed to solve their problems.
00:05:35.640 So yes, Rails was revolutionary, although not everyone found it to be. In its early days, Rails faced some controversy, but it's unclear why anyone would have a negative view towards it. Some people didn’t share the excitement for the framework, and you can find plenty of this criticism online. For instance, some said that Rails was overhyped and simply a crud framework.
00:06:02.240 Despite the mixed feelings, Rails continued to thrive. Many small startups leveraged Rails to build their businesses, paving the way for the slogan found on their landing page: "Ruby on Rails scales from Hello World to IPO." Even after the release of Rails 1.0, there was a commitment to innovation. One noteworthy story from that period involved Rails merging with another Ruby framework called Merb, which helped shape the Rails we know and love today.
00:06:38.480 Before we knew it, Rails had stabilized and secured its place in web development. The challenging problems were solved, and developers were building and running businesses successfully on Rails. We were writing our backends in Ruby and our frontends with HTML, using unobtrusive JavaScript for enhancements. We employed jQuery for interactivity and used CoffeeScript instead of ES5.
00:07:16.399 By then, testing was becoming less of a focus; TDD seemed dead, and Rails was regarded as boring technology. However, during this time, Rails gave developers the freedom to build software quickly while still having fun in the process. Then, JavaScript came to dominate the ecosystem.
00:07:54.640 It became incredibly popular, leading to a surge of new applications, libraries, and tools made with JavaScript. We began to see single-page applications hailed as the one true way to build websites or web applications. Huge tech corporations invested in enhancing JavaScript, which made it a faster and better language.
00:08:33.200 ES6 brought significant improvements to JavaScript, incorporating many features from CoffeeScript—making the latter obsolete. Suddenly it felt like JavaScript was eating the world, promising capabilities that few other languages could offer. Why write Ruby when you could build your front end and back end using the same language? Why write Ruby when Node is so much faster? Developers began expressing exhaustion with the ever-changing JavaScript ecosystem.
00:09:10.360 At that point, Rails was becoming outdated, seen as the old guard in the face of all this excitement around JavaScript's rise. Conversations among developers shifted focus, and though the noise was loud, Rails began adapting to the new evolution of web development. In 2015, Rails shipped an API-only mode that allowed developers to utilize Ruby on the server without relying on Rails for client-side work.
00:09:45.440 For those of us still crafting full-stack web applications with Rails, Webpacker was introduced as a Rails wrapper for Webpack. While this caused mixed feelings, it was also exciting because it signaled our embrace of modern JavaScript tooling. We could use npm and harness ES6 features that browsers didn’t yet support.
00:10:24.679 On this note, I’d like to give credit where it's due. React Rails became a popular package that allowed us to use React components almost as first-class citizens in Rails applications. We use this package at Podia, and it has been a dream for us. I want to thank Justin Gordon and Shaka Code, as many of us have benefited from the various libraries and articles that helped us bridge the gap during this time.
00:11:02.239 Many people speculated whether Rails could adapt enough to stay relevant amid these changes. They declared that building applications on Rails was old school and that it was time to move on. But through all of this, Rails kept moving forward.
00:11:15.919 Some developers found solace in the Rails ecosystem, while others were filled with fear, uncertainty, and doubt. I fell into the latter group, concerned that I’d have to switch to a framework that I would have to learn from scratch. But life went on, and so did Rails. It was very much alive!
00:11:44.600 People were continuously launching new Rails applications, and new versions kept rolling out. There was noise, yes, but Rails was not dead. In fact, a shift occurred: people started realizing what some of the newer technologies lacked. Some developers began to miss that old Rails experience.
00:12:13.679 They longed for the productivity that Rails brought. I've also experienced the frustration of gluing libraries together for functionality that Rails had made simple. One blog post from 2019, titled 'Why I Miss Rails,' articulated a common sentiment: developers were spending an excessive amount of time rewriting basic functionalities that once came standard with Rails.
00:12:37.240 Despite the evolution of tools like React and GraphQL, many felt that the features and functionalities that Rails provided were hard to come by. Applications needed features like user accounts, password recovery, and various integrations that had become laborious in the new stack. Developers began reflecting on how easy it once was to achieve these tasks with Rails' built-in functionalities.
00:13:02.319 They highlighted how Rails helped simplify tasks like user authentication and file uploads, which now seemed time-consuming in the absence of a standard setup. This transition led to a sentiment that something akin to Rails was needed in the JavaScript ecosystem.
00:13:20.199 However, many developers still cherish Rails, asserting that it allowed a focused level of development and application building that is hard to find elsewhere. It remains an accessible option for many; Rails provides a structured approach, guiding users through the common tasks while hiding the complexities.
00:13:52.880 Up until now, I've mostly talked about Rails in the past tense, focusing on its historical impact. But let’s fast-forward to today and explore what Rails is doing now. I believe Rails is innovating; around the end of 2020, we began to see waves of fresh ideas and excitement.
00:14:28.679 Talks about Hotwire at this conference are a clear example of that! Hotwire represents an elegant approach to server-rendered applications that challenges the complexities of JavaScript front ends. In 2020, the announcement of Hotwire revitalized the community.
00:15:02.239 Rails also bid farewell to Webpacker, transitioning to two first-party packages: JS bundling and CSS bundling. Rather than enforcing a specific asset pipeline, Rails decided to allow developers to choose their tools, which has unlocked many new features. This flexibility is one of my favorite changes in the past few years.
00:15:37.360 Interestingly, the current trend seems to be leaning toward server-side rendering. While this is not a new concept for us, it’s fascinating to see it viewed as innovative two decades later. Just the other day, I attempted to install the latest version of Next.js, which was breaking because it insisted that I server-render everything.
00:16:10.920 We’ve come a long way since the original ideas surrounding this framework, and it feels like the ideas crafted in Rails are being re-evaluated and embraced again. Rails 7.1 was just released yesterday, bringing with it an array of new features, proving that the framework is alive and well.
00:16:36.599 This conference sold out in 45 minutes—an achievement that speaks volumes about the enthusiasm surrounding Rails. I’ve attempted to organize smaller conferences in the past, and I can tell you, getting 45 people to sign up took far longer than that!
00:17:11.680 With all this said, Rails feels alive, and the chatter about being 'dead' seems to have quieted down. Yes, Rails never died—it's continuously progressed, with various pushes in innovation. The Rails core team and contributors deserve immense gratitude for their steadfast commitment to the framework.
00:17:40.720 They’ve filtered out the noise and kept moving things forward. As we look at Rails’ upcoming 20th birthday, we must also consider how we, as a community, can play our parts in maintaining this excitement and joy within Rails.
00:18:12.040 A simple starting point would be to continue using our beloved tools. If you love Rails, keep using it! Build your side projects with it and test your ideas through its framework. However, I also encourage exploration of different technologies and ecosystems, as they hold remarkable ideas worth investigating. If something exciting emerges in another ecosystem, bring it back to Rails.
00:19:01.600 On that note, I want to address a concern I have with the state of front-end development. The React ecosystem has made building accessible and aesthetically pleasing front-end applications incredibly easy. I often feel frustrated that we have to reinvent the wheel to achieve similar results within Rails.
00:19:48.760 Here’s my plea: please, someone, build component libraries that make this easier! I’m willing to pay quality money for something like that. Beyond this, we can reach out to improve Rails applications by fixing bugs or contributing new features. There's plenty of room for everyone to participate in this project!
00:20:28.180 Moreover, let’s challenge the status quo. The world of web development constantly changes, and nothing is set in stone. New libraries and ideas continue to emerge, and Rails is re-evaluating what has been the norm within our workflows.
00:21:10.760 While not every challenge will succeed, we can’t find out without trying. So, share your insights with us! Whether you're a newbie or a veteran, your experiences and ideas are valuable and worth sharing.
00:21:43.440 This community has an insatiable curiosity for Ruby content. If you have something to share, don’t hesitate! Dust off that old blog and start posting about what you find interesting in Ruby on Rails, regardless of how common the topic may seem.
00:22:17.720 You could even venture into short-form content by sharing tips and tricks you're learning; that's still a popular medium. For example, we started Remote Ruby in 2018 without any expectations, and to our surprise, people listened. During the Afterparty, we’ll have a podcast booth, so anyone who wants to join us on the podcast is invited!
00:22:48.680 I can't stress enough how many opportunities the podcast has opened for us. If you feel you don’t have anything to contribute, I urge you to watch Aaron Francis’s talk at this year's LaRon, titled ‘Publishing Your Work,’ which covers how everyone has something worth sharing.
00:23:34.440 In conclusion, I wouldn’t call what we're experiencing today a comeback, because Rails never left nor did it die. However, if it were to be termed a comeback, I could scientifically argue that Ruby on Rails is back because it's become a topic of controversy again.
00:24:03.600 Thank you all!