or Connect
AppleInsider › Forums › Mobile › iPhone › Apple's iPhone 4 SDK license bans Flash, Java, Mono apps
New Posts  All Forums:Forum Nav:

Apple's iPhone 4 SDK license bans Flash, Java, Mono apps

post #1 of 198
Thread Starter 
Apple has updated its iPhone Developer Program License Agreement in the iPhone 4.0 SDK to specifically prohibit the development of apps using "an intermediary translation or compatibility layer or tool," which would include Adobe's Flash, Sun's Java, or Microsoft's Silverlight/Mono.

Apple has always prohibited the use of outside frameworks, runtimes or plugins in iPhone apps, a measure that has prevented Adobe or others from delivering an app with the ability to run content such as Flash or Java or Silverlight.

This restriction prompted Adobe to attempt to salvage its developers' existing Flash content by adding a feature to the upcoming Creative Suite 5 that would allow the Flash Professional application to export existing Flash content into a native iPhone application package that could be legitimately sold in the iTunes App Store because it was no longer Flash, and therefore no longer needed any sort of external runtime to play.

However, in iPhone 4, a clause in the developer license that until now only prohibited the use of private APIs (that is, development features that Apple has not completed, documented, and disclosed as being available for public use) has now been expanded to include prohibitions on developing iPhone apps in other languages or in other development environments that are then translated or cross-compiled into native iPhone apps. The clause, section 3.3.3, now reads:

"Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)."

This measure means Flash Professionals won't be able to develop content using Flash's ActiveScript and then port this code to iPhone. It also means that developers won't be able to directly port code written in Microsoft's C# language to its .NET framework into a translated iPhone app.

The prohibition may also be a roadblock for Appcelerator and its Titanium SDK or the similar PhoneGap, both of which are designed to build native mobile apps using web technologies such as HTML and JavaScript. The clause specifically limits JavaScript for use in web apps, and does not allow it to link against the native Cocoa Touch APIs.

The news should come as a crushing blow to Adobe, which has been working furiously to develop its Flash to iPhone cross compiler as the key new feature for Flash Professional in CS5. It also erases Adobe's strategy to push mobile and web development toward Flash while still leveraging compatibility with the iPhone OS.

By insisting that all iPhone apps begin as native development using its own Xcode tools, Apple can prevent third party middleware platforms from muscling into the market it created. This will effectively reserve the value and sales volumes of the App Store to benefit Apple's own development tools, ensuring that all the apps sold in the App Store are being built using the company's own native tools and not just cross-compiled from another source.

Apple's move apparently comes in a defense strike against Flash app shovelware, which threatens to water down the original content in the App Store with lots of existing, poor quality Flash games originally designed for the web or other mobile platforms and rebaked to work on the iPhone.

The new rule also rubs out any hope for Java or Silverlight/Mono as a common denominator for building mobile apps, preventing developers from coding apps using Java or C#/.NET and then just cross-compiling them into iPhone apps using a "translation or compatibility layer."
post #2 of 198
Good. This pleases me.
post #3 of 198
I bet Jobs was tempted to name this as the 8th tentpole

Maybe it will cause more decent upgrade pricing for CS5 suites. Classic win-win!
post #4 of 198
Quote:
the App Store are being built using the company's own naive tools and not just cross-compiled from another source.

"Native" instead or "naive"

Apple's coding platform had always been marginalized, so this will solidify it in market.
bb
Reply
bb
Reply
post #5 of 198
Yeeeeeeessssssss!
Pity the agnostic dyslectic. They spend all their time contemplating the existence of dog.
Reply
Pity the agnostic dyslectic. They spend all their time contemplating the existence of dog.
Reply
post #6 of 198
Couldn't they just add a "shovelware" section to the app store?
post #7 of 198
it's called action script not active script. wtf?
Groupthink is bad, mkay. Think Different is the motto.
Reply
Groupthink is bad, mkay. Think Different is the motto.
Reply
post #8 of 198
.....
Groupthink is bad, mkay. Think Different is the motto.
Reply
Groupthink is bad, mkay. Think Different is the motto.
Reply
post #9 of 198
Apple is guaranteeing they will not be the industry standard platform, once again.

Quote:
The news should come as a crushing blow to Adobe, which has been working furiously to develop its Flash to iPhone cross compiler as the key new feature for Flash Professional in CS5. It also erases Adobe's strategy to push mobile and web development toward Flash while still leveraging compatibility with the iPhone OS.

Are you kidding me? Adobe is jumping for joy. Apple just removed themselves as a real contender for vertical markets and multi-platform apps.
post #10 of 198
I have to admit, it's actually quite funny. This has got to be pi**ing off the bigwigs at Adobe. Jobs really has his sniper-scope pointed directly at Flash.

I know from Adobe's perspective it would make it easier for Flash designers to create iPhone apps. I always thought this was a bit fishy. I never used their Flash-port tool. Does the designer have access to the lower level code that is generated? I bet Adobe would slip something in there with no one's knowledge to override the App store guidelines.
post #11 of 198
Whatever it is that Apple wants Adobe to do, Adobe is about to do it, and they will probably have to do it for free.
I just want to know what it is.
post #12 of 198

Apple has earned the right to behave like South Park's Eric Cartman! You're bustin my balls! Or, Futurama's Bender.

Apple to Adobe: Ya wana live in my house you gotta live by my rules or kiss my shinny metal iPad a..!

Cheers to Apple for sticking it to the man. I mean the middle man.

Also, I believe it's "Actionscript" NOT "Activescript". But who cares anymore. Maybe it's Antiquatedscript.

OS4 is balls-to-the-wall! Really!


Edited by connector - 4/30/12 at 10:10pm
post #13 of 198
Quote:
Originally Posted by sflocal View Post

I have to admit, it's actually quite funny. This has got to be pi**ing off the bigwigs at Adobe. Jobs really has his sniper-scope pointed directly at Flash.

I know from Adobe's perspective it would make it easier for Flash designers to create iPhone apps. I always thought this was a bit fishy. I never used their Flash-port tool. Does the designer have access to the lower level code that is generated? I bet Adobe would slip something in there with no one's knowledge to override the App store guidelines.

I wish someone with greater knowledge of the whole thing than the article's author would chime in with an explanation.

I am no coder, but it seems to me that if the resultant code is the same then there is no way to tell what the thing was "originally" written in. Conversely, if Apple can tell what language things were "originally written in," then the resultant code is not equivalent and they have every right to argue for it not being used.
post #14 of 198
This developer clause does not prevent Adobe or anyone else from creating a SDK which translates the language used (e.g. Flash) into C, C+, or Objective C. Then the output can be compiled in XCode into a working app.

It does prevent 3rd party apps which create native apps which then hook into Apple's APIs without going through XCode for compilation. But this is easy to work around using the above described process.
post #15 of 198
Quote:
Originally Posted by Amdahl View Post

Apple is guaranteeing they will not be the industry standard platform, once again.



Are you kidding me? Adobe is jumping for joy. Apple just removed themselves as a real contender for vertical markets and multi-platform apps.


And you think Flash is the solution to multi-platform apps????

BWAHAHAHAHAHAHAHAHA!!!!!!!

Can I have what you're smoking?
post #16 of 198
Quote:
Apple's iPhone 4 SDK license bans ported Flash, Java, Mono apps

As it should be.
post #17 of 198
Quote:
Originally Posted by Amdahl View Post

Apple is guaranteeing they will not be the industry standard platform, once again.

Are you kidding me? Adobe is jumping for joy. Apple just removed themselves as a real contender for vertical markets and multi-platform apps.

NO.

This clause insures that developers who build multi-platform apps will create apps that are best-in-class for the iPhone platform - not just hacked Bizarro Java apps.

This insures that iPhone users will get BEST TREATMENT from developers and are not treated like second-class citizens.
post #18 of 198
Making apps compiled from other development tools against the rules is one thing, but exactly what tools would Apple use to detect this? I understand they have a tool that detects calls to private APIs, but what kind of signature is there for using an unapproved compiler / programming language?
post #19 of 198
Once again, a smart move by Apple.
post #20 of 198
Quote:
Originally Posted by Amdahl View Post

Are you kidding me? Adobe is jumping for joy.

Apple is banking on the mobile market surpassing the consumer desktop market in the near future...the next frontier one might say. At this point, Flash has made no real inroads into the mobile market, so, I doubt they are happy about this.
post #21 of 198
Wildly speculative programmer here. Either:

a) It's because in those environments code is effectively data and can be modified post-submission (e.g., for mono, just download another .dll - it's dynamic linking, which is banned). If Adobe's Flash converter is outputting C code compiled through the iPhone SDK then it could still work. If it's just an SWF runtime, then it's doomed.

b) Apple's app validation tool can't verify the contents of non-native code (all apps have to go through validation to check for use of private APIs).
post #22 of 198
This seems like a very bad move to me. I have no objection to restricting shovelware apps that have little or no value from the app store, but preventing developers using preprocessing tools that help them write the apps the way they want to is a bit dodgy. They might as well be saying "we'll only let you sell an app on the app store if you don't also sell the same or similar app on any other mobile platform", which could soon get them in hot water for being anti-competitive.
post #23 of 198
Quote:
Originally Posted by jameskatt2 View Post

This developer clause does not prevent Adobe or anyone else from creating a SDK which translates the language used (e.g. Flash) into C, C+, or Objective C. Then the output can be compiled in XCode into a working app.

It does prevent 3rd party apps which create native apps which then hook into Apple's APIs without going through XCode for compilation. But this is easy to work around using the above described process.

Flash is written in C and C++.

Apple will never support Flash executables.

They are pushing, and thankfully successfully so, HTML 5, WebGL, CSS2.1/CSS3, SVG and more OPEN STANDARDS.

The only rant people have is Apple won't back Ogg/Theora.

They don't even realize if they test Safari with http://html5test.com that MP3 isn't also natively supported.

Apple doesn't have patent rights to natively support MP3 inside Safari and therefore don't pass that test, but they do have copyrights to AAC and pass that test.

99.9% of the HTML5 spec doesn't deal with Audio/Video. It deals with so much more to make publishing far easier and uniform. Form support is going to be such a refreshing change and so much more.
post #24 of 198
So in addition limiting what apps you can install on your Apple devices, now they have decided that how the apps are developed is also their business.

I am sorry, this is just plain silly.

I see the mobile market going to same way as the desktop market. Apple will do well, making a nice living off the drones that don't mind their draconian operating practices, meanwhile the bulk of the market will go to other companies that don't want to act as your nanny.

-kpluck

Do you use MagicJack?

The default settings will automatically charge your credit card each year for service renewal. You will not be notified or warned in anyway. You can turn auto renewal off.

Reply

Do you use MagicJack?

The default settings will automatically charge your credit card each year for service renewal. You will not be notified or warned in anyway. You can turn auto renewal off.

Reply
post #25 of 198
Quote:
Originally Posted by Prof. Peabody View Post

I wish someone with greater knowledge of the whole thing than the article's author would chime in with an explanation.

I am no coder, but it seems to me that if the resultant code is the same then there is no way to tell what the thing was "originally" written in. Conversely, if Apple can tell what language things were "originally written in," then the resultant code is not equivalent and they have every right to argue for it not being used.

Apple can simply add a flag to the compiler that the OS checks for. Adobe could try and reverse engineer something, but it'd be palm pre + iTunes all over again. Also, Adobe engineers don't have access to the low level stuff Apple does. I'd be surprised if they can write a compiler that works just as well as Apple's
post #26 of 198
Quote:
Originally Posted by kpluck View Post

So in addition limiting what apps you can install on your Apple devices, now they have decided that how the apps are developed is also their business.

I am sorry, this is just plain silly.

I see the mobile market going to same way as the desktop market. Apple will do well, making a nice living off the drones that don't mind their draconian operating practices, meanwhile the bulk of the market will go to other companies that don't want to act as your nanny.

-kpluck


Wrong.
post #27 of 198
Quote:
Originally Posted by Napabar2 View Post

And you think Flash is the solution to multi-platform apps????

BWAHAHAHAHAHAHAHAHA!!!!!!!

Can I have what you're smoking?

What's your qualification in re: to programing?
post #28 of 198
Quote:
Originally Posted by jameskatt2 View Post

NO.

This clause insures that developers who build multi-platform apps will create apps that are best-in-class for the iPhone platform - not just hacked Bizarro Java apps.

This insures that iPhone users will get BEST TREATMENT from developers and are not treated like second-class citizens.

Actually, I think exactly the opposite will happen. The App Store drives iPhone sales, and this hurts the app store. In addition, it DRAMATICALLY impacts the ability to do custom vertical solutions based on pre-existing frameworks. I think this decision will quickly turn the iPhone into a second-class development platform that gets bad ports months after the fact, just like apple did to the Mac.

Tools like Unity3d can now no longer be used to create top-shelf games (C# based), and sone innovative no-programming dev environments that were coming out will likely go to android. With every decision like this that Apple makes they drive away dozens of good developers from the platform.
post #29 of 198
My qualification is that writing apps is not like the federal government. One form DOES NOT fit all. Applications should be written in their native development kits, and not cookie cutter crap like Flash.
post #30 of 198
Quote:
Originally Posted by Booga View Post

Actually, I think exactly the opposite will happen. The App Store drives iPhone sales, and this hurts the app store. In addition, it DRAMATICALLY impacts the ability to do custom vertical solutions based on pre-existing frameworks. I think this decision will quickly turn the iPhone into a second-class development platform that gets bad ports months after the fact, just like apple did to the Mac.

Tools like Unity3d can now no longer be used to create top-shelf games (C# based), and sone innovative no-programming dev environments that were coming out will likely go to android. With every decision like this that Apple makes they drive away dozens of good developers from the platform.

Yes, because the app store is doing soooooooo poorly in contrast to other apps stores.

The iPhone OS's success is NOTHING like what happened to the Mac.

People like you said the same thing about the iPod. 9 years later, still 70% market share.

The iPhone already has a greater market share in smart phones than the Mac ever had in desktop.

Two totally different platforms, two totally different histories.

Sorry about your luck.
post #31 of 198
Quote:
Originally Posted by jameskatt2 View Post

NO.

This clause insures that developers who build multi-platform apps will create apps that are best-in-class for the iPhone platform - not just hacked Bizarro Java apps.

This insures that iPhone users will get BEST TREATMENT from developers and are not treated like second-class citizens.

For new apps, in the short term, yes. For anything that is multi-platform it will now be much later for iphone versions to become available. There will be even less incentive to program a completely separate app for the iphone first once Android passes the iphone by in marketshare which is inevitable.
post #32 of 198
And yet interestingly, when we were getting the live update on the announcements here on AppleInsider this afternoon, it was via something using that eeeeeevil Flash, cutting out all the poor new iPad owners who might want to know about iPhone OS 4.
post #33 of 198
Quote:
Originally Posted by jgibson24 View Post

For new apps, in the short term, yes. For anything that is multi-platform it will now be much later for iphone versions to become available. There will be even less incentive to program a completely separate app for the iphone first once Android passes the iphone by in marketshare which is inevitable.


Wrong. There are three devices in this platform now.

Everyone always forgets about the iPod Touch. It actually sells more than the iPhone does. Now we have iPad in the mix. I do not see Android surpassing these 3 devices combined anytime soon.

Also, their apps store has FAILED to keep up with Apple's app store growth, by gross and percentage.
post #34 of 198
Flash is seeing its last days as the Big Standard.

The times, they are a-changing.
post #35 of 198
Quote:
Originally Posted by randytayler View Post

No, he's quite right, fanboy. This is Apple desperately trying to create a monopoly again, like when they locked up their hardware in the 80s. Jobs still hasn't learned from Gates.

Filtering out crapware is great, but restricting how it's developed is irrational.


No, you're both wrong. Go troll elsewhere.
post #36 of 198
heh .. its a ploy to drive down Adobe stock price so it can be really cheap for Apple to buy it up
post #37 of 198
Quote:
Originally Posted by AppleInsider View Post

Apple has updated its iPhone Developer Program License Agreement in the iPhone 4.0 SDK to specifically prohibit the development of apps using "an intermediary translation or compatibility layer or tool," which would include Adobe's Flash, Sun's Java, or Microsoft's Silverlight/Mono.

Ridiculous. Original language must be Objective - C? As long as the finished product meets apple's standards they shoudn't care.
post #38 of 198
Quote:
Originally Posted by randytayler View Post

No, he's quite right, fanboy. This is Apple desperately trying to create a monopoly again, like when they locked up their hardware in the 80s. Jobs still hasn't learned from Gates.

Filtering out crapware is great, but restricting how it's developed is irrational.

You know, people bitch about how newcomers aren't made to feel welcome unless they drink the koolaid.

I wonder why.
They spoke of the sayings and doings of their commander, the grand duke, and told stories of his kindness and irascibility.
Reply
They spoke of the sayings and doings of their commander, the grand duke, and told stories of his kindness and irascibility.
Reply
post #39 of 198
Quote:
Originally Posted by jgibson24 View Post

There will be even less incentive to program a completely separate app for the iphone first once Android passes the iphone by in marketshare which is inevitable.

Has the word "inevitable" taken on a new and surprising meaning? Does it now mean "theoretically possible, but entirely unproven, and not suggested by any current trends?"
post #40 of 198
Quote:
Originally Posted by jgibson24 View Post

For new apps, in the short term, yes. For anything that is multi-platform it will now be much later for iphone versions to become available. There will be even less incentive to program a completely separate app for the iphone first once Android passes the iphone by in marketshare which is inevitable.

They'll have to "inevitably" get past 15% and then they'll actually be in the running. Maybe. But then again, June is just around the corner and Apple's about to grab another chunk of smartphone marketshare. Now THAT is inevitable. Google had better hope Apple keeps the iPhone on a single carrier. Once Apple opens the floodgates in the US, it's game over for the also-rans.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: iPhone
AppleInsider › Forums › Mobile › iPhone › Apple's iPhone 4 SDK license bans Flash, Java, Mono apps