By mpapis
via niczsoft.com
Published: Apr 03 2009 / 09:59
Lately netbeans remainded me about something that makes great marketing for Ruby on Rails - ability to create application in 10 minutes.
By example you can have a look on the netbeans tutorial. Everything looks great, sometimes You can even create the application in 10 minutes …
Lets think what You will get in this 10 minutes:
* Scaffold of application … without head or legs
Thats all, the application generated in 10 minutes does not have authentication, it does not have administrative part. Of course there is a lot of plugins, that helps to add functionality to Yours application. But wait a minute, authors of this plugins cant catch up stable rails.
Each few months we have new rails version, and each version is requiring application changes, this is endless. After You finish migration to newest rails, after You find new plugins there is new rails version - and the wheel spins again.
Comparing to other applications rails is getting new releases at least twice offten, that would be good if it would have one stable base, but not, the base is changing each few months.
And what is the plan, four months after rails 2.3 we will have rails 3.0, it will be more like rails or maybe more like merb? Hopefully it will start slowing down a bit, as it requires now very big efforts to maintain application and keep it up todate.
Somebody would say “You can freeze rails, gems and plugins” - yes I can, but I can not freeze my developers, they will learn new rails version, and after one year I will have a team of experienced developers in rails 4.0 or even rails 5.0 and application with frozen reail 2.3 … and try to migrate when the core was rewritten three times during last year.
Assuming having steady framewoirk with “broken tables” like Java or less broken DJango makes a lot more work on begining, but development stacks are available, the documentation is more complete, and the major version changes once for few years, this allows developer to understand and modify application code even after ten years.



Comments
MCII replied ago:
I wouldn’t have known…
John Munsch replied ago:
I'm not voting this down just because I'm a Rails fan. I see some good criticism of Rails on a regular basis, but this is just way misguided. Java saw periods of massive growth and change as well that left companies and individuals scrambling to deal with them (EJB2 -> EJB3 transition anyone?). The point of "__________ in 10 minutes" videos is not to say that that is a practical way to develop anything, but rather to show how much can be accomplished by a skilled developer in a short period of time.
In the case of Rails it is additionally a vehicle to show off that the Rails framework doesn't exist in a vacuum but rather in an ecosystem of hundreds of great plugins to give you features for your web apps. That ecosystem is something a lot of the other frameworks out there lack.
sproketboy replied ago:
Who cares how long it takes to create a simple application. I can create a Java application - (heck even ASP MVC app in 5 minutes). So what?
It's the long term maintenance that counts.
Michal Papis replied ago:
John,
Regarding transition EJB2-3 there is no transition needed it's backward compatibile, EJB2 is working with EJB3 aware server and You can mix both.
And the Rails ecosystem, it's great, but:
1) You have to be sure that the plugin does what it should (most problematic is security), I know code review of each plugin should be done before it is used.
2) The plugin may be unmaintained, and if You have luck somebody takes care of it, if not You have to maintain it or change solution.
3) There is no so called API, the code changes each few months and plugin just stops working, and better You can not migrate until all plugins are migrated.
To see more interesting discussion please see comments on my blog: http://niczsoft.com/2009/04/ruby-on-rails-application-in-10-minutes-is-a-myth/#comments
Voters For This Link (8)
Voters Against This Link (5)