One of the challenges that Web developers face is the propagation of various frameworks and libraries. These systems do good things, but they rarely interact with each other, and they often do not work well with your server-side tools and languages that you are using. Even when the systems seem to “play nicely,” they rarely all work in a standardized way. I spoke with Nolan Wright, cofounder and CTO of Appcelerator, to find out how its products are working to make it easier to use various Web widgets.

Appcelerator has created an open source platform (using the Apache 2 license) for working with Web widgets and controls. Nolan explained that this platform is designed to allow Web developers to focus on writing code (rather than trying to design Web pages) by providing high-quality components that look good without being “cookie cutter.” The widgets and controls in the Appcelerator platform are designed so that they can be easily restyled via CSS if you do not like how they look out of the box.

The Appcelerator platform uses a message-passing architecture to communicate with the client-side code. To work with the platform, you write code in Appcelerator’s “Web Expression Language.” Nolan said that because the Web Expression Language is designed just for working with Appcelerator, it does not take many lines of code to accomplish some big things. The company has created APIs for a variety of languages (Java, PHP, Python, Perl, Ruby, and C#) and frameworks (Google App Engine, Zend, Grails, Pylons, Merb, Spring) to access their platform. Your code is responsible for the business logic, data retrieval, interaction with the operating system, and so on. The Appcelerator libraries handle getting the information to the screen, generating the client-side code, and so on. The framework transfers data back-and-forth with the client using JSON, so it should be efficient. Code written in the Web Expression Language gets translated into JavaScript. They have also put out an Eclipse-based IDE for working with their platform.

Nolan said that the key differentiators between Appcelerator and other AJAX/widget libraries, is that Appcelerator is a full platform to develop to. Because they have created the Web Expression Language to act as a middle man, developers are not tied to any particular back end or front end technologies or programming languages. This allows developers to focus on writing their application instead of wrestling with third-party libraries. The message passing model allows developers to focus less on managing the platform and more on their own code. He also stated that the platform allows for easy testing and rapid prototyping unlike many other systems.

Nolan and I talked a bit about the non-technical end of Appcelerator as well. I asked him how they plan to monetize it; after all, no one wants to tie their horse to a cart, only to find out that the cart is headed somewhere that they do not want to be. Nolan told me that the SDK will always remain open source, and that they plan on building premium products around the platform, as well as offering services and support.

If you are currently looking into various libraries and frameworks for handling the client side of your Web application, you will want to evaluate Appcelerator. While this is an already saturated market, I feel that the overall quality and “fit and finish” of most of what is on the market just is not up-to-snuff for many environments. If you have any experiences with Appcelerator, I would love to hear them.


Disclosure of Justin’s industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.


Get weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic’s free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!