What could be dumber...
than choosing to develop using javascript, CSS, and HTML? The only plausible argument for their use is that runtime environments (browsers) require it. But, even then, there are alternatives like GWT.
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 …
Objective C is about as challenging as learning Chinese and the code makes about the same sense too.
OTOH developing in web-based technologies for simple applications is quite trivial and any half-decent HTML / JS / CSS coder can do this. Turning a website into an application makes a lot of sense; just look at the sorts of things the eBay or Amazon application did.
There's an excellent book on the subject of building iPhone applications with HTML, CSS and JavaScript which I recommend you read.
Of course, developing in normal languages is well beneath the hyper-intelligent mega-being's tool of choice: Obfuscative C.
Certainly, it's a good thing the apple police are less draconian than apple's explicit terms and conditions about banning portable technologies.
However it's not really any good that apple is ignoring it's own rules when deciding which apps to allow.
I guess poor enforcement of bad rules is better than strong enforcement of bad rules.
Downloaded Unity3D 3.0 today and it's even better than before. =)
Love using C# to develop for iPhone/iPad, with the odd bit of Objective-C tweaking; however, very pleased that Unity have Plan B in place.
Although I think Unity should press on with Plan B and offer up C++ access to all scripting as standard part of Unity development anyway, simply to give developers more choice.
"The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms"
Wow. That sounds exactly what I'm looking for. For me as dev consistent looks on all supported platforms is worth heaps more than pleasing the beast of Cupertino.
"For me as dev consistent looks on all supported platforms is worth heaps more than pleasing the beast of Cupertino."
I hope that isn't you saying that you use Flash for this? It's not available on all platforms, has performance issues on some and is a reduced version on others. It doesn't like touch screens too well either.
Just use HTML 5.0 ;)
Oh wait, that's what Jobs said (for different reasons)
FTA:
[Appcelerator CEO Jeff Haynie]
"If Apple tweaked its thread scheduling underneath an API to better handle multitasking, he says, Adobe iPhone packager apps may not see the benefit."
Err , hello, underneath the API is the OS! NO app can bypass the OS and its the OS that does the threading you moron. Did you read Computing for Dummies before they gave you the Head Suit job??
This post has been deleted by its author
"And underneath the OS is the machine code that the processor is actually running. "
Newsflash - that goes for any OS.
"Like Unity3D, Adobe's iPhone Packager does not convert code into Objective C. It converts it straight into machine code."
And? Sounds like you need to read Computing for Dummies too, specifically the chapter on how virtual memory and CPU privilege levels work.
Don't they teach these basic concepts anymore at colleges?
Full disclosure: Jeff's my boss, but I'm posting as myself, not representing Appcelerator or anything.
Actually, Jeff does do a lot of coding, and you can see it on Appcelerator's Github repo since you won't believe me. There's underneath an API, and then there's underneath an API. Since we're talking about threading, let's go into detail.
iPhone OS (Sorry, iOS) run on the mach kernel, which does offer a POSIX API, namely you can do all the pthreading you want. This is very low level, and when Apple talks about 'their' APIs, they don't mean APIs like these. Instead, Apple refers to its APIs such as Cocoa Touch, Core Foundation, Grand Central Dispatch, etc. Several of these offer different ways to do threading.
In the foundation classes, there's -[NSObject performSelectorInBackground:withObject:] and -[NSObject performSelectorOnMainThread:withObject:waitUntilDone:]. With NSOperation and NSOperationQueue, the OS does load balancing and pool management that you wouldn't get automatically with pthreads. Titanium uses both of these APIs. The only reason that Titanium doesn't also use Grand Central Dispatch, which allows execution of anonymous code blocks in different threads, is because we still support 3.1.x, which doesn't have the OS functions.
It's highly unlikely that Adobe's packaging would use NSObject and NSOperation's threading methods, because that is OS-specific and would be missing in everything but the iPhone and Macintosh systems. It's highly likely that they would instead use the underlying pthreads, which are present even in Windows.
So. If Apple tweaked its thread scheduling underneath NSObject and NSOperation APIs to better handle multitasking such as using Grand Central Dispatch and better manage their sue of pthreads, Adobe iPhone packager apps, if they use only pthreads and don't touch NSObject and NSOperation, may not see the benefit.
Or, in the short version, since "an API" may refer to NSObject or NSOperation:
If Apple tweaked its thread scheduling underneath an API to better handle multitasking, Adobe iPhone packager apps may not see the benefit.
See how that works?
It uses Mono. Though the end result is much the same.
(Also, it's called "Unity", not "Unity3D". Still, never let a few facts get in the way of a good non-story.)
Unity isn't banned from iOS4 because Unity *is* built against the SDK. Every time you run a Unity game, you're running Unity. It's the *database* that changes, not the app. No "rules" are being broken here because the Unity developer's code only ever gets as far as the Unity engine.
The build process still involves the iPhone SDK: it spits out a proper XCode project, not a completely opaque binary file as Adobe's solution does. If you're willing to get your hands dirty with Objective-C 2.0 (a much underrated language), you can throw iOS4 APIs around to your heart's content. That's the whole *point* of this exercise: ensuring developers aren't forced to ignore whizzo new iOS features because they can't get at them.
Adobe's solution, on the other hand, bypasses Apple's SDK entirely, spitting out a .IPA file with no intermediate stages. If Apple updates the SDK with new libraries, new bugfixes, etc., Unity apps would simply need a rebuild, but Adobe's customers wouldn't have that option. Result? Support headaches and iOS' reputation dragged through the mud through no fault of Apple's own. Apple would then be faced with a dilemma: add fragile hotfixes and patches to iOS *just* for these Flash-built turds and face all the legacy support problems and developer inertia such fixes tend to create... or simply ban Flash-built apps in the first place.
(And before anyone suggests the first option—and leaving aside the logic behind demanding Apple spend its own money patching *someone else's* crap code—this is how Windows' reputation for bloat and its umpteen legacy APIs came about.)
People who knock Flash/Flex either haven't used a recent (post 8.0) version for development, or are too inexperienced to understand what they should be using it for.
In the old days when I hated Flash (through its association with advertising), before (via OpenLaszlo) I discovered what it could do, I was a HTML fanatic busy abstracting the cross browser chaos, writing DHTML/AJAX libraries (a good year before any popped out onto the web and I realised I wasn't the first!) trying to tell anyone that would listen that SVG was "a really good idea" that Browsers were *bound* to pick up on, and fervently hoping for an OpenGL plugin so I could carry on coding in OpenGL. Turned out to be rather a pointless perspective. We're still waiting, and I'm not sure it's worth it anymore when I see what can be done in Flash/Flex (for all platforms except for the Jesusphone, and that's just because of politics which can change in the blink of an eye).
In the meantime, Flex is one of the sharpest tools in the toolbox. Contrary to popular belief, it fits in very well alongside a healthy dose of JQuery, RoR/Spring ... lets you do things which the HTML acolytes can only dream of, and then when you start getting into rtmp over the Open Source Red5/BlazeDS things get really interesting.
It's also here to stay, unlike Titanium. I just spent a few weeks mastering it, built some interesting apps on the side, then realised that I didn't want my business to be at the mercy of one man's mood swings.
Not a Fanboi. Not a Flexboi. Appreciate HTML but don't think it's the holy grail. Just somebody making systems which work, and work well, for people who need them.
I knock Flash because it hangs and craps out all the time. I don't care how easy/difficult it is to develop for, if the end result is a steaming pile in my browser.
Of course, the same people using Flash are the same morons that don't bother to put their business hours, shop location, or phone number on their sites, so I guess they might as well make it *totally* useless.
I never ever notice flash hanging or crapping out, google docs seems to freeze up a lot more often
streetview, nope works fine
audiotool, great app works perfectly
aviary apps work fine
all really advanced cutting edge stuff that apparently are made by 'morons' according to design bigots like Gene Gash.
It's simply a matter of logical pragmatism when it comes to being an internet user:
Flash IS out there so something is needed to see it -- and there's always someone out there who will pony up: just look, there's flash on the iPad now -- no, it's not 100%, but it's a start.
How Apple pisses off the only company that ever made it's crappy overpriced PCs somewhat viable.
I mean who besides some graphics people and a few nutjobs spends almost double the money they would on an adequate non-Apple box?
Just imagine how fast it would sink Apples PC business if there was no more Photoshop for the MAC ^^
Normally I'd say magical fairy Steve sure has some (magical) balls but i guess now that Apple has their magical phones and magical wonderful astonishing tablets, what does it matter?
I mean, who wouldn't want to buy totally magically locked devices without servicable batteries, without removable storage media such as microSD, without standard interfaces and coming with a premium pricetag for all the magicalness (and wonderfulness. Did I mention how magical it is?).
What a wonderful world with millions of clueless people to exploit... oh the joy!
(Steve Ballmer because ... well, there's no devil Steve Jobs icon. I wonder why, the latter is even worse)
If you want to troll properly, you'll have to capitalize Macintosh properly, as it's not an acronym, it's an abbreviation of a trademark, and thus, Mac.
You'll also have to be able to recognize the difference between Steve Jobs and Steve Ballmer, as the icon you used IS the devil Steve Jobs icon. El Reg doesn't have a Steve Ballmer icon, and sadly, not even a dancing one.
Doing this will help your standard "They're all overpriced" claim hold more water, and make you look less like a 13 year old troll, and perhaps maybe even give the impression of a clue.
...he has some valid points though.
The phones and the paddy thing are overpriced and locked down.
The workstation, since there is only one anymore, is also way to expensive.
The iMac was a nice concept but not at this price.
The new Mac mini is a joke, especially for this price!
just the plastic iBook looks like good value for money, but only as long as you don't need an always working notebook with business grade service contracts. (and yes, my private notebook is a business notebook from dell with a business grade pickup contract)
So essentially Apple seems to like to alienate techies, likes to appeal to fashionistas and tries (and fails in my opinion) to change the mobile phone business.
Adobe did release the iPhone packager. It's part of Flash Pro CS5. It works great. You just might not be able to get your apps approved, but I don't know what people are actually experiencing if they submit Flash Packager apps.
A very similar toolchain is one of several options available to support Flash's Air for Android which is currently in Beta. One major difference is that the AIR runtime is shared among AIR apps on Android.
Really? i can't remember the last time i had a browser crash, never mind one that was even caused by flash. If that's happening regularly then maybe there's just something wrong with how your computer is working.
Flash crashing on a mac? maybe although i've not noticed it, but since Apple don't let Adobe use hardware acceleration on OSX then maybe the blame should be at their door instead of Adobes.
Oh and the comment by Ben 50 above is one of the best i've read on this issue in a long long time.