Flash Professional CS5 will build native iPhone and iPod Touch applications
labs.adobe.com
labs.adobe.com
"AOT Compilation"?! Amazing!! They should patent this!
but yeah, sounds pretty cool.
What I'm wondering about is how they do AOT for dynamic code. Do they have every possible path for a data type compiled? This would seem silly..maybe LLVM has some clever ways about this?
In fact... since MacRuby is built entirely on top of Cocoa primitives, it wouldn't surprise me if they've translated all Ruby messages into Objective-C messages and just use objc_msgSend for all of this sort of dispatch.
For an interesting exploration of this particular call, check out this blog post: http://ridiculousfish.com/blog/archives/2005/08/01/objc_msgs...
PDF, Photoshop, Flash, despite all their flaws and sometimes dubious origins, wouldn't have dominated their respective markets for decades if there wasn't also at least a bit of quality engineering in each. ;-)
Ah, so they got Flash on the phone by taking away the bit that makes it suck bells. Good job, Adobe. Amazing what you can do when Apple forces you to not to be craptacular.
For example, if your app needs to play a video, where is the video player coming from? If it's Adobe's own, doesn't that mean Flash-equivalent bits are going to be in every compiled app? In that case, and this would be consistent with what they're saying, the main reason for this AOT compilation instead of JIT is apparently to comply with Apple's legal terms.
These things tend to matter in achieving a consistent look and feel to users. I've never preferred Java apps on either Windows or Mac OS X to native ones, primarily because they are only ever 95% of the way there in providing consistent look and feel. There's always something that is just off ever so slightly.
Besides, Apple can be as anal as they want about interface consistency before they approve something to the App Store, and they're probably not thrilled by this. They can use the interface excuse to great effect if they choose, to neutralize the effectiveness of this tool by simply rejecting many Flash apps.
Conclusion: iPhone app development prices will go down the drain for most of the apps. There will be millions of apps on the appstore. Prices of apps will go down further.
WOW!!!
Plus, you're forgetting that the market is already diluted. The only apps that make it are those which get advertised heavily or a big blog discovers and writes about it. Therefore, these "million of apps" will hardly make a difference in how difficult it is to make significant money developing iPhone apps.
The App Store is not going to become Newgrounds, I promise.
I hate flash, but I hate dealing with open gl even more. Maybe I will have to look into this.
Remains to be seen. You still have to sign applications to submit them to the app store. Adobe hasn't made it clear if they reverse engineered this bit yet, or if it simply calls the codesign binary. If its the latter, you still need a Mac.
http://twitter.com/bit101/status/4636544212 "@ryanstewart really? so it uses your cert and provision and creates the .app file? no xcode needed?"
http://twitter.com/ryanstewart/statuses/4636642995 "@bit101 Yup, no Xcode needed."
I own a Dell laptop running Ubuntu and a desktop I've built myself running both Ubuntu and Windows.
Because I live in Europe, the cheapest MacBook Pro is 2233 USD. And the cheapest Mac Mini is 1000 USD.
A Mac Mini doesn't cut it for me because I travel a lot (not long distances, but enough to keep me from having a stable office). I won't consider the simpler MacBook because I had one that I've taken to the repair shop 4 times in one year. The MacBook is simply not made for high-workloads.
And MacBook Pro is just expensive. I've payed 800 USD for my Dell Inspiron and it's been running for two years with no problems. The MacBook Pro is just overpriced. I don't care that they are bundling the latest Intel processor in it. I don't want the latest hardware available. I'm happy with just 2 GB of RAM and a big-enough hard-disk. A colleague of mine had a MacBook Pro and the motherboard fried when he spilled some coffee on the keyboard. I've spilled coffee (with lots of sugar) on mine and besides the keyboard getting sticky, nothing happened.
Besides, I always hated Windows because it is too locked down. I also stay away from proprietary technologies because the skills aren't transferable. But having to go all-Apple to develop for the iPhone is just ludicrous.
All I'm saying is that you may still need a Mac if you intend to put your app on the app store (or on your own device if you don't jailbreak). You need a Mac because Apple hasn't released the code for the codesign application; only a binary that runs on OS X only.
The codesign application is - you guessed it - responsible for signing an application's binary to run within the iPhone's sandbox. This usually done automatically by Xcode when you build for the device (for debug or distribution).
Adobe hasn't made it clear how they handle this step yet. They may have reverse engineered codesign itself - so you can develop on Windows. Or they may have just looked at what Xcode does when signing with codesign and duplicated that - in which case, you still need a Mac for at least your final step (submitting to the app store) and should really have a Mac before that step (to test your app on a real device). Especially since you can't use the iPhone Simulator if you use this for your iPhone app.
As you say, the minimum requirement is not all that high. A mac is an additional machine usually $1K-$2k, something that developers need to spend money on from time to time. If you really don't want/need one and only use it to develop one small app, 500 for a mini (or 300 for a used one) is not terrible.
Because it is a substantial hurdle. The hurdle comes down to: Do you want to be able to test your app while developing it? Or do you just want to write it, make sure it compiles, and ship it?
If you just want the latter, then you will be able to get away with not owning a Mac to do a lot of testing and to sign with. You won't likely end up with a very good app. But you will have an app. OTOH, if you want to make a very nice application, that performs well, has a good UI and so on etc, you really should have a Mac. It gives you two big things: The iPhone Simulator and the ability to put apps on your device.
While the simulator might not matching device behavior for optimizations (if you need to do any), is fantastic for laying views out and testing if logic works. Its great for fixing small bugs that would exist also exist on the device. There is a caveat: not all behavior on the Simulator is the same as the device. This is frustrating at times. But, with a Mac, you can actually put your app on an iPhone. Codesign is (AFAIK), very much Mac-only.
Yes, you can develop on Windows or Linux, jailbreak and put your app on your device that way, but, you really do want to test your app in the same environment that a majority of your customers from the App Store are going to have. This means a non-jailbroken device. Which, again, brings us back to needing to Codesign. And needing a Mac.
If you are neither, Apple's not really catering to you. That's true. Jailbreak or do something improvised. Even someone doing it for non monetary reasons.
By hurdle I meant buying one.
By puzzle I meant people hearing about something like this and thinking "now I can develop without a mac" rather then "now I can develop in flash."
And its not exactly like a lot of what they needed was completely undocumented; ARM and Mach-o binary formats, how to link against frameworks, etc. I'm not pretending that I would be able to do something like this on my own, but, its definitely possible for a group of smart people who have the right background to do.
I can't stand JavaScript (and therefore ActionScript) but, as an iPhone developer, watching this video made me think, "gosh, I should start learning flash". Objective-C is a nice language once you get used to it, but I can't imagine that it could compete against Flash in animation-heavy programming tasks.
All these have been advertised on here.
Add this little gem, and well, here's my $400-$700. Done.
It precompiles .NET code into ARM binaries for the iPhone.
http://www.flashcomguru.com/index.cfm/2009/10/5/iphone-justl...
If it's been hard getting noticed in the app store imagine what it's going to be like when every flash app in the world is ported over.
Currently Apple doesn't give a way to distribute demo copies of software. But if your app is already a Flash project, you can export that to the web in a trial form for people to play and test out. We've had videos and screenshots, but this is a much more effective way of selling.
Check out an example: http://www.muchosmedia.com/justletters/ All you've got to do to build a demo is export to SWF instead of IPA. Easy cheezy.
I especially found this useful:
<quote>Which native iPhone APIs and functionality are supported when using Flash tooling?
The following native device APIs and functionality are supported:
- MultiTouch
- Screen Orientation
- Saving images to Photo Library
- Accelerometer
- Geo-location
- Cut / Copy / Paste
Can applications take advantage of hardware acceleration?
Yes. In some cases, the rendering of Flash content will be hardware accelerated.
We will publish more information on this when we release the public beta.</unquote>
A lot of sessions that were titled "for Mobile" have changed to "for iPhone": http://arno.org/arnotify/2009/10/max-2009-adobe-air-2-0-and-...
application signing and testing on iphone simulator, phone provisioning and developer profile for iphone, debugging, profiling all need a mac, xcode and friends
the machine shown on the video was a mac
I hate flash, but compiled flash might just be ok.
One of AS3's goals was definitely to become more like Java, for whatever reason, but almost all of the new Java-y-ness is optional.