1. 45
  1. 21

    a no-Node default approach to the front end

    I’m about to jump back into a Rail project for work after years away from it, and this is beautiful music to my ears.

    1. 6

      The last two weeks I have had a few occasions to discuss Ruby 3 with friends, and wonder about when libraries will begin to ship features that lean into more parallel or asynchronous workfkows. The exact example one of them raised was “Even just allowing independent database queries to run concurrently would be amazing” and lo, Relation#load_async.

      As exciting to me is the promise of removing some of the gotchas and edge cases of the Rails autoloader. I really should dig into that Zeitwerk upgrade guide, because I do worry for how many projects I have with autoloader workarounds that I will need to seek out and undo.

      1. 2

        I’ve been doing async in Ruby for over a decade. While the ruby3 features are usefulz they don’t add anything fundamentally new.

        1. 1

          Care to elaborate in what form?

          1. 1

            Started out with callbacks and deferrables, worked with one of the inventors of fiber-based “invisible async”, most recently promise-based

          2. 1

            This is pretty disingenuous. You could do async Ruby before Ruby 3, but to really do it you needed an external library like eventmachine. The language itself prevents true async because of a GIL. Ruby 3’s features make async much more practical to achieve with the base language itself.

            1. 1

              GIL provents proper multiprocessing/threading, which is orthogonal to async I/O

              1. 1

                You can do async reasoning without a GIL, but it makes it much less useful practically.

                1. 2

                  IME the GIl makes no difference, since anything that benefits from async is IO bound and doesn’t use even one full core of CPU anyway…

        2. 3

          Anyone know how the non-Node Tailwind CSS support works?

          1. 3

            Encrypted attributes are very interesting.

            Anyone have insights on how to do this in other programming languages (e.g: Python)?

            1. 0

              With the new design of the Rails site, David Heinemeier Hansson’s face appears near the top in their intro video, and Basecamp and Hey are the first two listed users of Rails. I don’t remember either of those things being true of the old site, and it certainly seems like a reassertion of ownership by DHH over Rails.

              1. 6

                That’s hyperbole! Next to those 2 we have GitHub, Shopify, Twitch, Dribble, Hulu, Zendesk, AirBnB, Square, Kickstarter, Heroku, CoinBase, SoundCloud, CookPad. That’s 2 out of 15. The linked article also mentions Shopify and GitHub as 2 prime examples of businesses that are even bigger than Basecamp/Hey.

                1. 1

                  “are even bigger” sounds disingenious. Shopify and GH should be magnitudes bigger, by users and maybe even by developers.

                  1. 1

                    “are even bigger” sounds disingenious […] bigger, by users and maybe even by developers

                    disingenuous dĭs″ĭn-jĕn′yoo͞-əs adjective

                    Not straightforward or candid; insincere or calculating.Pretending to be unaware or unsophisticated; faux-naïf.Unaware or uninformed; naive.Not noble; unbecoming true honor or dignity; mean; unworthy.Not ingenuous; wanting in noble candor or frankness; not frank or open; uncandid; unworthily or meanly artful.Not noble; unbecoming true honor or dignity; mean; unworthy; fake or deceptive.Not ingenuous; not frank or open; uncandid; unworthily or meanly artful.Assuming a pose of naivete to make a point or for deception.

                    Your point being? Many of the others will be at least an order of magnitude bigger in users, developers or even revenue. If you’re saying what I think you’re saying, i.e. only one or neither should be in that list because the others so much larger on some metric, well, let’s agree to disagree. There are plenty of reasons why these 2 names should be on that list given they’ve invented Rails and continue sponsoring its development one way or another.

              2. [Comment from banned user removed]

                1. 75

                  You’re using a Rails application right now.

                  1. 1

                    I meant starting a project in Rails in 2021.

                  2. 19

                    Have people stopped using Rails?

                    1. 11

                      My gut feeling is that Rails will make a comeback.

                      The last five years were pretty tough on the Rails community because of the growing popularity of microservices on one hand, the growing popularity of NodeJS and the complexity of using Rails for building rather large web applications.

                      Right now, more and more developers understand that not everything has to be a microservice and my experience so far has been that it’s far easier to find a good Ruby developer as opposed to good NodeJS developers (even if the number of available NodeJS developers is higher). I personally know a couple of Ruby developers who were looking forward to the 7.0 release, so it might just be that Rails will be making a comeback in the next few years.

                      1. 5

                        I don’t think so.

                        I’ve been designing and developing for the web since 2005, passing through PHP, Ruby, Yii, Laravel, Rails, Jekyll, Sinatra, WordPress, React, Vue, Grunt, Gulp and so.

                        I’ve never felt safe on the front-end until the components arrived: HTML, CSS and JS packed into a single, fully programmable unit. I think this will be the main driver, the rest - the back-end - is more or less the same, without any paradigm shift since MVC. Serverless, micro-architectures - I don’t know yet.

                        And static typing. Perhaps it has the same weight as the component model.

                        And functional programming. I’ve used in a single project so far, and I find in the same way a paradigm shift as these two above.

                        I think this is the future. A new special language (ML, not JS/TS) built for web components on a new programming paradigm.

                        1. 12

                          I have trouble following what you’re saying because it reads like an internal dialogue.

                          1. 2

                            I’ve seen Node + Typescript + “servless” getting pretty popular where I work now, which checks off a bunch of those boxes? We’ll probably never get rid of our Rails app though, or the many microservices we’ve built in Java/Kotlin/Go/etc. I think we’ll always be polyglot. Not just because some languages perform some tasks better, but because you’ll never get engineers to agree on a single language and all spend the time to become an expert at it.

                            1. 1

                              For me as a technical decision maker the following me matters:

                              • out of the box efficiency (performance)
                              • portability between different platforms
                              • correctness & safety
                              • simplicity (can I teach this to a junior)

                              Ruby and Rails probably failing with the first and second.

                            2. 2

                              I think this is the future. A new special language (ML, not JS/TS) built for web components on a new programming paradigm.

                              That’s been the future for the past 3-4 years, the issue is, it’s never the present.

                            3. 2

                              I think MPAs will make/are making a comeback. Rails I dunno about. One, there’s the political thing. NBD to a lot of people, probably even most people, but there are also a minority of developers who have decided to never touch Basecamp related stuff again. Permanently losing a minority of devs is bad for making a comeback!

                              Two, I personally think Turbo is really ugly. Just extremely ugly. Yes, if you hate JavaScript, the ugliness is a feature not a bug because it doesn’t look like JS, but most people don’t hate JS, they just want to build faster pages quickly, and SPAs only make sense if you have separate FE and BE teams. I’m much more interested in things like Astro, SvelteKit, Alpine, Live View, etc. than Rails per se.

                              1. 3

                                One, there’s the political thing. NBD to a lot of people, probably even most people, but there are also a minority of developers who have decided to never touch Basecamp related stuff again.

                                The announcement talks about 4000 individual developers that have contributed in some way to Rails 7, so I am quite sad to hear that a group of developers is rejecting Rails mainly because of politics. These are the times we live in, I guess.

                                1. 3

                                  I am quite sad to hear that a group of developers is rejecting Rails mainly because of politics.

                                  When Free Software people refuse to use, say, something developed by Microsoft, do you feel equally sad about developers rejecting things over “politics”?

                                  Just curious.

                                  1. 2

                                    When Free Software people refuse to use, say, something developed by Microsoft, do you feel equally sad about developers rejecting things over “politics”?

                                    It’s a flawed comparison because the vast majority of software from Microsoft is paid and the developers that worked on said software do receive a compensation for their work. I’m fairly sure that most of those 4000 developers that worked on Rails 7 did so in their spare time and their main reward is that they could give back to the world.

                                    I’d argue that a closer comparison would be people claiming they won’t touch anything FSF-related because of RMS. In that case, yes, I would feel sad for the people at FSF.

                                    1. 2

                                      The FSF encourages people to refuse to associate with certain other people/entities, on ideological grounds -> you are OK with it.

                                      RMS not only encourages, but openly tries to force disassociation from and denunciation of certain people on ideological grounds, and tries to impose codes of censorship on the community he supposedly leads (which, yeah, he’s done that, and people love to gloss over it) -> you are OK with it.

                                      DHH decrees he will willingly disassociate from other people (by severing his working/professional relationships with them) over what he calls “politics” -> you are OK with it.

                                      Other people respond in kind to any of the above people/entities by saying “in that case we choose not to associate with you” -> you think it is “sad to hear”, and shake your head at “the times we live in”.

                                      I just want to make sure you’re absolutely clear on this.

                                      1. 2

                                        The FSF encourages people to refuse to associate with certain other people/entities, on ideological grounds

                                        That’s factually not correct. The only person who had such radical views was Stallman, which time showed that his “quirks” are more than just quirks and he should have never stayed in that position for such a long time. There’s plenty of evidence that FSF does not encourage people to disassociate with certain other people or entities on ideological grounds, starting from the availability of Emacs on Windows to FSF’s public statement that FSF “welcomes the announcement [of Microsoft joining the Open Invention Network]” and even asking Microsoft to fund its projects (“this can be done by supporting grassroots efforts like the FSF’s End Software Patents campaign”).

                                        RMS not only encourages, but openly tries to force disassociation from and denunciation of certain people on ideological grounds, and tries to impose codes of censorship on the community he supposedly leads (which, yeah, he’s done that, and people love to gloss over it) -> you are OK with it.

                                        I’ve never been OK with RMS so I’m not sure how you figured that I am “OK with it”.

                                        DHH decrees he will willingly disassociate from other people (by severing his working/professional relationships with them) over what he calls “politics” -> you are OK with it. Other people respond in kind to any of the above people/entities by saying “in that case we choose not to associate with you” -> you think it is “sad to hear”, and shake your head at “the times we live in”.

                                        I never said that people don’t have a right to disassociate with DHH. My point was that even though DHH leads the project, there were other 3999 developers that worked on this release. It’s sad to see developers ignore other developers’ work simply because they don’t agree with the tweets of the person that approved the pull request. Just like it would be sad to see people drop Emacs because RMS wrote a lot of its code. Or people drop Linux because Torvalds can be a douche sometimes.

                                        I hope now I’m clear on this topic. Have a great day.

                                2. 3

                                  I’m one of those people not interested in touching Basecamp products ever again. It’s interesting seeing this update though, it was the first framework I was introduced to back in 2010 or so. I had an apprenticeship at a Rails shop in Boston.

                                  Anyhoo, SvelteKit is a joy to use, I don’t have many complaints.

                              2. 7

                                I see lots of Rails jobs on job boards