The long-awaited 3.0 release of Appcelerator has finally arrived in the form of Appcelerator Entourage, a refocused take on the Appcelerator rich web SDK with an emphasis on modularity and integration with existing projects.
Appcelerator Entourage still offers the same power and expressiveness of the old Web SDK, featuring revamped versions of the four key technologies that make our rich web SDK unique:
- Publish/Subscribe programming model in the web browser through flexible custom messages (events)
- A domain-specific language for common RIA programming tasks, such as DOM manipulation, event handling, and remote server requests
- A framework for integrating third party widgets in a unified API, which is available both declaratively and unobtrusively
- Server-side service brokers which can subscribe to and handle messages, publishing results back to the client.
The Appcelerator Entourage
Before we introduce you to your new retinue for elegant open web RIA, let’s tackle one of the elephants in the room from the move from 2.x to 3.0. One of the first things you’ll notice about Entourage is that there is no longer a command line utility for creating and managing your applications. One of the lessons learned over the course of working with Appcelerator applications in the wild is that developers are not often starting from a green field (nor do they necessarily want to start a new project our way), so they needed a better alternative for dropping Appcelerator into their applications. All of our Entourage download packages are designed to be dropped into any existing application with minimal effort. For example, all of our client-side packages can simply be unzipped into the webroot of an application, and once entourage.js is included on the page, everything is set to go. Check out our documentation site for more info on how to get started with an Appcelerator Entourage project.
The other change you will notice before even downloading an Entourage distribution is that you now have a number of choices for which pieces of Entourage you wish to include in your project. In the CLI days, you created an Appcelerator application with the kitchen sink included by default. With Entourage, you can still have the kitchen sink along with a service broker for your platform of choice (be it Java, PHP, Google App Engine, or more), but now you can choose from three new Entourage packages for client-side only development. All of these packages currently bundle jQuery 1.3, but future releases will be third party library agnostic (more to come on that later). But without further adieu, I give you the Appcelerator Entourage packages:
The Yellow Package
The Yellow Package contains jQuery 1.3, core Entourage libraries, and Entourage Message Queue (MQ), the spine of all Entourage-powered applications. The Yellow Package allows you to use our $MQ* macros to send and receive custom messages, as well as communicate with a service broker, RESTful web services, or Ruby on Rails controllers through the use of message naming conventions. The Yellow Package contains the core elements you’ll need to do event-driven UI in JavaScript and integrate back-end services into your client side messaging system. Download it today and give it shot.
The Blue Package
The Blue Package contains everything provided in the Yellow Package plus Entourage Expressions, a terse and expressive domain-specific language for browser RIA development. Entourage Expressions allow developers to add dynamic behavior to HTML elements (either declaratively or unobtrusively) using a simple syntax. In addition, the Blue Package also provides form validation utilities, state machines, and other goodies that will help accelerate your UI development. The Blue Package will speed up your RIA development by trimming JavaScript cruft and providing a natural syntax for doing 75% of the programming necessary for browser RIAs. Download it today and give it shot.
The Red Package
The Red Package contains everything provided in the Blue Package plus Entourage UI, which is both a set of widgets you can use out of the box and a framework for creating or integrating existing widgets. In the 3.0 release, the Red Package integrates great widgets from the jQuery UI and YUI component sets alongside Entourage originals such as the new and improved iterator and folder widgets. The high level widgets available in Entourage UI will help you spend less time developing rich controls and more time developing your application. Download it today and give it shot.
Service Broker Packages
Entourage also provides service brokers for a variety of server-side programming languages and frameworks. The Entourage Service Brokers provide a simple RPC mechanism for invoking server-side services and integrating those services into the client side message queue. The Service Broker download packages come with all of the client side functionality available in the Red Package, plus all the server-side components you will need to power the service broker. Download it today and give it shot.
Under the hood – changes from 2.x to 3.0
Aside from a snappy new name and logo, Appcelerator Entourage internals look quite a bit different than they did in 2.x. Arguably the biggest change is that Entourage is no longer coded against a specific Ajax library, as was the case with 2.x using Prototype and Script.aculo.us. Entourage is coded against a standardized Ajax, DOM manipulation, and visual effect API we call ‘Swiss’. What that means for developers is that in future releases of Entourage, you can simply drop our JavaScript file in alongside an Ajax library (we currently only support jQuery 1.3, which is included in our JS deliverable) for which there is a Swiss API implementation. This will allow developers to use Entourage with jQuery, Dojo, Prototype, MooTools, or other libraries that can support the Swiss API.
As I alluded to earlier, the code has been and is continuing to be refactored to be more modular and to enforce a better public and internal JavaScript API. You will notice that on our documentation site, we are by and large doing a better job documenting our public JavaScript APIs, so that fewer bits of functionality remain buried on line 14678 of entourage-debug.js. This will be a continuing effort as we try to shrink the size of our deliverable and optimize our code.
You will also notice that widgets in the “app:” namespace and some of the 2.2.x controls are not being brought forward into 3.0 – there are a variety of reasons we chose to do this, one of which being the majority of the app: widgets went unused and were not in a great state of repair. The other reason for this is that we should not be re-inventing the wheel – if jQuery UI has a great tab panel, are we really doing anyone any favors by implementing our own? In that spirit, we will seek to assemble best of breed components where we can and only add new ones where we can add value into Entourage that does not exist elsewhere, like our unique iterator widget. We believe that you will find most of the useful widgets were brought forward – if not, please post in the developer community and let us know what you miss from the old widget set.
Conclusion
There’s been quite a few changes from 2.x to 3.0, but we think for the better. We tried to position ourselves to spend development time only where we add value for you, and we think that for the most part we have done that for 3.0. We look forward to getting your feedback in the developer community and on IRC – remember to stop on by at irc.freenode.net in the #appcelerator channel. We’re on most of the time and are happy to help answer questions. Thanks for your time, and code strong!
Popularity: 16% [?]















{ 1 trackback }
{ 0 comments… add one now }