I don't know the specific tech that Adobe is using, but I'd look pretty carefully at the technology before committing to a platform like this as a true cross-platform development environment. "Cross-platform" can mean lots of different things.<p>We had a native app developed in Android. When we decided to create an iOS version, we selected Appcelerator after reviewing a few different options and seeing what we perceived to be good adoption of Appcelerator (and after talking to another firm that chose the same thing). And, we (mistakenly) thought that it's "generating native code", so, if anything goes wrong, we can always debug in the Objective-C. Right?<p>Wrong.<p>About 6 weeks into the development process, we were doing a round of testing to get a version out to Beta testers and found that we simply couldn't debug the code and get it to 100% stable. That's when we dug deeper (yes, a bit late for that...) and found that Appcelerator is essentially a VM running on top of the native stack. So crashes get logged to the same few lines of Appcelerator interpreter code--which is pretty much useless for debugging. For prototyping, it's great, but for production quality code, I would say stay away.<p>Shortly before we finalized this decision, we reached back out to the other firm whom we had originally spoken to before making the Appcelerator decision. They told us that they were in the same spot and had just made the decision to move off Appcelerator a couple days previous--for the same reason: stability and lag issues and no way to get to zero defects.<p>We moved to native Objective-C and the dev team is much happier. Crashes have full stack traces and we can identify exactly what to fix.<p>We got some benefit out of Appcelerator because the second round of development took less time, but given the choice (and knowing that we weren't just prototyping--we had a native Android app and we were generally happy with the screen flows) we would have gone native to begin with.
I've been working with Flex for the last few months, and I keep feeling that "great" is not in Adobe's DNA. Adobe's DNA seems to be "Features! Features! Features! Good Enough Features!"<p>I would kill for Adobe to go into each of their development tools and products and spend a year without adding a single feature - instead, they just obsessively make existing features better. Faster. Easier to use. Can anyone mention an Adobe product they love? That they wouldn't like to see a more elegant replacement? I include Photoshop and Illustrator in here, by far their two best products.<p>Okay, so I'd like to also see a Flex->HTML5 builder, but if and only if it can match the speed of their current solution. (And I'm sure they're working on it.)
If you want to build a native app, use the native development tools. I've yet to see a third-party platform that offers 'support for building iOS apps' result in good user experiences and positive reviews. Take these, from Conqu for iPad (built with Flash Builder/Flex)[1], for example:<p>"App looks nice when it finally loads. Every function has a serious time lag that makes the app unusable."<p>"However, be warned, this app is painfully s-l-o-w -- at least for me. So slow it has been placed in the "tried apps" bin."<p>[1]: <a href="http://itunes.apple.com/us/app/conqu/id440591468?mt=8" rel="nofollow">http://itunes.apple.com/us/app/conqu/id440591468?mt=8</a>
Yet another iOS builder....when will this end ?
At the moment the only reliable solution I see for building native apps without messing with ObjC is (maybe) the future Macruby project. All these other solutions are just wrong, and should end.<p>No matter how good they are they will always be one, two steps behind native apps. It will be either for lack of documentation or unsupported new iOs features etc..<p>To be honest, I'd rather build a web app for iPhone than use this stuff. At least I'm being honest to my users and I'm not delivering crappy apps to them. I mean, I understand why we need a standard tool, but this is the way to go, running apps on top of VM is crap.<p>Sorry Adobe, not this time.<p>Edit: also, is really that hard to learn ObjC ? I find it to be a very easy language to learn to be honest. Not the most pretty syntax, but it's easy.
Didn't Adobe try something like this already, and Apple changed their policies to ban apps that used cross compiled code? Did Apple change their policies to allow this kind of tool after all, or is this somehow different from last time?
In the video: Did they actually speed up the "close up" recording to make the applications seem faster?<p>They let audio track continue at regular speed, but the hand movements seem to be at about 150% ... ouch
Although, native apps will likely always perform better, I think this is a step in the direction for small companies and startups that don't have the resources to build and support mobile applications for all platforms. As mobile platforms continue to evolve and change rapidly, the task continues to get more complex.<p>Since Adobe has the resources and a strong vested interest in securing a future for their Flash ecosystem, it will be very interesting to see how their tools evolve over time. The market opportunity for tools supporting write once, run anywhere mobile apps as well as tools for HTML5, Canvas, SVG and WebGL development is clearly growing and Adobe is one of the few companies capable of delivering this on a large scale. The question now is ... will they do it?
You know I find that it is incredibly useful to use cross platform tools or something like Appcelerator to test a proof of concept in the marketplace, but in the long haul, it is a tradeoff and if you want certain features to work right, you have to either be content waiting for the 3rd party platform to support them, or you need to go native.<p>In general, there is nothing wrong with the strategy of build a basic v 1.0 proof of concept to see if it connects with a market and then rebuild it on a native codebase. On the other hand, if you are a good enough developer, you can probably skip this step and just start native, but that certainly isn't the case for everybody.<p>Looking at Flash in this prism of being a cheap prototyping tool is a reasonable way to look at things. Looking at it as a be-all-end-all platform is a bit foolish, but most reasonable people outside of Adobe aren't that foolish.
The combination of a steep learning curve (probably easier than ObjC but not by much) plus the less than robust support for all of iOS features still makes me prefer native. Make something as easy and simple as JQuery, and make it 95% robust and I'll switch from native in a heartbeat.