Ajax On Rails 235
mu-sly writes "Ajax and Rails - probably two of the biggest buzzwords in web development at the moment. In this article over at ONLamp, Curt Hibbs introduces the incredibly powerful Ajax support that is part of the Ruby on Rails web application framework. It's a great read, and serves as a gentle introduction to the cool stuff you can accomplish with ease using the Ajax features of Rails."
Rails, great for those fed up with J2EE. (Score:5, Interesting)
Even when using newer frameworks like Spring, Tapestry and Hibernate (I hate you so much Struts) Rails still manages to be easier.
I highly suggest any developers looking for a change of pace at least give Ruby on Rails a few hours of your evening. While it's not nearly as comprehensive as Java, it's gaining libraries and functionality by leaps and bounds.
And just so I don't get labeled as a Rails fanboy/Java basher: Rails is not perfect, I still would recommend using J2EE for large corporate projects. It's just a much more mature solution with less unknowns. I think Rails needs another year at least before people are ready to really give it a shot in the corporate environment.
Substitute for s (Score:2, Interesting)
Re:Rails, great for those fed up with J2EE. (Score:3, Interesting)
RoR, IMHO, is a major step forward to web deployed applications becomming mainstream.
Re:Which is the bigger irony: (Score:3, Interesting)
This isn't quite correct. IFrame and hidden IFrame communication was invented before that. The catch is that browsers weren't stable enough or compatible enough to make use of these channels.
XMLHttpRequest does more or less the same thing as an IFrame (via an ActiveX contarol), except that it adds the overhead of an XML parse. AFAIK, Google doesn't use the XMLHttpRequest for any of their applications.
Re:Rails, great for those fed up with J2EE. (Score:3, Interesting)
Our company recently tried to do a web-project (workflow management application for a publishing house) based RoR. It was a spectacular failure - LOTS of things are mostly absent from RoR: caching and transaction support, object-relational mapping is inferior (yes, ActiveRecord is NOT enough), etc.
RoR is nice, but it needs lots of polishing and some redesign. In its present state RoR can't be compared with J2EE solutions, they are far more powerfull and _flexible_.
Rails changes the whole Web development game (Score:4, Interesting)
I've also developed a large marketing system for the restaurant industry in Rails which lets restauranteurs develop e-cards, e-gifts, and send them to their customers on certain days.. or certain days away from their birthdays, etc.. and that will be going fully live soon.
My 10,000 user strong RSS Digest [bigbold.com] will be making the leap to Rails soon (July 1st) and this is a system driving over half a million uses a day.
I developed a del.icio.us-style tagged Code Snippets [bigbold.com] site in Rails within two days! It's had further refinements since then, but less than two weeks after launch, it was getting thousands of pageviews a day and hundreds of visitors a day from Google.
I was ready to give up development work 6 months ago, and now it's the most fun and profitable work out there for me. Ruby on Rails deserves the attention it's getting. You can put together your ideas in a fraction of the time you'd have ever imagined.
Re:Rails, great for those fed up with J2EE. (Score:4, Interesting)
Ruby can't do complex things java can??? You meant rails, probably, and such confusion of terms is not a good sign.
Have you checked out the latest rails versions' API? I see transaction support and caching of db data and cgi actions too.
As for the 'inferior' object relational mapping: indeed Active record tries to keep things simple: I'm grateful for it. Rails developers got too far sometimes, as you see if you have a column named 'type' in your tables
But, that's not being inferior, it's being different. If your app requires convolute mappings, either extend active record to suit your needs or do without it (possibly dropping rails altogether and wasting precious ram with a JVM
Re:Dont Forget Zope (Score:3, Interesting)
I recenty became the web administrator at a small university and the college I work for uses Zope. I knew a little Zope and Python beforehand and it helped me get the job. I was all hot and heavy to switch them to a PHP/MySQL solution, though my first love is Perl. Doing stuff in PHP was fast. As I studied Zope and Python more and more I came to realize that my initial impression was correct. It does have a steep learning curve (Zope not Python), but it is very powerful and reasonably fast. I'm not crazy about ZODB. I'll keep Zope put it behing Apache and connect to MySQL when I redesign the site. Also I'll throw Plone [plone.org] on top.
What does this have to do with Ruby and Rails? Not much. The user base of Plone/Zope/Python (8) is much smaller than the PHP (5)/MySQL crowd. The Ruby (23 [tiobe.com]) on Rails is even smaller than the Plone crowd.
Re:Rails, great for those fed up with J2EE. (Score:3, Interesting)
Re:Ruby on Rails as a threat to PHP? (Score:3, Interesting)
Re:Rails, great for those fed up with J2EE. (Score:4, Interesting)
This, I think, is the crux.
My company has a library, too, that makes certain assumptions about the DB. We're really wicked-fast when using it, when building an app from the gound up. It has hooks for overriding some assumptions, so we can shoe-horn it in to some other projects. But if the DB is hopeless, the game is over, and we have to do things like everyone else.
And nearly every company out there has a hopelessly messy DB, that can't be refactored because of X, where X is legacy apps, no money, management resistance, [...]
Hell, even Hibernate/middlegen has a problem related to this: all it takes is one clueless app developer that scorns DB constraints, and you have a Situation that can cost 10s of K to fix.
Rails is neat (I'm a pretty big perl bigot, and I like it), but it isn't designed for integration. Folks playing around with it should recognize that up front, so that they don't try to do the wrong thing with it.
Re:Rails, great for those fed up with J2EE. (Score:5, Interesting)
True, you can't just drop J2EE on your desktop because there's no such _thing_ as J2EE. J2EE is a set of standards (which contains just about everything).
The only things you need to start developing J2EE applications are: Tomcat (http://jakarta.apache.org/tomcat/index.html [apache.org]), optionally a web-framework (like http://jakarta.apache.org/tapestry/index.html [apache.org]) and you can start developing tomorrow (if you know Java of course) and a decent IDE (http://www.eclipse.org/ [eclipse.org]). It will cost you about $0.
Java has some metaprogramming featues starting from version 1.5. Right now we're writing application in C++ and Python, so I don't miss metaprogramming features
RoR is extensible, but some features are just very hard to implement: maintaning persistent object identity, complex mappings support, distributed caching and long-running transactions with optimistic locking.
We had previous expirience in dynamic languages (Python, Perl, PHP). This project was a sort of expirement - we wanted to see what can be done with RoR.
ASP.Net 2.0 Rocks! (Score:1, Interesting)
A few new things...
Complete separation of code and HTML (code behind). No more generated-on-the-fly HTML by some snippets of code everywhere in your HTML (ala PHP). The code is compiled as well, and it'll run faster than all the parsed & interpreted stuff (like PHP). It makes it harder for others to shamelessly steal your code.
Caching! A new and very powerful feature. Pages have output caching - no need to render it every single time it's requested. It also caches the data source - no "trips" to the SQL server if the data hasn't changed. (Used with stored procedures, you get VERY fast and scalable app).
Sessions have been improved. They are shared across all webservers in a cluster. The new profiles are very powerful. No need to save or retrieve them either. As soon as a user logs in, you can start using their full profile and make modifications to it.
Login system (Forms, NTLM, etc). Are you sick yet of creating a new user manager for every new project? Well, that's history. With ASP.Net 2.0, you can have complete LogIn, CreateUserWizzard, ChangePassword, LostPassword solutions with exactly 0 lines of code to type - that's right! No code AT ALL! It's all taken care of by the
Sick of writing tons of javascript for onchange/onsubmit validation (as well as server-side validation) for every form? Well, again, there's form validation components. Nothing to code. Add them to your form (there's some RegExp validators too), and you're done. Major time saver!
Everything has excellent data binding (like, bind the "themes" or "skins" of all web controls to a user's preferences in his Profile - nothing to code at all!)
Tired of all the server side includes for headers/footers/menus? No need for that anymore! Master pages take care of it all.
WebParts let everybody pick different things they want (or don't) to see on their customized view of the webpage. Easy to use, and everybody has the web pages the way they want them. Definately welcomed!
New data access controls. More powerful, less code.
It's supposedly a LOT faster than J2EE.
Stability wise, it's a lot better too. It has health monitoring (can notify you) and it self-recovers.
Projects are easy to deploy on other servers.
And the new VS.Net 2005 really rocks
Have a peek! Guided Tour [asp.net]
I was wondering lately if I wouldn't be switching to another language/platform for web development, and I couldn't really pick anything superior. Well, I've found it. Nothing comes even close to it. It's not the usual "develop faster!" claims - this time it IS faster, you'll be amazed! And everybody else I've shown it to has adopted it too.
Bye bye Java, ASP, PHP,