Ruby on Rails ideas to grow the community?

I’m with you :slight_smile: Best Regards, Mohit. 2021-5-25 | 12:20 am.

Most C extensions work fine on Windows, and have done since Ruby 2.4 if you install the DevKit with it. I’ll take your comment with some seriousness since you do say that you have spent time personally on it. However, I find that the experience on Ruby 2.6 / 2.7 has been extremely good, thanks to the RubyInstaller team. I found a couple of gems where the makefile had some minor issues but other than that, most gems install and work fine. Of course, I’m sure there are gems that have problems and gems that work fine - so, this is not an invitation for “but what about x” but just a note that in my experience, in the past few years, the experience has been extremely good. Also, I think the RubyInstaller team is happy to help should an issue surface. Best Regards, Mohit.

Actually, for most Windows users, RubyInstaller for Ruby >= 2.4 works perfectly fine. This is not a criticism but I think the overhang of years of Windows support not being that great have led to this impression amongst developers, but it is definitely not the case any more. Yes, there are a few restrictions (esp around the value of JIT for some use cases) but other than that, most of the stuff works quite well, and I think there is real interest to sort the other issues out. Also, JRuby (if applicable) works very well on Windows too. I have guides on my blog for installing Ruby 3 and JRuby on Windows and hope to update more when I get time on using these on Windows. Finally, there’s a push towards using Docker for Rails and if that is the path you go down, then, of course, it’s a combination of WSL2 + rest of Windows :slight_smile: Even native gems work really well. I found a couple of small issues where they don’t build properly on Windows because the original authors did not think of/ test on Windows, but it takes a bit of work to make them work again - and raise PRs to the original repos. Of course, I understand that a beginner won’t… but I must stress that most of the native gems work perfectly fine the first time round. Best regards, Mohit.

@walterdavis Isn’t Ruby 3 shipped with some static typing now. I wonder why rails doesn’t use any of these things?

Ruby and Rails travel together, but the way it usually works is Rails extends some part of Ruby using ActiveSupport, and then Ruby bakes that into the language at some later date. In the case of type support, Rails actually enjoys the “type-less” life a lot, and benefits from it. While there are projects to bolt type constraints on to Ruby (I think Stripe has written one such), I don’t believe that Rails feels any pain from that being missing, and so it doesn’t stand to reason that there would be evolutionary pressure in that direction.

In short, being able to use duck-typing is a feature, not a bug, from Rails’ perspective. Adding type constraints would mean a loss of some or all of that feature. Making things easier for IDEs would be an anti-pattern, in that case.

Walter

As far as I’m concerned, the easiest way to grow the Rails community is to address its biggest weakness: the front end. How do we do that? We do that by promoting Hotwire and its various superiorities over traditional JS frameworks.

Using Hotwire along with a few sprinkles, you can get 80% of the reactivity of a traditional JS front end with only 20% of the work. I suspect that over the coming months and years there will be more and more people in the community coming back to Rails for this very reason.

1 Like

I want to chime in on what your comment regarding frontend stack @Bitstack. I have not personally used this framework, but Unpoly from Makandra (presentation here We're breaking up with JavaScript frontends) is a frontend toolkit which covers a lot of UI requirements and is somewhat similar to Stimulus from my understanding. It’s definitely more mature than the hotwire+stimulus stack as its been around for a bit longer.

On the point of growing the community as a whole, maybe it would be worthwhile involving more Rails consultancy companies such as Makandra, Evil Martians, and Arkency to see what they’re ideas are around growing the community?

As a begginner I miss an explanation of the configurations rails has a convention. And maybe a roadmap where I can understand what It’s important to improve.

Even the documentation in English is less than good. http://guides.rubyonrails.org is confusing on using Webpacker. I’ve dabbled in Rails for years but revived a project about two years ago and decided to get up to date and install Webpacker (realized later I should have stayed with Spockets for the time being). It was only several posters/blogs/Stackoverflow who helped me sort it out. And I don’t think there is a coherent guide. Getting Started with Rails — Ruby on Rails Guides doesn’t mention Webpack or Sprockets. And when you find your way to The Asset Pipeline — Ruby on Rails Guides, nowhere does javascript_pack_tag appear. Enough. I realize this is a transition, but that fact is not emphasized well enough.

1 Like

Rails is a mature application.

Mature means it is time for tested working full blown high quality instances of the Rails application to be made available for download.

Example: Suppose a user downloads files and types “tar -zxf AgileDevelopmentwithRails_7-2020”. Then, enclosed instructions lead the user to set up a mature Rails application. Use the mature app, together with the extraordinary Action Model modification system to roll out another variant application.

So then, the focus of the Rails community is to support logical data structure development and security and integrity testing.

My rueful experience is trying to do a new Rails app in 2021 I have wasted weeks struggling. All I want is a database backed website as good as the one I typed in from Bradburne’s Practical Rails Social Networking Sites 12 years ago.

Rails is a series of web applications. The story over the last 13 years is the rise of ransomware and all kinds of web application theft. A mature application should not clobber every newbie with weeks of struggle. I happen to be old and stubborn and I believe eventually I will get beyond “Action Controller Exception”

I am sure there will be other, maybe more informed replies to this idea, but my 2wo cents worth is this: rails new is a once-in-a-lifetime occurrence for an application. Once that happens, there are way way way more instances of rails generate ..., as you evolve the application from nothing into exactly what you need. Following that path, making those choices (and wrong choices, and yanking out bad code and replacing it with better) is what makes the application your own. Along the way, you learn things about your application that you would not understand otherwise.

If Rails were optimized more so that rails new (I’m thinking here more like your tar -zzvf) spat out a ready to use application, with all those choices and decisions already baked in, then you might get an application that did 80% of what you needed, 20% that was actively wrong for you, and none of the experience and decision making that you would get by following “the rails” that would help you un-wind the parts you didn’t want/need, or point them in the right direction.

I had a similar experience with ActiveScaffold many years ago. I thought, “my application is so very easy, so very CRUDdy, this will save me time!”. I was very wrong. I was able to go from zero to 100mph in the wrong direction very quickly. And then I wasted a lot of time trying to find out why I couldn’t just edit a model and get what I really wanted.

Walter

1 Like

I’m glad to see other people interested in contributing to the Rails community. I see that you deeply care about the future of Rails.

I’ve been observing the kinds of problems that Rails developers have, and doing my best to help them through blog posts, mentoring, open-source contributions…

I’ve been trying to help the community grow in different ways.

My wife and I have been doing live contributions to the rails codebase every thursday as a way to “learn in public”, attract more people to Rails, and demistify open-source.

Our main goal is to create the next generation of ruby experts.

We’d love to get other experts to pair with us and share their knowledge.

I would greatly appreciate any feedback or suggestions, as it would help us make these livestreams more interesting and valuable to people, and help us serve the community more effectively.

We’re doing another livestream later today at 6pm PST. Here’s the link:

Here’s the link to our project: Open-source-thursdays | hexdevs

Thanks!

3 Likes

Tangentially related, it would help grow the community if installing both Ruby and Rails were easier, especially on Linux and Windows. We don’t want interested beginners to get stuck immediately.

Here’s a discussion on problems with installing Ruby and RoR on Ubuntu when following the instructions in the rails README. Getting started steps don't work on Ubuntu 18.04 LTS · Issue #42709 · rails/rails · GitHub

3 Likes

In Fedora land, we have a nice place to get you started:

more jobs, when there’s money people will come

1 Like

@thdaraujo I’m a big fan of what you’re doing with Hexdevs!

In my mind, there are a few area which Ruby & Rails can improve to help the community:

  • https://rubyonrails.org/

    • It could promote additional places to learn Rails (E.g. GoRails / Drifting Ruby).
    • It could promote Ruby/Rails communities/meetups/conferences/podcasts.
    • It doesn’t show off how widely used Rails is, I think putting a few logos, use cases & a job board could help this.
    • It’s very “English first”, this will be a hard problem to solve but sites like Crystal have done it.
  • Getting started with Ruby/Rails

    • There is a lot of super bad advice from SO (E.g. using sudo to install gems) which I’ve noticed newbies have followed. I think we could copy Wordpress & provide a full contained docker image, which could be run in the cloud (Play with docker or Github Codespaces) somewhere.
  • Senior Devs

    • I know a few senior Ruby devs who don’t interact with the community much, but are full of good knowledge. I’m not sure about the solution for this one.
2 Likes

Is there alternative version to Laravel Sail - Laravel - The PHP Framework For Web Artisans in the ruby community?

1 Like