> 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.

Reply via email to