> I've taken a couple of long lived Rails apps from Rails 1 to Rails 4 and while there have been breaking changes with > each major version change (and some minor versions) in general it's pretty easy to keep up with the latest > versions and there are copious docs (even whole ebooks in some cases) to walk developers through the changes.
Composable libraries instead of plugins avoids the biggest problems that Rails faces. In my experience, the toughest issue with upgrading old Rails apps is upgrading the plugins. I recall last year I was given the task of upgrading an old install of Redmine. I struggled with it for 2 days -- the app itself was easy to upgrade, but all the old plugins broke. I offered to fix them all by hand, but I estimated that would take me a week or two, at which point management decided that the problem was no longer worth it, so they decided to live with the old version of Redmine until such time as the whole thing could be replaced entirely. The world of Rails, and the world of Ruby, has evolved, and nowadays plugins are just gems that follow some conventions. Which is to say, Rails has been moving in the direction that Clojure is already in. But Clojure is out in front on this issue. In the Clojure eco-system, if you use the word "plugin" you are probably talking about lein, or maybe Stuart Sierra's Component system. The conversation is happening at higher level than in the Ruby world. I think it is a sign of failure when you have to do what we did with Redmine -- give up any hope of upgrading it and instead wait till you can replace it entirely. At least so far, I have not see than come up in any Clojure project I've worked on, though I acknowledge Clojure projects don't have the age of old Rails projects. If, 10 years from now, Clojure has the reputation that upgrading rarely hits the "we must replace this entirely" problem, then I think we can say, in absolute terms, that Clojure is superior than Ruby. And this would also be true in the specific category of "web frameworks". On Monday, May 4, 2015 at 8:09:35 AM UTC-4, Sean Johnson wrote: > > > > On Monday, May 4, 2015 at 4:41:02 AM UTC-4, Sven Richter wrote: > > All in all this is basically the direction I want to go with closp and >> closp-crud. The intention is not to have a webframework, but to automatize >> steps that need to be done manually otherwise. >> > > One potential problem with this "web framework" as app template approach > is upgrade-ability. When 2.0 of your "framework" comes out, what happens > to an app generated from 1.0 that wants to benefit from the new > capabilities? > > It's not a showstopper to the approach. It's just something to think hard > about. I've taken a couple of long lived Rails apps from Rails 1 to Rails 4 > and while there have been breaking changes with each major version change > (and some minor versions) in general it's pretty easy to keep up with the > latest versions and there are copious docs (even whole ebooks in some > cases) to walk developers through the changes. > > Cheers, > Sean > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.