We love the idea of Android apps running on iPhone and vice versa, and
that's exactly what Adobe's selling with its multiplatform development solution
AIR -- but though we've seen a demo here and there, conversations we've had with the company led us to believe that AIR was not yet up to the task. However, Adobe dev Christian Cantrell has the proof -- he created a game of Reversi that runs on five platforms without having to change a single line of code. In a video after the break, he demonstrates iReverse running on OS X, Windows 7, Ubuntu Linux, the iPhone, a Droid and the new iPad, explaining how it took only a series of seriously tiny platform-specific wrappers to make his program function on each. Since each platform
has its own hardware strengths, this kind of convergence isn't
always a good thing -- but if it provides extra incentive for developers to get cracking on hot new apps, we're all for it.
Java part duex. Only this time with more bloat.
@RandomGuy
We have devices that fit in our pockets with more RAM in them than the computers that put the first man on the Moon. Why is it people insist or more RAM but cringe if the software they use utilises the RAM? Is it going to go somewhere? Is it a finite resource that will run out eventually?
From RAM to CPU cycles, it's there to be used. Unless the software grinds the system to a halt, who cares?
@RandomGuy and proprietary dev tools :D
@Tes Not to mention being much more GPU orientated.
@RandomGuy If only java had a slicker UI library. I often feel alone in my distaste for adobe Air; it is basically flash which is to similar to javascript. Add the proprietary dev tools and Adobe's ability to screw up anything. Ugh.
I'm confused how air apps will run on an ipad/iphone but flash is not "doable."
@tad604 It is 'doable' but its the browser side of things that Apple says isn't.
@tad604 During compile for ip(o/a)d adobe converts the actionscript to native apple code.
@tad604 - yeah, Swing is just horrible. Looks out of place regardless of where you run it, and it's so sloooooow that even basic applications become tedious to use.
JavaFX should be a competitor to Flash - has anybody ever tested it? Can it be used for "normal" GUIs as well?
@Tes
Using RAM and CPU is fine as long it it's not disproportionate to your average app. Yes, our devices have grown exponentially in RAM and CPU, but so has every other app out there. On Windows 95, I could run 5-6 apps at the same time. Now, with 10x the RAM, I can still only run 5-6 apps (ok, 8-10, but I have 4GB RAM which is high). I have been running a few AIR apps on my desktop for a year now and it boggles the mind how much resources they hog. A simple TO DO LIST can take as much RAM (and CPU cycles too!) as Thunderbird (about 30-40MB RAM). It's absolutely insane. Now extrapolate this to an app that actually does something.
@Tes
Oh, and to address your questions specifically, RAM is most definitely a finite resource that will run out eventually (sometimes within a matter of minutes if you're not careful on a smartphone) and yes, AIR software will grind the system to a halt.
@tad604
adobe have never said this, its just steve jobs and the merry bandit crew call adobe evil and say it is horrific to the world, and refuse to put it on their products.
whats worse is that they blame adobe yet do NOTHING to help solve problems flash has on their OS
i love flash, the flexibility of it is amazing, and with AIR it just shows how versatile it is :)
@RandomGuy
When you can use the same code to run the same program across devices that different, THIS IS WIN.
@tonicboy
Any app platform can grind your system to a halt. Java apps do it to my system all the time. Its called poor programming. Unfortunately, there are a lot of poor programmers in Flash/Air development.
C based languages are harder to code and have a steep learning curve. This keeps the n00bs out and therefore the quality of code is higher.
@R3DB71ND
I agree to some extend.
Part of the problem is poor programming (and testing). Another part is poor garbage collecting done by Adobe. A third factor is the poor official documentation on how to deal with garbage collection in Air.
This is where we should be. The hardware manufacturers should not dictate what software can be developed for their platform further than the OS itself.
@Tes well, other than the iDevices and WP7, that's pretty much where we are and where we've always been.
Although I'd much prefer something more open and less bloated than AIR to fit the job.
@NewL You talk as if you've seen the source, please define your understanding of what it is to 'bloat'.
@fpad77 - ever run an AIR app, even just something like TweetDeck? Look at its resource demand and tell me that it's not completely ridiculous for something so simple...and that's on a Windows PC, the platform where Flash is the most optimized.
@NewL
Right now looking at my TaskManager, TweetDeck is using about 95k of my memory. Firefox in comparison is sucking down 170k with 4 tabs open and about 4/5 add ons. My laptop has a 2GB which nowadays is bare minimum and it's running fine. No slow down, no crashing. I'm listening to Spotify, working on two spreadsheets while shirking my work and reading Engadget and Reddit. This on XP!!!
In comparison I DO NOT have iTunes running...yet iTunes related stuff (iTunesHelper, iPodService etc...) is right now munching 25k of memory...more than a quarter of TweetDeck before I've even opened iTunes or plugged in an iPod. The memory is there to be used. IF your PC is slowing down then there's something wrong with it.
@NewL Yeah, I'd have to agree with NewL. The concept of cross-platform applications is great, but Adobe Air is just too resource hoggy. TweetDeck uses as much RAM as Mozilla Firefox (:O); no way am I letting that go.
While native apps are always going to be better this is pretty cool.
It is not explained how this works considering iPhone/iPad don't support Flash.
Of course, you could also do Reversi in HTML5.
Another open source option is Appcellerator, which provides hardware features such as compass, camera, etc to the toolkit.
@huh as it says in the post - it's the wrapper (read: Flash runtime that's bundled with every AIR app you want to run on an iDevice). Afaik that functionality is coming to CS5 - we'll see if Apple allows those apps into the store.
@huh
You can pretty much make or do anything with the iPhone/iPod/iPad...it's just after you've finished, no one will ever see it because it will inevitably have broken x amount of Apple dev rules.
@NewL last I read they have a proper compiler for the i plat, you can compile native from inside cs5
@NewL I heard "wrapper" but that wasn't explained. but as you say a compact runtime of Flash makes sense. Even though I'm no fan of Flash I'd like to see that as a viable solution for cross device compatibility.
This is the way it should be. And agreed on native apps, but a huge portion do not require specific native support so cross content is the way to reach the largest number of people using the same tool. There's alot to be said for integrated technology, but there's a lot more to be said about cross platform content.
@fpad77 where have you been in past 10 years? Did you hear about JAVA, PERL, PYTHON, ... I'm not saying that this is not cool, but the idea is not new.
I'm just sick from Apple and Microsoft locking their gaming and phone devices as much as possible. Look at Google Android.
@Jimbojones Well I certainly haven't been living under a rock. Your point is sound but that's not what I'm getting at in my original post. What I was pointing to was that to access applications on pc/mac/android/iPhone and develop for them together. The process isn't new, but it's sweeped aside a lot...
woot, go android
I do not understand - AIR is Flash isn't it? So how it works on iPhone/iPad?
@ThomasK flash is a plugin that lets you playback videos, games, etc. Air is like java where they emulate code in order to play the code back in any platform, think of it flash outside the browser, a native app will run better, but it does have its uses.
Someone correct me if I'm wrong
@ThomasK
http://www.engadget.com/2010/04/04/ipad-spirit-jailbreak-demonstrated-by-musclenerd-now-it-reall/
?????????
@ThomasK AIR is flash correct. Air is a packaged application that can access specific device functions that a standard flash can not. In this case, the AIR application is output as an iPhone OS application, it will not be viewable through the browser as Apple have blocked this, however the content can still be published to the app store and go through the approval process to end up on the device.
@Chuuchdizzle you are on the money, though there is from within upcoming cs5 (at least from preview videos) the possibility to compile to native just for iPhone. Wich makes me think that will allow native compiles to run on all apple portable devices.
@ThomasK: The page on Adobe Labs says this "Adobe Flash Professional CS5 will include a Packager for iPhone that will let you publish ActionScript 3 projects to run as native applications for iPhone. These applications can be delivered to iPhone users through the Apple App Store" Here's the link: http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/
As a Flash and Flex development house already, this is very useful for us. It allows us to re-purpose existing projects for multiple clients very easily. Makes us look better to our client and gets us more work with higher margins. As long as it runs clean, it save me from having to hire 4 different developers.
Now there isn't any mention of a packager for Andriod... ?
@aleeweb android will have one yes. As well as browser support.
This is NOT groundbreaking at all. He's essentially showing the same demo that Sun used for Java about 12 years ago, but with a newer set of hardware devices.
If these were NATIVE applications this might be groundbreaking. If the applications where fully compiled and did not require the AIR runtime, that would be impressive.
The closest tool for building compiling native applications across multiple operating systems (and chip sets) is REALbasic..
Here's a demonstration from FIVE years ago:
http://link.brightcove.com/services/player/bcpid980795693?bctid=1199157763
(One application, natively compiled for Mac, Windows and Linux)
@quag It's groundbreaking in terms of Flash technology. To be able to go cross platform not only for desktop but for mobile as well means that for certain types of application the developer can create a one size fits all for different mobile devices which at the moment currently stand at developing an application for Android and iPhone separately. Now I don't need to be a mathematician to work out how cost effective that can be.
One set of source code running in five different implementations of the AIR (or Java) virtual machine is a support nightmare. I don't need to be a mathematician to work out how expensive that can be. Oh, and the user interface sucks because it's not native.
It's far, far, better to compile a native application, with a native user interface. If you can find a dev tool that lets you compile for multiple platforms from one set of source you are going to be happier in the long run.
@quag Doesn't sound like you need to be a mathematician, sounds like you need common sense and understanding about what you are saying. The base renderer for that code may be different, but if you are a developer of the applications themselves, you certainly aren't dealing with the system that allows you to, that's Adobe, not the company making money from deploying the application multiple devices...
@quag That guy looks like a Steve Jobs with a bit more meat and different clothing
@quag CS5 compiles native to iphone (as seen on cs5 video previews). You said that would impress you...but really, that isn't that impressive, it was made so out of need because of the grip apple has on the store and them not wanting free stuff poping up when they make a lot of money on the current status quo.
Java does a lot but you still need to fix a lot more so that it runs across plats, in particular mobile plats. As actionscript moves further away from ECMA standarts it overcomes what Java simply cannot do because of third party influences in the standarts council. I'm looking at you M$...
Real Basic (now Real Studio) is bloated and far from being the best compiler that can do native applications across multiple operating systems. It doesn't do any of the mobile plats for starters. Unlike what you saw on the posted video.
Real Studio is less powerful then Dark Basic and at least as big of a scam as Delphi so don't go around saying how awesome it is...it really is developed for the seriously object oriented disabled.
Try looking up Openplug, Appcelerator or even Titanium for across the board mobile ready compatible developer envs. There are many other but that will give you a glimpse of what is going on today and will probably make your forget what Sun showed a decade ago. Looking at you again M$....bastards.
@quag
Not only are you on the wrong page, but you're in the wrong book. These ARE native applications! The CS5 packager, as someone has pointed out, probably internally translates the AIR project into objective c which uses Adobe libraries written to run on the iPhone (or platform in question).
I guess this is groundbreaking.
this should be default nowadays (but not with flash, that chaotic closed environment that no one can call programming who does it really).
but no, instead each goes it's own way again. proprietress is or was hated in the computing industry everywhere. now we develop an app for the ipad, one for the iphone, one for android, one for winmob, one for windows, one for osx, one for the xbox (could be the same as for windows, though, and winmob in the future), one for ps3 one for wii.. one for the dsi etc..
it's terribly split up and capitalized by now, each one wanting to make it's own piece of money with essentially the same that is free since years.
@davepermen, I can call it programming. You don't get native hardware access, but AS3 can easily be called a fully-featured interpreted programming language. Unless you want to be a purist and call Perl, Python and especially Java - non-programming languages (as you are programming their interpreters/virtual machines) you cannot claim the same for AS3/FVM...
LOL. I can see this happening with Windows, Linux, OS X and Android but not with iPhone/pad/touch. Jobs wouldn't allow Adobe code to taint his golden children.
@Darkseider Yawn.
its not the same code... he has a software that changes the code for him so it will work on other stuff, so basically its still 5 different codes.
just make flash of the iphone/pad/android/WP7 and every thing is going to be OK!
@KingpinEX It -is- the same code. He is talking from development perspective, which is the point that's really worth noting; in time, costs, and testing. Making your code flexible is the key and once you have that down you don't need to make edits for each device, which of course adds more time, costs, and testing.