Ruby-On-Rails Authors: Liz McMillan, Pat Romanski, Elizabeth White, Hovhannes Avoyan, Yeshim Deniz

Related Topics: Ruby-On-Rails, Machine Learning , RubyonRailsSeminar.com

Ruby-On-Rails: Article

The Jury's Still Out On Ruby On Rails (RoR) and AJAX

"As far as the landscape goes, there will be a place for all these technologies."

In most cases I'm a patient and tolerant person. Once you get to know me, I'm easy to get along with, occasionally complex, but not very often. My patience and tolerance has pretty much gone out the window in the last week or so. It all stems from two technologies: Ruby On Rails (RoR) and AJAX.

Now let's be fair, no one really gave a garbage-collected object about AJAX until those boffins at Google brought us the "suggest" and maps utilities (this is what happens when you give programmers spare time; they come up with good stuff). What followed were Web sites, APIs, tutorials, and more applications than you can shake a stick at. JavaScript used to be a dirty word among Java programmers a number of years ago. At one point you may as well have called JavaBlogs JavaScriptBlogs.

We used to laugh, have secretly coded words when talking among JavaScript programmers, just to make them feel out of place. JavaScript was the annoying little brother that got in the way when you were trying to impress your new girlfriend. Now VCs are rubbing their hands together waiting to throw money at the next line of AJAX-fueled apps. For about two days I was thinking, "I may actually have to learn some of this stuff," then I came to my senses and thought better of it.

My main problem with all of this goes back to my original problem with all JavaScript things from years ago - browser compatibility. I still can't, to this day, get an AJAX app to work on my Pocket PC version of Internet Explorer (in fact I still can't get a decent JVM for it either). Another issue for me is that everyone has conveniently forgotten about testing any of this stuff with a dial-up connection (or at least it's never mentioned). Is a user seriously going to sit and wait for the data to bounce to and fro every time the mouse moves? Don't get me wrong, there are some real nice applications about, but at the end of the day AJAX is still the name of a cream cleanser in the UK. I usually wash the sink with it.

The arguments, agreements, and articulate announcements about RoR are also currently, in my opinion, spiraling out of control. It sort of reminds me of the same sort of arguments regarding Python and Java a couple of years ago. Ruby, as a language, has been kicking about for years but never really broke into the mainstream. RoR came about from a project management tool for 37 Signals. Now even the most seasoned Web app programmers can be in a complete giddy spell on how they can knock up a MVC-type Web app in, well, a bit less time than before.

I thought we'd gone beyond this "technology x is better than technology y" debate when .NET was supposed to be the biggest threat to humanity. We all gave it six months to blow over and then the landscape was quiet once again. Now the soothsayers are out again with their scythes of code reduction telling me that RoR will replace Java in the way that Web apps are done. The Java camp seems to be extremely defensive and a touch prickly toward the arguments, any argument in fact, and in some respects it's how we react to these comments that make us easy prey with the emerging technologies.

As far as the landscape goes, there will be a place for all these technologies. Some will be adopted more than others. Would you write a multi-language banking application in RoR? I wouldn't. What I do keep in my tool belt is a fresh open mind to new things. I looked at RoR, played with it, tried a few things, and thought, "Not for me now" and uninstalled it. More to the point I have more than enough paid work in Java, PHP, and a heap of other things. So I tend to go where the money is calling to make sure there's food on the table.

Where do I stand in all of this? AJAX, well I've seen good uses and some pretty dreadful ones too. These are just the baby steps of what's to come with AJAX-driven apps. I still need some convincing whether we'll all be lapping up AJAX apps to every Web site we ever go to. And where there is JavaScript, there are browser-compatibility issues.

With Ruby On Rails, I'm taking a back seat for six months to see what happens. I don't jump on these things easily, just like I didn't jump on Python. There is a place for it but I still think it's in the realms of the developer fantasy of "this might take over the world one day," when the rest of people really couldn't give a hoot about what language it was written in.

As a client said to me yesterday, "I don't care what you use, as long as it works." I feel the same. Enjoy what you enjoy.

More Stories By Jason Bell

Jason Bell is founder of Aerleasing, a B2B auction site for the airline industry. He has been involved in numerous business intelligence companies and start ups and is based in Northern Ireland. Jason can be contacted at [email protected]

Comments (10) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
jhujsak 10/03/06 04:03:26 PM EDT

Once you get over the inevitable hype curve, you realize that Ajax is just another tool in the developer's tool box. In particular, it's a great panacea for implementing complex, adaptive, data driven Web forms. Instead of managing a complex state machine with interdependent server and client side scripting, you just modify the form in place as the user provides more data. That alone makes Ajax worthwhile. Sure, the new graphical Ajax driven interfaces are fun to play with but at then end of the day it's all about managing data efficiently. That's where Ajax shines. It helps you achieve a nice, tight, minimal implementation while avoiding abstruse and convoluted code.

Lee Hericks 09/19/06 10:16:23 PM EDT

First, let me say that while AJAX is fun, it is not always a best solution. Programming web applications with Ruby on Rails is insanely easy once you learn the conventions. You have to get a feel for the Ruby language first. Then you understand why things are done the way they are. First, hooking up to a database is easy. You add your username and password to the generated database.yml file. Then you develop models in a structured application directory. There are many helpers to easily allow you to model complex relationships, and ActiveRecord will convert the data into objects. I have programmed in PHP and Java, and I tried to learn Hibernate. It is just too complex. Active Record says good bye to boring SQL and hello to OO-style data access. Then, as if that wasn`t cool enough, throw in controllers, actions, and views. Add one line hooks and filters to easily check that a user is logged in or to log web activity. RoR is an amazing and simple framework. It is very true that it`s a new way to program and looks at conventions, but it`s what we have been preaching for the longest time in Software Engineering class, follow best practices. Some amazing web developers and a growing community are pouring great ideas into this project. I will agree with you that the jury is still out for AJAX and best uses of it, but the Prototype Javascript framework has great cross-browser support and that`s why so many web frameworks use it. Even better, Prototype creator Sam created code so you can type easy ruby and have it sent over as javascript. Delete an element on the page? page.remove `elementid`. Simple. Anyway, I understand that it takes a bit of learning to really utilize RoR, but the time saved is money earned, and RoR has internationalization. It could handle your banking app, and the code base could easily be organized. For more on the ease of development, you should see Active Records Migrations and Testing. Some really cool best practices here. Cheers! Lee.

j j 09/19/06 05:15:47 PM EDT

In most cases I'm a patient and tolerant person. Once you get to know me, I'm easy to get along with, occasionally complex, but not very often. My patience and tolerance has pretty much gone out the window in the last week or so. It all stems from two technologies: Ruby On Rails (RoR) and AJAX.

n d 09/19/06 04:56:57 PM EDT

In most cases I'm a patient and tolerant person. Once you get to know me, I'm easy to get along with, occasionally complex, but not very often. My patience and tolerance has pretty much gone out the window in the last week or so. It all stems from two technologies: Ruby On Rails (RoR) and AJAX.

Thor 06/23/06 12:47:41 PM EDT

I think that it is a myth that you are tied to rails conventions. Dig around in the config directory sometime. You can override most rails conventions with your own if you want to.

Dion Hinchcliffe 03/05/06 01:01:18 PM EST

Jason, I'm afraid I have to disagree with you on this occasion. Ajax and RoR are two of the most exciting and compelling things I've seen on the development scene in almost half a decade. The cautionary tale of Python is an appropriate one but it's never a language that looked very good under scrutiny. Ruby, however, very much does. I think you can safely bet heavily on both Ruby and RoR today for a number of solid reasons.

Dion Hinchcliffe
Web 2.0 Journal

SYS-CON India News Desk 03/03/06 03:05:46 PM EST

In most cases I'm a patient and tolerant person. Once you get to know me, I'm easy to get along with, occasionally complex, but not very often. My patience and tolerance has pretty much gone out the window in the last week or so. It all stems from two technologies: Ruby On Rails (RoR) and AJAX.

Jason Bell 11/30/05 06:36:05 AM EST

RMX, I agree with what you say.

I've been playing with Rails again over the last seven days and I stepped out of Rails conventions my development ground to a halt. That's no fault of anyone, it's just a case of that's how it is and you have to adapt.

Jason Bell 11/30/05 06:30:53 AM EST

Following on from my article I have now seen (and verified) that Ajax does work on the PocketPC.


Plus it gives a mention that Opera have implemented it in their mobile edition browser.

RMX 11/30/05 04:17:02 AM EST

You write "I don't jump on these things easily, just like I didn't jump on Python. "

Yeah.. and that newfangled Structured Programming just might catch on too; and those dangerous toys like Object Oriented and Functional programming are just so far out there they'll need decades to settle down before I'd jump on that train.

More seriously, Ruby and Rails are the right tools for some jobs (database-backed web apps) and not others (legacy backends that don't follow the rails conventions).

AJAX is the right tool for some applications (intranet applications where you have control over the browser) and not others (general web apps where devices like cell phones are an increasing share of the users).

And neither are the final solution to end all progrmaming languages. Just as dynamic languages with very rich OO features(Python/Ruby) are displacing the less rich static OO languages (Java/C#) and those in turn had largely replaced the previous generation of hybrid OO languages (C++/Objective C) - future languages will bring even more developer efficiency and displace Python and Ruby.

IoT & Smart Cities Stories
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use of real time applications accelerate, legacy networks are no longer able to architecturally support cloud adoption and deliver the performance and security required by highly distributed enterprises. These outdated solutions have become more costly and complicated to implement, install, manage, and maintain.SD-WAN offers unlimited capabilities for accessing the benefits of the cloud and Internet. ...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
The Founder of NostaLab and a member of the Google Health Advisory Board, John is a unique combination of strategic thinker, marketer and entrepreneur. His career was built on the "science of advertising" combining strategy, creativity and marketing for industry-leading results. Combined with his ability to communicate complicated scientific concepts in a way that consumers and scientists alike can appreciate, John is a sought-after speaker for conferences on the forefront of healthcare science,...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Poor data quality and analytics drive down business value. In fact, Gartner estimated that the average financial impact of poor data quality on organizations is $9.7 million per year. But bad data is much more than a cost center. By eroding trust in information, analytics and the business decisions based on these, it is a serious impediment to digital transformation.
DXWorldEXPO LLC announced today that Ed Featherston has been named the "Tech Chair" of "FinTechEXPO - New York Blockchain Event" of CloudEXPO's 10-Year Anniversary Event which will take place on November 12-13, 2018 in New York City. CloudEXPO | DXWorldEXPO New York will present keynotes, general sessions, and more than 20 blockchain sessions by leading FinTech experts.
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Ben Perlmutter, a Sales Engineer with IBM Cloudant, demonstrated techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, faster user e...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science" is responsible for guiding the technology strategy within Hitachi Vantara for IoT and Analytics. Bill brings a balanced business-technology approach that focuses on business outcomes to drive data, analytics and technology decisions that underpin an organization's digital transformation strategy.