Appcelerator Widgets

With Appcelerator’s Widget Framework, you can use any widget you want. Appcelerator's RIA Widget Framework not only allows you to create new widgets, but you can easily wrap existing third-party widgets from Yahoo (YUI), ExtJS - and even Adobe Flex Appcelerator widgets – or create new widgets with the Appcelerator Widget API. All widgets have the added benefit of being fully integrated with Appcelerator's message-oriented architecture.

Appcelerator Widget Framework

Appcelerator Widgets encapsulate a set of reusable behaviors and/or capabilities. Widgets can be visual or non-visual. An example of a non-visual widget is our <app:script> widget, which allows you to write Javascript that gets executed on page load or based on an "on" expression that you define.

Visual widgets have two parts: view and behavior. A widget view is constructed using HTML and CSS and widget behavior is defined using Javascript. All Appcelerator Widgets are built using our Javascript Widget API.

Even though Appcelerator widgets are built via Javascript, you incorporate them into your application via simple markup - no Javascript required.

Our goal is to help our community to:

Find Widgets

The Appcelerator Developer Network provides severals ways for you to find widgets. You can search for widgets by name or description, browse by a particular tag, or simply view all widgets.

Build Widgets

The Appcelerator RIA Widget Framework provides a simple Javascript API for building new widgets. The framework also makes it easy for you to add documentation and examples to your new widget. Once your new widget is completed, you can upload it to the Appcelerator Developer Network where it will be automatically made available to the community and added to our widget documentation.

Integrate Existing Widgets

The Appcelerator RIA Widget Framework also makes it easy to integrate existing third-party widgets like those from Yahoo (YUI), ExtJS, and even Flex.

Learn more about the Appcelerator Widget Framework in the Appcelerator Developer Network.

Web Expression Language

Building RIAs with Appcelerator is easy because we provide you with a fully integrated RIA programming model. Our Web Expression Language is the foundation of this model. It turns standard HTML elements into dynamic RIA components that can easily send and receive messages and dynamically change their visual appearance. You can also use standards like HTML and CSS and leverage our large set of pre-existing widgets - all in one integrated platform.

Learn more about Appcelerator’s Web Expression Language in the Appcelerator Developer Network.

SOA Integration Points

SOA Integration Points are language specific service platforms. There are SOA Integration Points for Java, PHP, Ruby, .NET, Python and Perl. They are fully integrated with Appcelerator's message-oriented architecture, which enables developers to focus on writing services in their programming language of choice without having to worry about things like data marhsalling.

Architecture

Appcelerator is a fully integrated platform that enables RIA + SOA. What is RIA + SOA? It’s client/server for the web. RIA refers to rich Web 2.0 user interfaces, and SOA refers to the services that are consumed by RIAs. The Appcelerator Platform provides everything you need to build next generation of RIA + SOA-based applications. The Appcelerator Platform is based on a message oriented architecture – where ALL components in an Appcelerator application communicate via simple lightweight messages. HTML elements can both send and receive messages – and all Appcelerator services are message-driven.

Message Oriented Architecture

The foundation of the Appcelerator Platform is its Message Oriented Architecture. What this means is that ALL components in an Appcelerator application communicate via simple lightweight messages. HTML elements can both send and receive messages and all Appcelerator services are message-driven. The following diagrams illustrate how local and remote messaging work in Appcelerator.

Local Messaging

local messaging diagram The diagram to the left demonstrates the flow for local messaging within the browser. There is one <DIV> element which generates the local message, and there are two other <DIV> elements which have subscribed to the local message. The Appcelerator Message Broker takes care of all of the message routing - both local and remote. For more information on how Appcelerator handles local and remote messaging, please watch the screencast.

Remote Messaging

local messaging diagram This second diagram demonstrates the flow for remote messages. Remote messages can be sent to both HTML elements in the browser and to remote services. The Message Broker in the browser handles communication with the server-side Service Broker. The Service Broker is responsible for routing services and data marshalling. Our integrated services platform provides Service Brokers for Java, Ruby, PHP, .NET, Python and Perl. For more information on how Appcelerator handles local and remote messaging, please watch the screencast.

The Web Expression Language turns standard HTML elements into dynamic RIA components. It provides seamless integration of the major RIA programming tasks: event handling, DOM manipulation and Ajax. The Web Expression Language can be enabled by simply adding a on attribute to an HTML element - no Javascript required!

The RIA Message Broker manages all client-side messaging as well as the messaging with Appcelerator services. It’s fully integrated with the Web Expression Language in order to make it easy for developers to message-enable HTML elements.