Common Misconceptions About Adobe AIR

Jun 4, 2009 Author: Figo | Filed under: Adobe AIR, Adobe Flex

Adobe AIR has gotten a lot of online coverage lately and that’s a good thing. I’m an absolute fan and before I tell you why, let me tell you about the biggest perception mistake most being made about it.

Wannabe

I have found – on a number of occasions – articles comparing AIR and FLEX to Java and .Net, as if it’s another development suite trying to compete for space with the establishment (the incumbents, Ahem!!). I’ve made the same mistake too and this is far from correct.

The comparison is understandable if you are comparing application development on FLEX – in Flexbuilder – where you can develop anything in ActionScript3 from a small application to an enterprise monster. Your application can then be compiled to run inside a browser in a Flash player, or it can be made into a standalone desktop application.

To speed up development, it has time-saving components and libraries too.

So what’s the fuss? Java and .Net have been doing the same thing for years and they have far richer libraries than Adobe’s toy!

Correct.

You’d also be right to think that other similarities between these development suites pit them against each other as competitors. All three make heavy use of a specific runtime environment.

The Flipside

So they do compete, right?

Sort of, and the mistake comes in thinking that this is where the story ends.

This next part explains why I’m so excited about Adobe’s offering (soon to come out in the incarnation of FlashBuilder4 and FlashCatalyst).

The big difference is that Adobe’s suite aims to extend the reach and prowess of the web developer, while the others are made for a different breed, including folks who can hold a whole conversation in hexadecimal code (not that web developers can’t do this, but you get my drift).

A Different Animal

To do this correctly, Adobe had to keep in mind the typical type of person who would be attracted to their tools, one I’d like to refer to as the Social Geek. Let’s call this type of person MASH, because they are increasingly aware that the best solutions are often a result of a multivendor mix. This person would be:

  • Purely focused on web applications
  • Someone who’s not too crazy about attaching their skill sets to a brand name (e.g. I’m a Banana™ certified developer)
  • Someone who detests walled gardens (where software is concerned) and is always pleased to see them crumble

Alright Already! Sheesh! Get To The Point!

Right, let me tell you what’s so different about Adobe’s offering, and why that difference is so exciting and so powerful that Microsoft(.Net) and Sun(Java) are playing catch-up on similar development tools.

How does Adobe’s suite play to the Social Geek’s tastes appeal to MASH?

For one, the development runtime is Java and the development environment is Eclipse – the most widely used open-source development environment by professional developers. It’s already the best and well supported. Why re-invent the wheel?

Co-operation

Whether, you like developing in Java, Python, Perl, PHP, Ruby, HTML/JavaScript or a host of other languages, Adobe’s tools welcome you with open arms. You are presented with so many options for bringing your web applications to life.

And here’s the kicker

You are not limited to the web browser

For the first time, this tool opens the doors for web developers to venture into the world of desktop app development. The compiled applications run on Windows, Mac, and linux without the need for porting and they can seamlessly integrate with online applications as well as run offline.

Update:
Take a look at this basic example to get a better understanding.

Beauty To The Monitor

When you consider the fact that Adobe’s other tools are market leaders in the rich-media space, you start to realise that never before has the web developer been given so much power and so many options speed away into the future.

Open-source, open everything!

That’s exactly what modern web developers like to hear, and they’ve already started supporting the environment by building AIR applications. A good example of this revolution is the growing number of Adobe AIR desktop applications for twitter. There’s a new one almost every day and we’re only just seeing the start of the web developer’s foray into much more serious applications.

Even though there are still some issues with memory leakage and performance, these are minor issues and something we realise will be fixed in future releases.

Times Are A Changing

Instead of competing with Java and .Net, the Adobe suite aims to co-operate with all. The idea is to make new connections and build upon existing ones instead of cornering the market.

Naturally there will be technical hiccups with such a big undertaking but that I can put up with for the sake of the bigger picture.

Even giants like SAP and Intuit have built tools to make it possible for web developers to make AIR applications for their own platforms.

Picking Up Steam

With the unprecedented upsurge of Social media, Microsoft and Java have realised the need to give more power to the web developer, and are already working profusely on their development tools to make this happen.

Instead of new walls going up, existing ones are being demolished

That’s got to be frightening for traditionalists. It’s still early days and I can’t wait for tomorrow.

I’m more excited about the philosophy and thinking behind the software than by the tools themselves.

That said, am I the only one that thinks we’re talking about a game-changer here? Where do you see all this going?

Use of Application Frameworks: Smart or Dumb?

Feb 17, 2009 Author: Figo | Filed under: General, Projects

A couple of years back I came accross a blog article that listed acouple of Sout African web-startups to watch.

As you can imagine, the article generated a lot of comments. Some good, some nasty, and some just plain spaced out. One particular comment caught my attention and has been troubling me ever since.

The fellow wrote something to this effect: “I notice that most of these hotshot startups you mention have based their systems on web application frameworks like Joomla! and Drupal. Where are the real programmers, who would use something like Perl or Python to build their web applications from the ground up?”

For a long time I could not decide which was the best route to take. After all application frameworks each have their own niggles and idiosyncrasies and you rarely find the perfect extension to fully address your business challenge. On the other hand, coding from scratch can be a very expensive excercise (sure, you don’t have worry about those pesky GNU/GPL licensing rules afterwards, but you will have paid though the nose for that priviledge).

There is also the issue of addressing security vulnerabilities as they occur with your custom applications. Just ask Microsoft how challenging that task can be! You don’t have to look far to grasp the magnitude of work involved in addressing exploits. If you are sitting at a Windows machine or a Mac, just think back to how many software updates you have had to install from these manufactures. Oh! The Megabytes!

We can argue that with Open source application frameworks the security exploit vulnerabilities are minimised. There’s a whole army of people from all walks of life behind these frameworks who address security exploits quickly. Imagine how much time, money and effort it would cost a one-man show or one company to keep hackers at bay.

For the real programmers, I agree that if you want something done right you better do it yourself because now off-the shelf generalised package will ever fit your unique needs 100%. 

Personally, I use both approaches when appropriate and I don’t think this is a matter of choosing one strategy over another. They both have their merrits and flaws. I think this is a matter of choosing the right tool for the job at hand.

What do you think? 

  • Comments Off
  • Afrigator