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
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...