REST is a powerful architecture because of its loose coupling design that facilitates a high level of interoperability. However, even the dissertation that defines REST states that one of the trade-offs of REST is that it “degrades efficiency, since information is transferred in a standardized form rather than one which is specific to an application’s needs”. That is, you might be able to achieve more efficient operation using a mechanism that goes beyond REST’s uniform interface, that is more specific to your application. This comes at the price of a loss of interoperability and should only be used if necessary, but with this in mind, let’s look at a good way to use RPCs that integrate with Dojo’s REST module, the JsonRestStore. This approach builds on the REST architecture, while allowing exceptions as needed.
Archive for January, 2009
Some RPC With Your JsonRestStore
Thursday, January 29th, 2009Debugging Adobe AIR Applications Using The Dojo Toolkit
Tuesday, January 27th, 2009In a previous post I provided the steps to get you up and running with Adobe AIR. I’ll continue with the debugging features available in AIR and the Dojo Extensions for Adobe AIR (dAIR). The Adobe AIR Introspector is a Firebug-like console that logs messages and has code inspectors. Its logging capability is good, but it’s made even better with code in the dair namespace.
New in JsonRestStore 1.3: Dates, Deleting, Conflict Handling, and more
Monday, January 26th, 2009The JsonRestStore is a Dojo Data store that provides a JSON-based RESTful interface to servers and implements the Dojo Data read, write, notification, and identity APIs. Since its addition in Dojo 1.2, it has been a popular Data Store because of its numerous features and its standards-based implementation of the HTTP specification (RFC 2616) for communications with servers. For Dojo 1.3, JsonRestStore includes a few extra features and some of the features in version 1.2 deserve a more elaborate explanation.
Platform Optimization Strategies for Ajax Toolkits
Thursday, January 22nd, 2009With the proliferation of real web browsers on mobile devices (iPhone, Android, Palm Pre, Nokia), an increasing number of browsers (Chrome) or browser-like platforms (AIR, Titanium, Jaxer), portal standards for widgets and gadgets (Caja, AdSafe, work by the OpenAjax Alliance, and much more), are the days numbered for a JavaScript toolkit that uses the same code base across all platforms without a compile step numbered?
Getting Started with Adobe AIR
Wednesday, January 21st, 2009As previously announced by Dylan Schiemann, SitePen has released the Dojo Extensions for Adobe AIR (dAIR) project that help make it simple to use Dojo into an AIR application. These extensions also simplify some of the more difficult AIR APIs by wrapping them and adding some syntactic sugar.
Working with Adobe AIR is a real treat for a web developer. You get to work with desktop features such as native drag and drop, system icons, reading and writing files, an encrypted SQLite database, and chrome-less, non-rectangular windows (even with HTML!). You also have access to all of the features of Flash, like audio and video, sound transforms, uploads and downloads, byte arrays, and Pixel Bender. Best of all, you get to have a single target environment, in WebKit — CSS3 selectors and styling, a super-fast JavaScript engine, and no compatibility issues with a certain browser.
Adobe worked hard at making desktop applications easy and accessible for web developers. I’ll explain the steps to get your development environment setup.
Managing Server Structures in Persevere
Thursday, January 15th, 2009Persevere’s latest release includes new functionality for creating clean, organized application directory structures, complete with a testing framework. Persevere now has an improved set of command-line options including a server generator, which makes it easy to build an application server directory that can be version controlled separately from the Persevere core files. The new server structure also includes a mechanism for building unit tests for Persevere.
Easy Exploration of Dojo Data Stores
Wednesday, January 14th, 2009Dojo 1.3 includes a new tool for working with data stores. The Dojo data API is a pervasive part of Dojo; there are a variety important widgets that use the API and numerous data stores that implement the API. However, often data stores are only accessible through the application that is being built, and developers are dependent on working UIs (that are constantly under development) for store interaction. The StoreExplorer is a new development tool built by Ben Hockey and I, designed to debug and interact directly with data stores to make it easier to understand the data provided by the stores, directly interact with that data, and thereby pinpoint issues in the widget-store stack.
PhoneGap, Palm Pre, and the State of Mobile Apps
Monday, January 12th, 2009With their announcement of the Pre last week, Palm has placed their bet that great mobile applications can be built using the same open web technologies that drive the desktop environment today. Web applications that run on modern desktop browsers are constantly pushing the envelope of the types of applications that no longer require a proprietary platform-specific SDK.
When Apple first launched the iPhone in 2007 their first answer to developers was similar to Palm’s new OS. Apple gave a long talks at its 2007 Worldwide Developers Conference about how you can build great applications using standard web technologies. Unlike Palm’s webOS the iPhone web SDK was severely lacking in many areas. Apple has corrected some of these shortcomings in the subsequent releases of their mobile browser. Mobile Safari now supports multi-touch gestures, basic rotation tracking, and hardware accelerated CSS animations. Unfortunately, Apple’s open web SDK still lacks many of the most critical features that would allow developers to build applications that take full advantage of the mobile environment.
