BT

Overview of the Appcelerator RIA Platform

by Jon Rose on Sep 07, 2008 |

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.

The Appcelerator site provides a detailed answer to the question, "What is Appcelerator?"

Appcelerator is a fully-integrated RIA + SOA platform.

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...

After understanding the "What," InfoQ asked Quinlan, why software professionals should consider using Appcelerator:

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:
  • DOM events (click, focus, blur, change, mouse events)
  • key events (up, down, press)
  • other (history, drag/drop, selected, resize, iPhone orient, sortXYZ)
  • subscribe to custom message
Actions:
  • Scriptaculous effects (show/hide, fade, move, scrollto, drop, grow, highlight, morph, ...)
  • set element value (static, dynamic, bind)
  • set CSS class or attribute
  • execute custom JavaScript
  • publish custom message
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).

Then, InfoQ followed-up, asking Quinlan if an SOA backend is required:

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.

http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html

InfoQ asked Quinlan what else InfoQ readers need to know about Appcelerator:

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.

Shortly after InfoQ.com interviewed Quinlan, Appcelerator announced a license change from GPL to the Apache2 license. Appcelerator CEO Jeff Haynie anounced the change in his post "Appcelerator announces licensing changes; bye-bye GPL."

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.

Learn more about Appcelerator at: http://www.appcelerator.com/

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

This looks awsome! by Shimon Amit

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.

Shimon Amit

Re: This looks awsome! by Matthew Quinlan

Glad you like it Shimon!


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.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT