Overview of the Appcelerator RIA Platform

In this post, InfoQ discusses the Appcelerator platform with Matt Quinlan, Vice President of Community Development at Appcelerator. Quinlan highlights the strengths of Appcelerator and some of its common uses.

Appcelerator combines the usability benefits of Web 2.0-style, Rich Internet Applications (RIAs) with the reusability and flexibility of Service Oriented Architecture (SOA). This combination results in a "client/server for the web" development style...

Why? To see that it is possible for mere mortals to build rich internet applications (RIAs) based on Ajax, not just development teams composed of PhD carrying JavaScript ninjas like Google!

InfoQ inquired about the Appcelerator expression language:

The Web Expression Language is really just an expansion of the JavaScript event model used in traditional HTML (with slightly altered syntax). On some condition do some action. For example, you might have onClick="some javascript" as an attribute on some HTML element. With Appcelerator's web expression language you would have on="click then script[some javascript]". However, the list of conditions and actions available to the web developer with Appcelerator is much larger. Conditions:

This allows a developer to address event handling, DOM manipulation, and Ajax (via the custom messages) all in the same consistent manner that is extremely similar to how they address events (e.g. onClick) today.

To understand the messaging that enables our UI decoupling and Ajax see first page of http://doc.appcelerator.org. Think observer pattern & publish/subscribe rather than API calls.

InfoQ asked about deploying Appcelerator applications:

Appcelerator-based applications can run out-of-box in any JavaScript enabled web-browser (no plugins required). Simply include the appcelerator.js file in your HTML. We like to say, "We write lots of complex JavaScript so you don't have to". We support service-bindings for all six major web development platforms (Java/J2EE, .Net, Ruby, PHP, Python, Perl).

No, our client-side technology (web expressions, widgets, client-only messaging) can be used with traditional non-SOA-enabled web architectures. This is important to allow developers to adopt technology at their own pace (we call this the "crawl" stage). However, we strongly encourage developers consider building their web applications as service oriented UIs (SOUIs) that are essentially true web clients (built of HTML, CSS, & minimal JavaScript) that interact with the server only through asynchronous service calls (we refer to this as the "walk" stage). You don't have to generate your UI from server-side scripts anymore (see http://www.appcelerant.com/lipstick-on-cgi.html).

Quinlan then shared about Appcelerator Google App Engine support:

We provide a handy little swiss-army knife tool called "app" (similar to Ruby's GEM command) which allows us to many things including deploying your Appcelerator app directly to the Google App Engine cloud. You can also publish assets to the Amazon S3 cloud as well from the command.

The publish/subscribe messaging paradigm is EXTREMELY powerful and enables clean decoupling of user-interface elements from each other, and from the serverside. This architecture makes Appcelerator-based applications well-suited for offline (queue the messages, then flush), for testing (stop imitating clicks and just record messages... hint: they work cross-browser!), for prototyping (build fully functional prototypes with zero server code by mocking the server-side service in HTML), and for so many other concerns of web developers.

We've talked and listened to the community a lot in the past 6 months to understand how people want to use Appcelerator, how they are presently using Appcelerator and what types of things they would like to do in the future. We've clearly heard a very resounding theme: GPL is not the right license from a community perspective because of the implications that it brings to redistribution, especially as it relates to building web applications and how they are incorporated and downloaded by a web server. While we initially considered attempting to clarify our position on the GPL as it relates to these special legal concerns - I felt like we would essentially dilute the intent of the GPL license and that would defeat it's purpose. This was a clear indication that our license didn't match our business and technical goals.

The concept and architecture are exactly what I as a developer/architect am looking for! Cross platform, scalable, full stack, comprehensible! Could this be too good to be true? Please give us at least one good comprehensive GUI library we can work with. Not a lib based on Javascript objects from different projects.

I should mention that since this interview was completed we have released a new version of the Appcelerator Platform which includes brand new layout, design, and theme features intended to simplify the creative effort required to make a web applciation actually look nice (rounded corners, gradients, grids, control-level themes, etc.) These new features are currently in alpha, so they will be refined over the next several months as we collect feedback from the community.

InfoQ Weekly Newsletter

Join a community of over 250 K senior developers by signing up for our newsletter. If you are based in the EEA, please contact us so we can provide you with the protections afforded to you under EEA protection laws.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

By subscribing to this email, we may send you content based on your previous topic interests. See our privacy notice for details.

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.