

Flash Professional CS5 will build native iPhone and iPod Touch applications - wallflower
http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

======
wallflower
Adobe is using LLVM.

There is no runtime.

+1

<http://www.adobe.com/devnet/logged_in/abansod_iphone.html>

~~~
bonaldi
"There is no runtime"

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.

~~~
iron_ball
Does that mean you'd like Flash content to run as non-VM-boxed binaries on
your PC? Or did I misunderstand what you meant?

~~~
bonaldi
It just means that I loathe the Flash runtime on the Mac: it's slow, kills the
CPU and as a result sends the fans spinning. This is one reason (beside the
business ones) why it was never going to get on the iPhone.

~~~
whatusername
Right -- and next you're going to tell us that each and every website that
uses flash - you're going to install an application for on your mac.

------
ujjwalg
In short: no Mac required for developing iPhone apps. flash games which are
extremely easy/quick to develop can be ported into iphone 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!!!

~~~
Zev
_In short: no Mac required for developing iPhone apps. flash games which are
extremely easy/quick to develop can be ported into iphone apps._

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.

~~~
netsp
I'm not sure I really get this sort of comment. Is a mac really such a hurdle
relative time, effort or monetary cost?

~~~
Zev
You can find an Intel Mac Mini for ~300 on eBay. Its not terribly expensive or
hard to get set up.

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.

~~~
netsp
I didn't imply that you don't need a mac. I'm just puzzled by people who seem
to think that this is so important or that mac ownership is a substantial
hurdle to iPhone app development.

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.

~~~
Zev
_I'm just puzzled by people who seem to think that this is so important or
that mac ownership is a substantial hurdle to iPhone app development._

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.

~~~
netsp
You've got me backwards. I agree with you. I understand why you need a mac. I
don't understand why it is such a big deal to have to buy a one. Just buy one.
If you are doing this for a living, this seems like a reasonable expense. If
you are doing this semi-pro, well then get your hands on a used machine
cheaply.

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."

------
9oliYQjP
Before everyone gets too excited over this, admittedly very cool technical
achievement, how will this affect the look and feel of apps making use of it?
Games always tend to use completely custom UIs, so this will be a neat tool at
the disposal of game devs. But how will business apps feel? Will text boxes be
CocoaTouch-based or some Adobe-proprietary text box?

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.

~~~
alex_c
Even if CS5 won't include it at launch, I'm sure it's only a matter of time
before there will be a full-fledged library of "iPhone-like" controls
available.

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.

------
abyssknight
This is epic, and I don't think everyone realizes what this means. Developers
will be able to just... export. The revenue model for Flash games used to be:
free + advertising. With this move, those same games can be released on the
app store and actually charge money, or fall back to the advertising model.
Its a simple way for developers to cash in. The funny thing, and this is what
makes very little sense, is why did Adobe do this at all? There's no doubt
that little feature cost them some serious cash, and for what? To make Apple
rich?

~~~
allenp
I'm sure Adobe's motivation is to make money selling licenses to software
developers. If I remember it is about $700/seat for this software. In terms of
their cost, it would make sense that Apple did some of the heavy lifting on
this as part of an agreement to keep Flash off their devices. Unity is another
example of a company doing this same thing and making money at it too.

~~~
eob
I'll second that. Adobe wants to become an alternative platform for the
iPhone. Right now it's Objective-C or the highway.

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.

~~~
cakesy
No it isnt', there are plenty of languages you can program the iphone in.
Straight off Apple supports C. Then a lot of people have added support for
other languages.

All these have been advertised on here.

~~~
mahmud
For the love of God, submit a link to the Apple resources on iPhone
development in C. "Objective"-less, good ole C.

~~~
eob
Haha yeah seriously. That's kind of a silly rebuttal :p

------
smhinsey
It will be interesting to see how Microsoft reacts to this. I am in the early
stages of planning an application that might have a rich client component.
Since the rest of the stack is .NET, it made a lot of sense to look at
Silverlight, but now that I could potentially deploy the same code to an
iPhone (and probably other mobile platforms as well) with minimal extra
effort, it's hard to recommend Silverlight.

~~~
scotth
Check out MonoTouch: <http://monotouch.net/>

It precompiles .NET code into ARM binaries for the iPhone.

------
wallflower
One of the first apps written in Flash and cross-compiled to Objective-C
native in the wild of the App Store:

[http://www.flashcomguru.com/index.cfm/2009/10/5/iphone-
justl...](http://www.flashcomguru.com/index.cfm/2009/10/5/iphone-justletters)

------
guelo
So after all of my investment and time learning the Cocoa Touch platform these
flash guys come in with 10+ years of crappy code and inundate the app store
without even having to reference count their objects. There goes my consulting
business :(

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.

------
wensing
This makes us at Stormpulse really happy, since our map is written in
ActionScript, and people have been screaming for an iPhone app.

------
timdorr
I think the biggest thing people are missing here is one of the best
advantages: Demos!

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.

------
allenp
So a few questions in my mind - what does this do to wait times for getting
apps into the store? How much stricter is Apple going to be on non-conforming
UI? I really think Apple will impose artificial controls on the market to
prevent it from bottoming out and flooding their top tier producers - or
perhaps finally make a AAA section for the store.

~~~
scotth
Do you think Apple would take issue with making Flash controls look identical
to their own?

~~~
wmf
IIRC there was an issue about an Aqua PLAF for Swing years ago.

------
bdittmer
Did no one else anticipate this? Lots of other people have been doing this for
awhile (mono foundation, unity, gambit scheme, etc.). Is this a game changer?
Yes. It opens up the door to tons of developers. Will applications written in
actionscript still have the same shortcomings as the other aforementioned
languages? Probably. Looking at the AS apps in the store right now they all
have larger than expected file sizes. Additionally I don't see any of them
taking advantage of any of the latest API features rolled out in iPhoneOS v3.
Each time Apple releases a new iPhone OS version (with all of the API
changes/additions) all of these tools need to be updated and re-released.
Moral of the story? If you want to take advantage of the latest API features
and remain on the cutting edge of iPhone development it's best to stick with
objective-c.

------
zhyder
The FAQ is pretty informative:
[http://labs.adobe.com/wiki/index.php/Applications_for_iPhone...](http://labs.adobe.com/wiki/index.php/Applications_for_iPhone:Developer_FAQ)

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>

------
bprater
Looks like it'll have all the AIR bits-and-pieces in it. So you'll get
database/filesystem access, etc.

------
radley
sitting in multi-touch session at AdobeMAX... yes, for iPhone. Will check out
the AIR session (for "mobile") on Wed.

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-...](http://arno.org/arnotify/2009/10/max-2009-adobe-air-2-0-and-
iphone-support/)

------
neovive
This is a significant development and seems to be win-win for both Adobe and
Apple. It will be very interesting to see how this plays out and if iPhone App
development in Windows/Flash is as seamless as Adobe is claiming. But if it
is, along with the support for RTMP, Remote Shared Objects, AMF, and SQLLite,
it could be a big boost for Adobe.

------
bprater
Seems like a huge opportunity for folks who are fluent in Flash/AS3 and
haven't had time to jump on the Objective-C bandwagon. It's likely that since
it's compiled down, it'll run faster than interpreted Flash! Great move by
Adobe! (I'm curious if Flex will work.)

~~~
pcestrada
I would expect Flex to work as well since it's basically an actionscript GUI
library written on top of Flash. There is a mxml compiler that takes your Flex
gui code and converts it to a SWF. And it sounds like LLVM takes a SWF and
turns it into Obj-c code so I think it would work.

------
oliverkofoed
MonoTouch (monotouch.net) is exactly the same approach for .NET instead of
Flash.

------
mattyb
Wow, so owning a Mac will no longer be a requirement for iPhone development,
as Flash Professional supports Windows also. Even MonoTouch requires an Intel
Mac.

~~~
allenp
This would be pretty great - but I'm not sure what Adobe has planned for
signing the app (and if they can take any of the pain out of that process it
would really make life a lot easier).

------
nirmal
I sure hope IndestructoTank is ported right away. One of my favorite games and
I think it us well suited to iPhone gaming.

------
barredo
This is nothing but good. Let's see if Apple likes it. Didn't Apple dislike
the iPhone apps made with .Net+Framework?

~~~
drawkbox
There are like 5-10 top apps built with Unity3D such as Zombieville USA that
is Mono based and cross compiled. So in short, now they love them because they
make money from them (30%).

------
senthilnayagam
I doubt if people can build apps on windows "yet" until there is official
blessings from Apple itself

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

------
rimantas
Will it work as well as Flash now works on OS X? If so, then thanks, but no
thanks.

~~~
cakesy
Well, you could watch the video. Seems to work pretty well.

I hate flash, but compiled flash might just be ok.

------
zackattack
I'm calling it now: ECMAScript will be the most important language over the
next three years.

~~~
simonw
The problem is ActionScript is pretty far from the EMCAScript you get in
browsers - ActionScript was based on a proposed standard for ECMAScript which
was later abandoned, so it's pretty much a different language now.

~~~
zackattack
Fair enough. Probably true for AS3, which seems to superficially resemble
Java. One of my hobby projects (HipHopGoblin) uses a bunch of AS2, which I
find very similar to JavaScript.

~~~
iron_ball
AS3 is quite similar to Javascript also -- you can't do as much with the
prototypes, but it still has closures, allowing a functional style; and
everything's essentially an Object with properties, allowing a dynamic style.
You can turn off strict mode and it won't do compile-time type checking, or
you can type specific signatures as "*" and they will not be type-checked.
This means you can do all the duck-typing you like, instead of defining a
Java-like interface.

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.

