Feeds

Apple app police anoint un-Flash code translation

You're not Adobe? You're in!

Reducing security risks from open source software

Though Steve Jobs has banned code translation on the iPhone and the iPad, the Apple App Store police continue to accept applications built with Unity and Appcelerator's Titanium, two dev kits that convert code from languages not explicitly approved by Jobs.

If there was any doubt that the primary target of Jobs' code ban was Adobe Flash, it's been laid to rest. Nearly.

Since Apple unveiled new iPhone SDK terms of service banning code "translation layers" — "only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs," it now reads — the company hasn't barred a single application coded with Titanium, which converts JavaScript and other web-happy languages into Objective C. "We've had every single app accepted — and there's been a lot of them — up to and including the launch of the iPhone 4," Appcelerator director of marketing Scott Schwarzhoff tells The Reg.

"In fact, we've had more apps accepted since this whole thing started on April 8, than before. So that puts it in the realm of several hundreds, if not thousands of apps accepted in the App Store."

Though Apple released the new iOS 4.0 SDK on April 8 — and began presenting the new terms of service when developers logged into the Apple Developer Center — it didn't begin accepting apps based on the new version of the OS until early June. iOS 4.0 was released on June 21, and the iPhone 4 handset — which uses the new OS — arrived in stores on June 24.

Schwarzhoff points to MTV Network's "Jersey Shore Yourself" and Bud Light and TribalDBB's "High Five League" as Titanium-built apps that have been accepted to the App Store since the SDK change. "The point is that no application has been turned down for use of the Titanium platform," he tells us.

The open-source Titanium is a means of building native desktop and mobile applications using traditional web-development tools, including JavaScript, Python, Ruby on Rails, HTML and CSS. The idea is that seasoned web developers can build apps for the iPhone without learning Objective-C, and they can easily use the same code on other devices as well. The kit provides additional APIs for building native runtimes for Windows, Linux, Mac desktops and notebooks, Google Android handsets, and BlackBerries.

So, with Titanium, you're not coding in Objective C, C, or C++. You're coding in JavaScript or some other web language. But the kit invokes Apple's Xcode IDE (integrated development environment) and converts the code into Objective C before compiling it.

"Effectively, what we're doing is machine-generating Objective C and then compiling just as the developer would do if they had originally written in the language," Appcelerator CEO Jeff Haynie has told us. "We're not trying to bypass everything that Apple has set up to ensure quality and performance and things like that."

The company has not received official word from Apple that its kit falls within the rules of the App Store. But it seems the App Store police have given the company their implicit approval.

The situation is much the same with Unity, a platform for building games across multiple platforms. Based on Microsoft's .NET, Unity allows developers to code for the iPhone and other devices using JavaScript and C#. Asked if Apple had rejected any apps built with its kit, Unity pointed us to a recent blog post from CEO David Helgason.

"While we’ve had some reason to believe Unity using C# and JavaScript would be okay, Apple has not confirmed anything and in general very little information has been forthcoming. However, as of today Apple is still approving every game we know of and Apple has recently featured several excellent Unity games in the App Store," he wrote.

This is particularly telling because — contrary to previous reports — Unity does not convert code into Objective C. Unlike Titanium, it converts JavaScript and C# into "heavily optimized" assembly code, which is fed into Apple Xcode, the company tells us.

At the end of April, with his infamous "Thoughts on Flash" letter, Steve Jobs made it quite clear that the new SDK language prevented Adobe from translating Flash script for use on the iPhone. When the SDK was unveiled, Adobe was days away from releasing a new iPhone packager with its Flash Professional CS5 development kit.

The Power of One eBook: Top reasons to choose HP BladeSystem

Next page: Murder by Jobs

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Mozilla fixes CRITICAL security holes in Firefox, urges v31 upgrade
Misc memory hazards 'could be exploited' - and guess what, one's a Javascript vuln
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.