Game Development On Android 211
Gamasutra is running an article about the state of game development on Android. The author explains some of the strengths and weaknesses of the platform, and makes comparisons to development on the iPhone. Quoting:
"While iPhone apps are written in Objective C, the Android SDK uses relatively more programmer-friendly Java. The iPhone store charges developers $99 a year to distribute their apps, while Android has a one-time $25 fee for developers. And the review process for iPhone apps grows increasingly lengthy — sometimes weeks or more — and it's somewhat arcane. Android apps go live as soon as the developer hits the publish button. Google handles the review process post-hoc, and is much more lax in terms of content. ... For now, if a developer decides to implement a game exclusively for a particular smartphone platform, and the choice is between the iPhone and Android, the tradeoff is between trying to get noticed in an incredibly crowded and competitive market where the potential payoff is huge for those at the top, or entering a market with low barriers, little competition, currently low returns, but the possibility of potential growth."
opinion (Score:4, Interesting)
Re:opinion (Score:4, Interesting)
It's not really a problem in PC, it can be assumed everyone has atleast keyboard and a mouse and if you're playing games, graphics card too. What it comes down to is if you have enough RAM, CPU and powerful enough graphics card and you can see the requirements from the package (or online).
Phones are different because of the actual hardware differences. Like you said, some phones might have (multi)touch or not, physical keyboard or just software keyboard, 3d acceleration, different types of physical keyboards, different resolutions and so on. Since iPhone is always the same kind, it's easier to develop to it.
However for Windows Mobile and Symbian game developers have usually released different versions for different devices. It might create more barrier for an indie developer to entry the market because they have to test their software on all the supported devices and make adjustments, but for studios it's not so much work. But then again, big studios port their games to all platforms; Symbian, WM, iPhone and Android.
But Java on Android.. meh.
Re: (Score:3, Interesting)
Re:opinion (Score:4, Interesting)
One could easily say the same about Objective C on the iPhone. It's no Sunday walk in the park.
A programming language is a programming language. They all have features that people like and dislike. With Obj. C 2.0, Apple has made quite a few strides in making Obj. C programming much easier, with things like properties replacing your standard setter/getter methods & allowing for dot notation. The only real pain is that the iPhone doesn't support garbage collection due to performance issues, so you still need to manage your memory. Obj. C is also pretty verbose, but with CodeSense that doesn't matter much. Most people who complain about Obj. C probably haven't spent the week or so it takes to learn all of the nuances. There's even a book out now called Learn Objective-C for Java Developers [tr.im] which helps to bridge the gap.
Re: (Score:3, Interesting)
Re: (Score:3, Interesting)
Re:opinion (Score:5, Insightful)
I have to ask: I've been programming Objective C off and on for a few years now (around the time they switched to Intel), and while Objective C 2 brought a lot of good stuff with it, is dot notation really that big of a deal?
It's not a big deal for most people, but if you're coming from Java or C++, it makes it look slightly less exotic. So instead of having to write
:-), but if it helps some people overcome their mental blocks, then it is probably a big deal for them.
[myThing setThing:5];
You get to write
myThing.setThing = 5;
It turns out to be about the same # of characters, so you don't really gain anything there (unless you don't like using your pinkies
Re:opinion (Score:5, Interesting)
Just sayin'.
Re: (Score:3, Interesting)
It might create more barrier for an indie developer to entry the market because they have to test their software on all the supported devices and make adjustments, but for studios it's not so much work.
Indeed, but to add to that, it's far less work that porting to another platform such as the Iphone.
A developer can pick whatever phone they like to develop for. If it turns out that some of those share a common platform (such as Windows, Android, etc) that make it relatively easy to run on other devices, in n
Re: (Score:2)
Quality control (Score:2)
I have to agree to a certain level. Apple has a level of quality control that people tend to forget and think of it more as a proprietary system. Its true Apple does not make sense in their choices most of the time and for some reason it works. A elite cliche type of expression if you own their products.
Whiles others that see room for improvement in their model try the same with looser controls and it never seems to be able to catch that distortion field momentum that Jobs is so good at creating.
Re: (Score:2)
Re: (Score:2)
Personally I'd rather not return to the bad old days where every phone was incompatible with each other, but:
Apple has the advantage of controlling both the platform and the device. So you know that whatever you develop for the iPhone it will work.
There's nothing stopping you from developing for one specific brand of phones. Indeed, this is precisely why such a comparison is ludicrous - and what about all the other phones out there? Even if you stick to one brand, there are plenty of others, that sell more
Re: (Score:3, Insightful)
I just don't see it.
Re: (Score:2)
Anything from Bloom/HDR to Anisotropic filtering back all the way to 3d textured FPSes. The jump from, say, Doom to Quake was entirely driven by uptake of hardware 3d acceleration.
If you decide to "not see" those as innovation, well, that's your choice. They're certainly innovations in the style of games that can be portrayed. When/if the next change comes to realtime raytracing, that will completely change the way games can be designed (no need to count maximum visible polys, for a start), and that will
Re: (Score:2)
Anything from Bloom/HDR to Anisotropic filtering back all the way to 3d textured FPSes. The jump from, say, Doom to Quake was entirely driven by uptake of hardware 3d acceleration.
Bull. It was (really) 3D and fully software rendered out the box. The 3D part is what drove Quake's success, not hardware. Everything in quake that actually took advantage of 3D hardware was a hack bolted on later. Like transparent water.. hehe.
Re: (Score:2)
Not innovation, but development (Score:3, Insightful)
The biggest strength the iPhone platform has is that the screen sizes are all the same, which makes game development much easier. You can optimize for that resolution and the standard set of inputs, instead of having to accommodate some people without multi-touch, some people with a keyboard and some without, all with different screen sizes that may affect the playing field.
The iPhone game developer does have the same issues as far as 3D power though, because the 3Gs and newer Touch devices support a more
Re: (Score:2)
One could argue the other side and say that by not having to worry about innovating on the tech side to fit a game into an unknown hardware spec, the developers can spend more time innovating on the game play side.
But really, I think the argument is moot. Both PCs and Consoles need each other even if just as an adversary such that there is no stagnation in the industry. Without PCs, Consoles have no reason to go to the next gen. Without Consoles, PCs have no reason to make drastic changes to game play.
Re: (Score:3, Insightful)
1). I don't really care about innovations done for "scalability" done for PCs. With a console, you know exactly what everyone has, therefore you can optimize your art assets, audio assets, and your engine to run on that specific hardware. With a PC, you're wasting time trying to figure out how to dynamically determine if this player has obscure graphics feature C and dealing with turning it on or off. That's time that could be spent on real innovations, such as gameplay, that the "market" (players) actually
Re: (Score:2)
To be fair, the bar for indy development on PC is much lower - see Penumbra (yes, it's a FPS engine, but it's a First-Person-WHATTHEHELLISTHATRUNAWAYAAAAAGH, and for that it's pretty awesome, even if, yes, horror survival is nothing new). Introversion also has a lot of awesome stuff under their belt in terms of innovative, and there's the "game as art" lot, even if a few of those later had console ports (and of course, there's the game everyone seems to be trying to clone, like Patapon (initially for the PS
Re: (Score:2)
Portal was launched simultaneously on PC and console, but it plays far better with a mouse.
That's an opinion I have Portal on PC and on my 360 and its easier with the mouse but it was more fun on a console because it took a little different skills.
Trendy (Score:2)
Re: (Score:2)
I do care about the openness of Phone, or so I always think. I love Windows Mobile (and my HTC has better interface than the usual WM one) because theres no restrictions on what apps you can install, like on iPhone and Symbian.
But then again, why? Yes it's great when you want to install certain app and theeres nothing in way of that (as long as theres such app available), but frankly I dont use the phone so much that I really care much. I might sometimes play around with some new fancy app I found, but then
Re: (Score:3, Insightful)
You can use logic all you want to show the advantages Android phones have, but until the shine wears off for the iPhone fans and people realize just how tied their hands are, it will remain the dominant phone.
You're half right, the other part of the shine equation is eventually, the air of exclusivity will wear off and apple will become the next burberry and chavs will have them and then no one will want one.
Re: (Score:3, Insightful)
You're half right, the other part of the shine equation is eventually, the air of exclusivity will wear off and apple will become the next burberry and chavs will have them and then no one will want one.
Don't assume that everyone picks a phone based on who else uses it or whether it is trendy.
Many people pick phones based on how it works and what it does - I certainly chose an iPhone on that basis, because the UI was the first one which felt like it was actually designed with a user in mind. The UI on the iPhone is good in my opinion, much better than what came before. It's quite a good phone (*if* your telephone service is good), the software is updated regularly, and in spite of Apple's control freak ten
Re: (Score:2)
Using, and developing for, an iPod touch (can't afford the iPhone) I fail to see how my hands are 'tied' or how a regular user would ever 'realize their hands are tied'. Dream on Mr. Revolutionary Geek, and make sure you fight the power of sleek designs.
Re: (Score:2)
Android phones are a usability mess.
I was out on a smoke break with a friend of mine who owns a G1 a few weeks ago. I was also bashing out some mobile specific web app and wanted to test it with a G1.
Because the fact that /, -, and some other common symbols are hidden in weird places on the keyboard, it took me a bit to get to my own app, even on the soft keyboard.
I don't care what's under the hood, usability is king among consumers. Freedom? That's a huge after thought.
Tempting (Score:2)
Android is definitly a tempting choice for development - purely because of the ease in which you can push a product to market. But then again, there's also Symbian, which is used on things like the Nokia N97, which has been around for ages (in various itterations), the latest one is the true smart-phone style thing, but I have a 3 year old phone with an older version of Symbian on it that can still run Java Games, meaning there is already the possibility of a large market for simple apps that can run on old
N97? (Score:2)
First, I have an N95 8GB which is the best "phone" I have ever seen. Symbian is fine as long as there are buttons to push. I mistakenly bought the steaming pile of shit, that Nokia refers to as the N97. Nope, Symbian is not god for, ready for, should be used on, anything with a touch screen. This thing is a disaster. Update the OS, doest it make it any better? Nope. Symbian has hit a brick wall. N95 = good (V3) N97 = not only bad, but embarrassing for Nokia.
I think the reason Nokia is releasing the N900 is
Re: (Score:2)
Amen.
iPhone - locked down to what Apple wants you to do.
Android - locked down to what Google wants you to do (ie Java/Dalvik development only with their own version of the app store and installation verification)
Maemo - pure, open, Linux loveliness.
(and then there's WebOS and Moblin too)
ArsTechnica has a little review about Nokia's plans and the N900 [arstechnica.com]. Its step 4 on their 5-step Linux/Maemo strategy. Certainly it will set the bar higher for the other players and possibly dominate the smartphone/tablet/MID ma
Java more programmer-friendly than Obj-C? (Score:2)
That's depends entirely on the taste and skills of the programmer.
Re: (Score:2)
And more to the point, what about garbage collection? Every time the garbage collector kicks in the UI freezes for a short time. You really don't want this in a game (or at all really). In fact can anyone name any popular games written in Java? As far as I know they are nearly all C/C++.
Luckily you can write OpenGL Android games in C++ using the NDK.
Re: (Score:3, Informative)
This problem has been solved long ago by incremental garbage collection. Apple's Objective-C 2.0 also has garbage collection BTW.
Re: (Score:3, Informative)
Android doesn't use incremental garbage collection. Or JIT for that matter.
Re:Java more programmer-friendly than Obj-C? (Score:5, Informative)
Yes, Android uses a converter that changes java bytecode to a different beast entirely, and performs a large number of global optimisations that decrease size and increase speed - ones that a compliant Java VM isn't allowed to do. So it ends up going about the same speed as JIT, but only needs the power a small phone supplies.
As for garbage collection - Android performs about as well as a C/C++ program filled with malloc()/free() or new/delete. C/C++ games programmers could do that, but they choose not to because they know that avoiding malloc/free/new/delete gives them a performance boost. Android has exactly the same tradeoff - avoid object creation in your code! Create what you need at the start of a level and then don't free it until the end of the level. You'll get good performance. Android has an entire section on how to get good performance [android.com], just like C/C++ programmers have plenty of strategies for getting good performance out of any platform.
Re: (Score:2)
It doesn't convert it to a 'different beast entirely'. It's still bytecode, and slower than native code.
new/delete is still much faster than garbage collection, and doesn't freeze the UI like Android's GC does.
Check out this paper, they found that java with manual free's performs much much better than GC java, especially when memory is limited (as in phones):
http://www-cs.canisius.edu/~hertzm/gcmalloc-oopsla-2005.pdf [canisius.edu]
Re: (Score:2)
1) That paper is 5 years old. Things change.
2) They actually say that GC (from 5 years ago) is just as fast as manual malloc/free if you have plenty of RAM. Not true on a cellphone, sure, but true in many cases.
3) They didn't look at the Android GC impl, for obvious reasons.
Re:Java more programmer-friendly than Obj-C? (Score:4, Informative)
I have no idea about the Android JVM, but in a regular Java JVM object creation is actually significantly faster than malloc. This article [ibm.com] is quite old, but shows that even back in 1.4.2 days it was nothing to be scared of.
Re: (Score:2)
Re: (Score:2)
What about applications that are not games. Can you still write them in c++ without wrapping the entire iPhone api?
Re: (Score:2)
Only problem I ever had was with the GCC compiler that was included with versions prior to iPhone OS 3.0 SDK, which would spew out warnings for C++ objects with non-trivial ctors embedded in Obj-C objects even though I did explicit calls to ctor/dtor's. Now it's done automatically with the right compiler flag.
Really... Is Java easier to program games with than C++/Obj-C? Making an assump
Give us C++ (Score:2, Insightful)
Java may appeal to some, but many of us just want C/C++ (Objective-C, allows that).
Games on consoles and PC are normally not developed in Java for many good reasons. Game developers that want to transition to phones are likely to prefer to stay with C++ where they can use their tools of choice, such as Visual Studio.
In fact, I think that a few people out there already develop C++ on PC and keep the actual iPhone/XCode build on the side. This is a big plus for those that are already making games and would li
Re: (Score:2, Troll)
I can see wanting to stick with C++ because it's what you're used to or what you like. But Visual Studio? Seriously? I have to use that POS every day and to be honest it's only made even remotely usable by adding ReSharper, which gives you some of the features from IntelliJ. The best Java IDEs are leagues ahead of VS.
Re: (Score:2)
I can believe it's better than XCode (I've never used it) and I could even believe it's the best overall C/C++ IDE. It's just not very good compared to the Java IDEs - and therefore doesn't make sense to me as a reason to not use Java.
Re: (Score:2)
You're welcome [android.com]. (Android NDK allows for native development.)
You still need a Java wrapper to handle communication with Android (keypresses and such) but the game can be written entirely in C/C++.
I'd say as far as development friendliness you should take into account that you can develop for Android on many platforms. For iPhone you must have OSX.
Re:Give us C++ (Score:4, Informative)
Someone please mode this up!
The latest release of the NDK now officially allows OpenGL ES access from C/C++.
opinion piece (Score:2)
relatively more programmer-friendly
[citation needed]
Friendly is in the libraries... (Score:2)
Java vs. Objective-C is a non-starter compared to what libraries are available to each platform.
Most serious game developers on the iPhone aren't even writing much Objective-C - they often use a framework like Unity, which lets you script in Javascript or C#.
Even those using some of the free frameworks like Cocos2D are spending more time thinking about Cocos objects than they are about Objective-C syntax, which is pretty easy to pick up. Syntax is only a tiny part of any modern platform, it's all about lib
iPhone supports C++ just fine (Score:2)
Any one suggesting iPhone development is limited to Obj-C is inexperience in iPhone development. Any one suggesting Obj-C is hard to use compared to Java may have a point, but primarily because the Java IDEs are so good compared to XCode. As far a game dev goes, I prefer C++ to
The stats say it all (Score:3, Insightful)
While 90k+ apps & over 2bln downloads makes it harder to get noticed, those numbers say it all.
I've used a few Android phones and I like them. But the thing that makes the iPhone great to develop for (after you get past obj-c hurdle, the api's are actually really good) is that it's *standard*. One form factor, end of story. I can't help but think Android is gonna fall into the same hole that J2ME did when it tried to support everything. Already developers are maintaining separate branches for separate devices for Android. I've developed J2ME apps before and they are a f-ing nightmare. That platform never took off for a reason, because there's *too much* choice and diversity. Everything to all people; good luck.
There are also no where near as many Android users as iPhone and so developing for that platform with the intent to make some money on your app is not very plausible at this point. Maybe in a few years, maybe not. (Plus I hate Eclipse, so much unnecessary bloat, just like Java. I want tools that are fast and that don't require 5mil downloads of some frameworks I'll never use. But the Eclipse thing is only my hang up and I'm sure most Android devs won't care.)
So as a developer what makes more sense? 5 code bases for 5 Android phones - all with different form factors / features - and relatively little money for all your toil? Or one platform and the chance to hit it big? It's the same argument on a PC; develop for the huge Windows market, or everyone else?
Re:Seems a trifle disingenuous to me (Score:5, Interesting)
You're being shortsighted though. While your numbers might currently be true, you're not seeing the big picture in all of this. Apple is 2 years old on the market, they are past their initial launch boost and they have exactly 1 product with different capacities.
Android is less than a year old on the market, many of the Android devices are announced and coming this fall/winter. They have many more carrier deals than the iPhone has, and already more devices. Expect the tables to turn in 1-2 years. Apple will become the niche and Android will be everywhere. That is if they manage to supplant Symbian which right now has 3 times more market share than the iPhone and Android put together.
Re: (Score:3, Insightful)
They have many more carrier deals than the iPhone has, and already more devices. Expect the tables to turn in 1-2 years. Apple will become the niche and Android will be everywhere.
iPhone and Android are in different kinds of market. iPhone's disadvantage *is not* that it only has one device on the market; it's an advantage for Apple, since it's the exact same phone for the whole platform, while in Android (and Symbian/Windows Mobile and so on) developers have to count all different kinds of devices and make separate apps for every phone. However, for Android it's also their advantage that they will have more models on the market.
They do not necessarily have to fight with each other.
Re:Seems a trifle disingenuous to me (Score:4, Insightful)
No, they're really not. iPhone and Android compete in the same space, with the same kind of marketing and appeal to the same kind of crowd. They are Internet devices that happen to have phones in them. And Android is pretty device agnostic contrary to Symbian. The Android Market is open to all Android phones and Apps aren't really limited to certain phones yet (the ones on the market all share the same specs under the hood). You can think the iPhone is safe, but Apple has a lot of competition coming in the next few years and they better be ready to fend it off.
Re: (Score:3, Interesting)
Think about it this way. If you need to lubricate something (not like that), what kind of lu
Re: (Score:2, Interesting)
Android already has passed up iPhone. Multitasking. Scripting languages. Open application development. All things that Apple has chosen to withhold from the market and all things that will enable users to do more with their android phone. Oh, that and laying the foundation for establishing the standard for open handsets - literally and figuratively.
Re:Seems a trifle disingenuous to me (Score:4, Insightful)
name a market segment that cares about *any* of that then get back to me.
Re: (Score:2)
This has been the situation with Palm OS, Windows Mobile and Symbian.
The reason why Apple's selling like gang busters has been usability. Me and my girlfriend figured out the iPhone OS when we first picking the thing up. Android? Not so much. Anecdotes aren't data, but I'm pretty sure the sales figures speak for themselves.
The iPhone market is open to all game developers (Score:2)
The Android Market is open to all
But remember we are talking about games here.
We are not talking about Flash players or Google Voice or apps that skin the home screen.
For game developers, there has basically almost never been a problem with rejections outside QA issues (like crashing). So how is the iPhone market really less open for them? You can market your game any way you like to take users into the app store, and many more people are likely to see your game on the iPhone just browsing for games.
I'm
Re: (Score:2, Interesting)
Re:Seems a trifle disingenuous to me (Score:4, Interesting)
1. Windows Mobile is on a lot of different devices but according to Canalysis, the iPhone outsold all WM devices combined worldwide last quarter.
2. Rob Glaser, founder and C.E.O. of RealNetworks (circa 2003), ''It's absolutely clear now why five years from now, Apple will have 3 to 5 percent of the player market.'' Plays4Sure devices were suppose to overtake Apple and leave Apple a niche player....
http://www.nytimes.com/2003/11/30/magazine/30IPOD.html?ei=5007&en=750c9021e58923d5&ex=1386133200&partner=USERLAND&pagewanted=all&position= [nytimes.com]
Re: (Score:2)
How does it compare to Nokia? Or even Blackberry?
I mean sure, maybe AmigaOS outsells RISC OS, but it wouldn't be much to shout about.
Re: (Score:2)
http://www.canalys.com/pr/2009/r2009081.htm [canalys.com]
Symbian 50.3%
RIM 20.9%
Apple 13.9%
Android 2.8%
Re: (Score:2)
Re: (Score:2, Interesting)
I can't agree with this entirely, you're forgetting that there was life (or rather, there were smartphones) before the iPhone. It's not like there was nothing before, but iPhone wiped the floor and really set the standard.
3 years ago, everyone was clamouring over the new motorola, nokia, treo or what have you. The market was segmented, lots of different standards (anyone remember nGage?), OSes, and phone brands. Then all of a sudden comes the iPhone - one phone, one supplier, one app store, one developme
Re: (Score:2)
This was not a problem for personal computers, and will not be for phones. iPhone was a game changer, just like the Apple II, Mac and Newton were in their respective times. Apple has always been the best at making a vision for the future real - but they rarely translate that into a dominant market share (iPod is the exception, but one has to wonder if technology based vendor lock in for music will remain a valid strategy forever).
What lockin? (Score:2)
... but one has to wonder if technology based vendor lock in for music will remain a valid strategy forever
Um...what technology based vendor lock in?
You do know that not a single track sold on the iTunes store since April has had FairPlay DRM, don't you?
Dan Aris
Re: (Score:2)
Re: (Score:2)
A lot of the older music does still have FairPlay and its not like you can redownload everything sans DRM now.
If by "older music" you mean "music you downloaded before April 2009", then yes, Apple didn't go into your computer and strip the DRM from all the music you previously bought.
However, it is my understanding that you can redownload everything sans DRM, you just can't do so for free.
Either way, it's crystal clear that Apple doesn't think that "technology based vendor lock in for music will remain a valid strategy" at all, since they've eliminated it entirely.
Dan Aris
Re: (Score:3, Insightful)
Most people want a phone that looks cool, plays good games, has good music playing capability and is fun to use.
Class, notice that people do not want a phone that can make calls. That is why the iPhone does well while its phone capabilities are lacking.
Re: (Score:2)
Already, Nokia, the largest pusher of Symbian is looking to move into Linux (Maemo). Looks like Symbian will be dropped somewhere along the way.
Yes, although they're also pushing QT everywhere (now that they bought Trolltech), which I think is their way of papering over gaps between their Linux based smartphones (which are still a tiny minority of sales), and Symbian based cheaper, normal phones (which have a huge install base and will continue to do so).
All the money in the future (certainly in apps) looks like it'll be on smartphones though.
They might find long term it's easier to move everything to Linux, but Symbian will probably be with us for
Re: (Score:2)
Nokia dwarf Apple in the mobile phone market - they don't need anything to compete, and they have more significant companies to worry about than that niche. If they're adopting Android, I suspect it's because they see it as an improvement.
I love how when Apple innovate, it's "Look, only Apple innovates!" but when another company does it, it's "Well they need to to compete with Apple".
Companies moving to open and compatible standards is a good thing - we should be embracing such moves.
Re:Seems a trifle disingenuous to me (Score:5, Insightful)
Twenty years ago, in Europe, the PC was a dull machine that you only ever ran business applications on. Maybe a flight simulator if you're lucky. The Mac was an obscure machine for desktop publishing. If you wanted gaming, you bought an Amiga or Atari ST. Now look where we are.
You're pointing at the entrenched PC games market, where everyone has hugely invested in writing in C++ for the Microsoft Direct3D API.
By comparison, smartphones are relatively new and the investment in Apple's iPhone API is tiny compared to the gigantic Windows-only ecosystem (Windows-only middleware, Windows-only tools, Windows-only 3D programmers, etc.) that keeps gaming chained to PCs.
So, given Android programming is much easier (far more programmers know Java than Objective C), and there's not yet a huge iPhone-only ecosystem in place, switching is still relatively painless. All it would take is one damn good phone running Android to topple Apple off its perch.
Re: (Score:2)
Re: (Score:2)
Honestly, I think the only reason why the iPhone will be tough to beat (and FWIW, I have Windows Mobile and am considering Android) is iTunes. iTunes is locked to Apple products and is a huge factor in what will make or break a platform. If people can't get their music out of iTunes and on to their phone, the platform won't succeed. If a "better iTunes" came along that wasn't tied to Apple products, you might see people flocking away from the vendor lock in. The App store was initially a key differentia
Language is not an issue. (Score:2, Informative)
The statement "given Android programming is much easier (far more programmers know Java than Objective C)" is nonsensical. True enough that Java is popular, but Objective-C is trivial to learn. Actually the languages themselves don't have much bearing on the ease of development for the two platforms. It's the APIs. I've recently started messing around with Objective-C and Apple's Cocoa, and the language itself is VERY easy to pick up (and I'm not a professional developer s much as a person that uses program
Objective C is not trivial to learn. (Score:2)
Not if you learn it properly - ie you learn the C side of it. Any idiot can learn the high level fluffy OO stuff. Get the same idiot to learn about pointer arithmetic or functions pointers or pre processor macros or casting issues or 101 other C gotchas and its another story entirely. Its the same story with people who claim to "know" C++ when in actual fact all the know is how to use "new", "delete" and maybe the STL and know jack shit about the in depth complexities of the language.
Re: (Score:2)
This is absolutely key, and for some reason, stupid cell-phone marketing guys don't get it. Motorola should recall how the RAZR happened [theregister.co.uk]. In short, a brilliant marketing guy at Motorola with the clout to ignore everyone else forced Motorola to build the RAZR.
It turns out that every time a marketing department is allowed to design the next product, they do user forums and talk to the sales team. The one thing that comes
Re: (Score:3, Informative)
Objective-C is not all that bad...
I'm a Java Web developer, without any real experience on desktop programming. But recently I was given the chance to do a small iPhone app for one of our clients, so I had to learn Objective-C from scratch to do it.
Objective-C might seem a little weird at first, but when you got used to the sintax the concepts used on the frameworks are not all that different from the Java counterparts. Appkit for example is much more pleasant to work with than Swing, for example.
It took ar
Re: (Score:2)
"So while might be a barrier for Java developers, it's not that high."
Only if you don't bother learning the C side of the language and just stick with the high level OO stuff.
Did you learn about pointer arithmetic? Low level memory allocation? Unions? Bitfields? Function pointers? Pre processor macros? Issues with casting on non aligned word boundaries?
No , didn't think so.
Re: (Score:2)
As for the other stuff, you don't really need it for Objective-C. You can write essentially any iPhone app without it. The only one of those that you might actually need is low level memory allocation, and that only in rare cases where efficiency is paramount. Most people can go their entire iPhone programming career and never use any of
Re: (Score:2)
How many game developers know Java? General purpose developers don't count... sure they could make a simple logic game and add fancy graphics on top but something like Super Monkey Ball?
I don't recall seeing any commercial games written in Java ever. In this scenario, why would a game developer choose to write games in a language completely different from C++ when there is Obj-C which has the similarity right there in the name.. sure it's not C++ but that doesn't seemed to have stopped ALL of the major game
Re: (Score:2)
That's because you don't actually need to learn Objective C to write iPhone games. You can write them in C or C++ and only use some boiler plate code that you can find easily on the internets to wrap some Cocoa stuff for the UI.
Re: (Score:2)
I don't recall seeing any commercial games written in Java ever.
Have you never heard of browser games? Mobile phone games? There are thousands of commercial Java games, and some of them have made profits in the hundreds of millions.
Re: (Score:2)
Re: (Score:2)
I would definitely include "media hype" as part of any potential iPhone-toppler, not just technical merits.
But, if Android gives you an OS for nothing, you should have plenty left over in your marketing budget for media hype.
Re: (Score:2)
Sadly this is true. And note the hype is independent of market sales. Worldwide at least, Apple are a niche player, the market being dominated by the likes of Nokia.
But do you remember when there was last a Nokia story on Slashdot?
Instead they spin this tale as if it was dominated by Apple (with daily Iphone stories - sometimes more), with occasional mention of Android or Blackberry to create the false illusion of "Look we do cover other phones, and the Iphone is doing better than them" which conveniently i
Re: (Score:2)
well the G1 is kind of a junky phone, not to mention TMobile is kind of a bum carrier.
Android has a lot of potential, and when the Q4 wave of new android phones rolls out in time for the holidays, there may be a diamond in the rough.
only time will tell.
Re: (Score:2)
The PC gaming platform does not represent recurring revenue for Microsoft.
Re: (Score:2)
In Europe the Mac is still an obscure machine for desktop publishing.
But their laptops are definitely taking over, at least in academic settings.
Re: (Score:2)
Unless Verizon switches to its GSM-compatible network quick, it will take some time for an Android-phone maker to give a damn, none of those made to this point are and Verizon is not exactly good phone friendly - even if it had the best CDMA smartphone on the market, it would bungle it and turn it into a piece of shit by blocking functionality.
Re: (Score:2)
The way the section quoted in the summary plays up the "wide-open field" of Android just strikes me as very silly. If you replaced "Android" with "Mac" and "iPhone" with "Windows," you'd have a pretty good approximation of the marketshare situation in the PC game market...and no one's suggesting that writing games for Mac is smarter than writing games for Windows due to massive overcrowding of the Windows games market.
...and no one's suggesting that writing games for the iPhone is dumber, because the market is overcrowded. The quoted section is saying that there's more competition and the competition is strong, whereas the payoff - if you succeed - is huge... which is also true for the Windows game market, of course.
Extending your analogy (Score:2)
Has the RDF completely distorted your view? (Score:2)
Are you serious?
The Iphone may have a better market share than Android, but this isn't Windows to Mac, it's more like Mac to Linux, or I dunno, AmigaOS to RISC OS.
There are a vast range of companies in the phone market - none of them have a Windows like share, but for the larger companies, look at someone like Nokia.
I'm astonished at the sheer ignorance of the reality of the mobile market here - that people continue to propagate this myth that Apple are not only in the lead, but have a monopoly, when neithe
Re: (Score:2)
Re: (Score:2)
That doesn't mean that Java is more programmer-friendly than Objective C.
Right, it just means that more programmers are Java-friendly.
Re: (Score:2)
Obj-c is not a superset of c++
Re: (Score:2, Insightful)
Any programmer who prefers Java to Objective C or C is an idiot.
But I say that because I think Java is the worst language to be created since C++.
Re: (Score:2)
Objective C's garbage collection is not available on the iPhone, and hopefully never will be.
Re: (Score:2)
Already on Sprint (as of a few days ago) with the chinless Hero. And on Nov. 1st, the Samsung Moment. So, not only does Sprint have Android, but they will have two devices within weeks.