Linked by Thom Holwerda on Thu 8th Apr 2010 22:38 UTC
Apple John Gruber has found out that cross-compilers are no longer allowed in iPhone OS 4.0. "My reading of this new language is that cross-compilers, such as the Flash-to-iPhone compiler in Adobe's upcoming Flash Professional CS5 release, are prohibited. This also bans apps compiled using MonoTouch - a tool that compiles C# and .NET apps to the iPhone. It's unclear what this means for tools like Titanium and PhoneGap, which let developers write JavaScript code that runs in WebKit inside a native iPhone app wrapper. They might be OK."
Thread beginning with comment 417906
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: If it's true...
by Delgarde on Thu 8th Apr 2010 23:57 UTC in reply to "RE: If it's true..."
Delgarde
Member since:
2008-08-19

Yea, cuz this has worked so well in the Linux marketplace...


Referring to Qt vs Gtk vs random widget library? Not the same thing here, though - that's an issue over *which* libraries are used, whereas this is about *how* Apple's standard libraries are used.

It basically says you must use those libraries natively, instead of writing to a cross-platform framework (like Flash) that can be transformed into a native app. Presumably it still allows you to code in C/C++ with an abstraction around the Apple-specific stuff, but it does rule out a lot of options...

Reply Parent Score: 3

RE[3]: If it's true...
by whartung on Fri 9th Apr 2010 00:21 in reply to "RE[2]: If it's true..."
whartung Member since:
2005-07-06


Referring to Qt vs Gtk vs random widget library?


Actually referring more to the consistency of the user experience end users have when running on Linux.

In Windows it's mostly not so bad, since the vast majority of applications use the native toolset, so most languages produce UI that work and look like all the rest of windows (Java a notable exception, of course).

Presumably it still allows you to code in C/C++ with an abstraction around the Apple-specific stuff, but it does rule out a lot of options...


I think things like GTK et al are specifically excluded. They want you writing to the Apple APIs, not something else that runs on top of those APIs.

An example, if you had a C program written against, say, Win32, then you had a library that presents the Win32 API to your C program, but runs on the iPhone OS, then you'd have, effectively, Windows source code compiling and running on the iPhone, via a compatibility library. Those are the kinds of libraries that they're disallowing.

Other abstractions (A new IMPROVED! NSDictionary!), likely not so much. Easier to use OpenGL, likely not, A full boat portable game kit, perhaps.

They want coders writing code for iPhones, not anything else. That's the gist of this.

Reply Parent Score: 1

RE[4]: If it's true...
by Delgarde on Fri 9th Apr 2010 00:43 in reply to "RE[3]: If it's true..."
Delgarde Member since:
2008-08-19

They want coders writing code for iPhones, not anything else. That's the gist of this.


Agreed.

Reply Parent Score: 2

RE[4]: If it's true...
by Zifre on Mon 12th Apr 2010 01:01 in reply to "RE[3]: If it's true..."
Zifre Member since:
2009-10-04

Actually referring more to the consistency of the user experience end users have when running on Linux.

If you use GNOME apps, then everything is pretty consistent. If you use KDE apps, then everything is pretty consistent. Even when you mix them, it's not so bad with QGtkStyle.

n Windows it's mostly not so bad, since the vast majority of applications use the native toolset, so most languages produce UI that work and look like all the rest of windows (Java a notable exception, of course).

Are you joking? Windows is ten times worse in this regard. Many, many applications use custom drawn widgets. Now, I can't think of any good applications that do this, but there are many (especially the junk that comes on PCs). In Linux, there are two toolkits - that's it.

Linux is definitely more consistent than Windows. (Of course, Mac is even better.)

Reply Parent Score: 2

RE[3]: If it's true...
by Morty on Fri 9th Apr 2010 10:03 in reply to "RE[2]: If it's true..."
Morty Member since:
2005-07-06

Presumably it still allows you to code in C/C++ with an abstraction around the Apple-specific stuff,


Let see:

3.3.1 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).

Nope, that sounds like a no go. Don't you try being clever making your own abstraction layer to keep your application cross platform. Can't have that on the holy iDevices, that would break the lock in and also be sacrilege.

Reply Parent Score: 3

RE[4]: If it's true...
by qbast on Fri 9th Apr 2010 20:34 in reply to "RE[3]: If it's true..."
qbast Member since:
2010-02-08

So I can use Qt and target simultaneously WinMo, Maemo, Symbian and (soon) Android or I could buy a Mac, learn Obj-C and code just for iPhone. Considering that Symbian alone has 3x bigger market share than iPhone, Apple can go to hell for all I care.

Reply Parent Score: 1