Archive for Primers

December Primer : Migrating AJAX Applications to Adobe AIR

Adobe AIR is a technology platform aimed at bringing the ease of conventional web development to the desktop development experience.  AIR is a cross platform technology, just like the Flash Player, capable of running on Windows, Mac, and Linux.  An AIR application can be created using traditional HTML and JavaScript, the Flex framework, or a combination of the two.  When developing with HTML and JavaScript, Adobe provides a tailored version of Webkit.  This being available, it’s possible to utilize JavaScript frameworks such as jQuery, Prototype, and Dojo as well as most of their plugins.  AIR also exposes a set of JavaScript libraries which allow you to take advantage of  desktop integration features such as file system access, SQLite access, network monitoring, and more.  Additionally, with AIR running on the desktop, some of the cross-site security concerns imposed by the browser are removed, conversly though, a new set of concepts regarding security sandboxes are introduced which can get a little tricky at times.  Overall however, the experience is very similar to what we as a group are accustom.

In this month’s meeting, I’m going to show you the what’s involved in migrating our restaurant application to the AIR platform.  My goal is to give a brief introduction to AIR, show you the tools I used to migrate the application, and last, but most importantly, show you lots of code to relay some of the previously mentioned concepts.  If you’d like to follow along on your own laptop, having the following available will make it easier:

I’ll show most of my code examples in Apatana, since it’s stupid easy to use with AIR, but I’ll go over the command line tools for adl and adt as well.

Hope you can join us on December 18th @ 7:00 PM at Charlie and Jake’s for the end of year meeting.  If you think you may be able to attend, please RSVP here so we can give our sponsor a head count.  If you can’t make it out, Happy Holidays from the RAnDOM crew!

NOTE: Sorry for the delay on this primer.  I realize the meeting is this Thursday, so I hope you can join us for our meeting.

Leave a Comment

October Primer : Introduction to REST

This month we’re going to hop over to the server side of things and take a look at one of the most common protocols used to create services for rich clients, representational state transfer (REST). REST is based on the transmission of data as resources. These resources are identified by Uniform Resource Identifiers (URIs) and HTTP methods (GET, POST, PUT, DELETE) are used to describe how the state of these resources are to be accessed or changed. Think of it as a simple way to represent CRUD (create, read, update, delete) operations over the web.

For this time around, we’re going use a very simple set of RESTful services built using Ruby on Rails. We won’t be focusing on the code of the services in great detail, but more on their RESTful interfaces. We’ll also look into integrating these new services with our Restaurant application we created in our first meeting.

I hope to have the code ready and in SVN by Thursday at the latest :) Don’t forget about our new venue, Java Surf. Bring your RAnDOM coffee mugs! See you there.

Leave a Comment

September Primer - Introduction to Flex

This month we’re going to do an introduction to Flex.  Flex is a developer technology created, and open-sourced, by Adobe that allows creating Flash-based applications in a very similar paradigm to traditional web-based applications.  The goal of Flex is to supplement these technologies and provide the user with a richer experience while simplifying the complexities of working within the context of the browser.  At a high level, working with Flex entails creating components using a combination of MXML, an XML dialect, and ActionScript, a language very similar to JavaScript.  Those resources are then compiled into a Flash movie and, typically, loaded into the browser via HTML.

Our goal for this meeting is to orient you toward MXML and ActionScript and the tools needed to work with them.  We will be cheating a little bit and borrowing some sample code from the Adogo’s June code camp.  The example application is very straight-forward, so we should be able to jump right into it.

For this meeting, I suggest having the following available:

If you’d like to get a head start on looking into Flex, The Flex Show has a great series of vidcasts which are short, informative, and a great introduction.  Additionally, for a more in depth look at Flex, the Silicon Valley Flex User Group has some great webcasts for beginners as well.

See you all on Thursday and remember to RSVP.

Leave a Comment

August Primer - Creating Mashups using the Basics

For our first meeting, we’re not really sure what to expect in terms of attendance or location or even how well cooperative programming will work out, so this time around we’re going to keep it simple. I’ve thrown together a sample app using nothing but HTML, CSS, and Javascript so we can all work together to create your typical AJAX mash-up application; no server scripting need. We’ll be using everyone’s favorite Javascript library, jQuery, as well as the jMaps and jgCharts plug-ins for jQuery to make creating the mash-up that much easier.

To participate in the meeting, we suggest bringing along the following:

That being said, if you don’t have these few things and just want to swing by, get a bite to eat, and see what we’re all about, everyone’s welcome. My shoulder is definitely available for looking over.

I’ve created the event on Eventbrite, our calendaring and event tool, so if you are able to make it, please leave us an RSVP so we can let the restaurant know how many to expect. Code should be made available withing a few days, if anyone wants to start messing around with it. Also, if you feel the urge, help us spread the word about our organization and meetings. Every little bit helps, especially since right now it’s just 3 guys who like to code trying to put this together.

Hope to see you all at our first meeting!

Comments (4)