In the cloud

JavaScript toolkits and frameworks

In the cloud

The availability of toolkits such as Prototype and my own favourite, jQuery, means that when building a web application you don’t need to worry quite so much about cross-browser JavaScript and DOM (Document Object Model) compatibility. The developers of these toolkits have done all that work for you, so you simply use the toolkit calls and let the underlying code deal with the differences in the different browsers.

I’ve had a few discussions recently with people who don’t see why they need to use toolkits such as this – they prefer to use core JavaScript calls and handle any incompatibilities themselves – but I don’t understand this mindset, the “not invented here” attitude. Thousands of developer-hours have been poured into toolkits such as jQuery to ensure that they work well in every major browser, so why would you want to reinvent the wheel by doing it all yourself? At least one developer I spoke to recently told me that his company doesn’t let its web programmers use any third-party toolkits, which is insanity and I can’t think of a single good reason for adopting such an attitude. Sure, you don’t want to go overboard, but allowing your developers to standardise on one or two kits would save them a huge amount of time and get new applications out to the public far faster.

There have been two new open-source JavaScript frameworks released in the past couple of months, both specifically aimed at creating web applications rather than simple websites. The first is SproutCore, an MVC (Model, View, Controller) framework that provides the technology underlying much of Apple’s MobileMe service. It’s pretty easy to start developing using SproutCore, and it provides a lot of very nice features. Because it’s new, documentation and code examples are still being worked on, so it feels fairly “bleeding edge”, but it’s still definitely worth checking out. The MobileMe suite demonstrates that it can be used to create very impressive, desktop-like web applications and, with Apple’s support behind it, it’s unlikely to disappear any time soon.

SproutCore employs Ruby both to create the web application’s initial directory structure and to build the actual application, but you don’t have to be able to program in Ruby to use it: you just need to have Ruby installed on your development machine and to know the two or three commands you’ll be using to create the directory structure, and so on. The SproutCore system doesn’t rely on any particular programming language on the server side so you can use whatever you’re most familiar with. The downside is that it doesn’t support users who are still running Internet Explorer 6, which may sound like a non-issue given that IE7 has been out for at least a couple of years and is treated as a required upgrade by Microsoft. The sad fact is, though, that more than 20% of web users still employ IE6, chiefly because a lot of large corporations are not upgrading their systems to IE7, due either to the pain of the upgrade process or because they have corporate intranets that require IE6 to work. So if you want to use SproutCore to develop your web app you have to be willing to disenfranchise about a fifth of your potential audience.

The other new kid on the block is Objective-J and its associated framework Cappuccino. This is an exceptionally impressive piece of work, and could prove to be exactly what existing desktop developers have been waiting for. This framework was created at least partly to aid with the building of the 280 Slides web application, which is an amazing tool. It’s a web-based version of presentation packages such as Microsoft PowerPoint or Apple’s Keynote, and if you haven’t seen it yet you owe it to yourself to check it out and see just how impressive a web application can be.

Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.

Todays Highlights
How to See Google Search History
how to download photos from google photos