Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Handhelds Hardware

SDK Shoot Out, Android Vs. IPhone 413

snydeq writes "Fatal Exception's Neil McAllister delves into the Android and iPhone SDKs to help sort out which will be the best bet for developers now that technical details of the first Android smartphone have been announced. Whereas the iPhone requires an Intel-based Mac running OS X 10.5.4 or later, ADC membership, and familiarity with proprietary Mac OS X dev tools, the standard IDE for Android is Eclipse. And because most tasks can be performed with command-line tools, you can expert third parties to develop Android SDK plug-ins for other IDEs. Objective-C, used almost nowhere outside Apple, is required for iPhone UI development, while app-level Android programming is done in Java. 'By just about any measure, Google's Android is more open and developer-friendly than the iPhone,' McAllister writes, noting Apple's gag order restrictions on documentation, proprietary software requirements to view training videos, and right to reject your finished app from the sole distribution channel for iPhone. This openness is, of course, essential to Android's prospects. 'Based on raw market share alone, the iPhone seems likely to remain the smartphone developer's platform of choice — especially when ISVs can translate that market share into application sales,' McAllister writes. 'Sound familiar? In this race, Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux.'"
This discussion has been archived. No new comments can be posted.

SDK Shoot Out, Android Vs. IPhone

Comments Filter:
  • Hmmm... (Score:5, Insightful)

    by 16K Ram Pack ( 690082 ) <(moc.liamg) (ta) (dnomla.mit)> on Thursday September 25, 2008 @10:50AM (#25151547) Homepage

    In this race, Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux.

    It's more like Apple is taking a page from Apple's book and Google looks suspiciously like Microsoft.

    For all their faults, Microsoft have always been more developer friendly than Apple.

  • Re:Biased much? (Score:3, Insightful)

    by cduffy ( 652 ) <charles+slashdot@dyfis.net> on Thursday September 25, 2008 @10:53AM (#25151605)

    A cross-platform toolchain is, all things being equal, preferable to a single-platform one, and likely to have a wider already-familiar userbase.

    Duh.

  • by vux984 ( 928602 ) on Thursday September 25, 2008 @10:53AM (#25151613)

    Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux."

    No, Apple looks pretty much like Apple, and Android looks as much like Microsoft as it does Linux.

  • Re:Biased much? (Score:5, Insightful)

    by samkass ( 174571 ) on Thursday September 25, 2008 @10:59AM (#25151691) Homepage Journal

    Yeah, almost all the metrics mentioned in the summary are irrelevant. Objective-C is something you can probably pick up in an afternoon. It's simpler than most modern scripting languages. And if you are unable to do so, as an iPhone owner I'd say please go write your app for Google anyway.

    They mention ADC "membership" as if it's anything other than a free web sign-up. It's true that you need to pay $99 to be able to put the app on a real device, though. But in exchange for the $99 you get 2 incident reports in which you can talk to actual Apple engineers and access to a worldwide marketplace tied to the most successful digital media store in history.

    And... in the end, there's really no SDK shoot out in the article. Which platform is, in the end, easier to develop for? Yes, Apple does a lot of stuff proprietary-- but is it better? Interface Builder is pretty frikkin awesome. The integration of the debugger and ability to run DTrace with a sweet UI remotely on the device is very nice. There are GL ES performance monitors, database monitors, etc etc etc. Yes, you can use Eclipse with Android and someday some developers might write plugins for it, but does that really make up for all these tools? I'm curious to find out. Someone should write an article...

  • by MBCook ( 132727 ) <foobarsoft@foobarsoft.com> on Thursday September 25, 2008 @10:59AM (#25151697) Homepage

    I read it too. It's a troll.

    "Apple makes you use Apple stuff." Boo-hoo. Does that surprise anyone?

    Android is more open. That's a given. That was a major design goal.

    How about the real question: how well does the iPhone framework work for developing applications? I've heard it's very nice, and very similar to desktop Mac programming so it's an easy transition for Mac developers. How nice is the Android setup? It it easier/harder to make simple applications? More complex things?

    How about an SDK shootout actually looks at at least the names of the functions you use and tries to guess if one is easier to develop.

    This isn't a "shootout", it's more punditry.

  • by MobyDisk ( 75490 ) on Thursday September 25, 2008 @11:01AM (#25151717) Homepage

    The iPhone is primarily an awesome hand-held phone, GPS, PDA, etc. Pre-loaded 1st-party apps are what make the device sing. The ability to get 3rd-party apps is a secondary benefit. Most people buying this device are using it for what it comes with. This will be the case more and more as the device becomes more mainstream.

    I hope that Android phones don't focus on the development aspects first, and the 1st-party applications second. If the device has all the same nice features of an iPhone + is better to develop for, then great. But if it does not have the ease-of-use and functionality of an iPhone right off the bat, then it won't succeed.

  • Re:Hmmm... (Score:3, Insightful)

    by amorsen ( 7485 ) <benny+slashdot@amorsen.dk> on Thursday September 25, 2008 @11:02AM (#25151727)

    Indeed, let us all be glad that Microsoft won the PC war instead of Apple. Jobs would have been worse.

  • by Tibor the Hun ( 143056 ) on Thursday September 25, 2008 @11:06AM (#25151793)

    As a fan of OS X, and Apple in general, I think they are trying to see how far they can push their control over the matter.

    On the subject of their NDA, I'm not an insider, but it seems stupid, unnecessary, and harmful to me.

    Android may be more open, but that does not always mean it's better. A few things are for certain:
    - no one is comparing Android to Blackberry. It seems that the iPhone has become the de-facto one to kill.
    - it will sure be interesting to see the battle between iPhone's closed development model on a hot device, and Android's open development on so-so devices.

    They may just both win on their own merits.

  • Competition. (Score:4, Insightful)

    by MaWeiTao ( 908546 ) on Thursday September 25, 2008 @11:07AM (#25151813)

    I don't see how Android can be fairly compared with the iPhone given that the iPhone is already into it's second iteration and Android has just been released.

    Everything else aside, I think the competition is great. I do give credit to Apple for helping to invigorate this market. Well, RIM and Palm probably deserve a lot of the credit, but Apple really gave this market a swift kick in the pants.

  • by Dan667 ( 564390 ) on Thursday September 25, 2008 @11:11AM (#25151851)
    Developers are what make an OS. If you attract the developers to your platform then they will think of things that you never even dreamed of. It is like getting a huge group of software engineers for free to help sell your product. Think of Windows if it only had Word, Excel, and Outlook (and paint).
  • by vadim_t ( 324782 ) on Thursday September 25, 2008 @11:12AM (#25151853) Homepage

    How about the real question: how well does the iPhone framework work for developing applications? I've heard it's very nice, and very similar to desktop Mac programming so it's an easy transition for Mac developers. How nice is the Android setup? It it easier/harder to make simple applications? More complex things?

    Well, see, for me it doesn't even make sense get to this part. It doesn't matter how nice the SDK might be when the reward for spending a not that small amount of money on the reqired hardware and the subscription, and weeks or months of my time on development could be having my application removed from the store, and Apple actually forbidding me from telling my customers what happened.

    Now when Apple stops being stupid, then I will become interested in comparing them on their technical development merits.

  • by Nursie ( 632944 ) on Thursday September 25, 2008 @11:18AM (#25151941)

    Well, Android is actually just google-shininess on top of Linux, so I'd say it adds to the Linux share, rather than warranting its own.

  • by Anonymous Coward on Thursday September 25, 2008 @11:19AM (#25151965)

    You must be joking. Comparing Javascript to Java in terms of 'nativity' or saying that C++ and Objective-C are 'slightly different' in 'trivial ways' betrays your lack of IT experience right off the bat, sorry ;-)

    It's true that neither Java nor Javascript are 'native' compiled code in the traditional sense, but it's still not a fair comparison. Javascript's runtime environment is the browser which is (by design) very limited in the amount of access it can have to the underlying system, hardware, etc. Java's runtime environment, the JVM, on the other hand, can be arbitrarily privleged, and depending on how the OS is laid out, can do just about anything any native app can do (at a perhaps minor performance penalty). Seeing as they plan to have Android running on a bunch of different phones, the choice of Java is pretty much a 'must' if they want to have any sort of ubiquity as a 'platform'.

    Also, Objective-C and C++ are quite, quite different. It would be easier to list their similarities than their differences -- they both have the basic goal of providing object-oriented facilities to C. That's about where the similarities end; C++ goes the route we've all come to know and love (hate), while Objective-C goes for a more pure "Smalltalk"-style message-passing paradigm. The similarities between the approaches are cosmetic -- the kinds of problems you run into in these two languages are quite different.
     
      Besides, the main difficulty in writing apps for the iPhone is learning Cocoa, not Objective-C. Most programmers can pick up new languages (even fairly unique ones) in a matter of days or weeks (at least to a passable level of competence), but a giant framework like Cocoa is hugely intimidating and often changing and much harder to find resources for.

  • by introspekt.i ( 1233118 ) on Thursday September 25, 2008 @11:25AM (#25152053)
    It's my understanding that Android runs on the VM in order to enable it to be cross platform. I mean Cross platform in that the hardware specifics of the handset don't matter as long as the handset implements the android spec correctly. Developing a native app for Android would be difficult, because there could be different hardware specifications across phones that implement the platform. You could be looking at different processors...ARMs, Motorolas, maybe even x86s now that they're getting so small (ugh, just what we need)..honestly though I don't really know what they put in phones...but I'd imagine that it's not uniform by any means. I guess you're trading one evil for another...being trapped in Objective-C/Cocoa/Carbon-ite to being trapped in Java. Tough call.
  • by thammoud ( 193905 ) on Thursday September 25, 2008 @11:25AM (#25152055)

    While I absolutely agree with you, it is a lot more important to initially get a phone with first class applications preloaded. Most normal users will not go hunting for "better" version of apps (Think Firefox vs IE). They will use what is installed. From what I am reading, the Android applications are of lower quality to those of the IPhone. This is very disappointing.

  • Re:Biased much? (Score:5, Insightful)

    by Sloppy ( 14984 ) on Thursday September 25, 2008 @11:31AM (#25152137) Homepage Journal
    How are they going to prevent that? Either the machine is open, or it isn't. If it's not, then Google has been deceiving us.
  • Re:Biased much? (Score:1, Insightful)

    by Anonymous Coward on Thursday September 25, 2008 @11:38AM (#25152269)

    Huh? Where did you get that? The only thing I've heard/seen so far was that there isn't a skype application. Isn't it up to Skype to write the application for the phone?

    If you look at the SDK, there's a little settings checkbox that says "Use apps not on the market" or something like that. You can put any application you can write on the phone. With the "this application provides this function" methods, you can even replace core applications.

  • by Anonymous Coward on Thursday September 25, 2008 @11:39AM (#25152285)

    How about an SDK shootout actually looks at at least the names of the functions you use and tries to guess if one is easier to develop.

    Well, since the Apple NDA on the SDK prevents you from talking about it, you can't write about actual functions on the iPhone.

  • by David Gerard ( 12369 ) <slashdot AT davidgerard DOT co DOT uk> on Thursday September 25, 2008 @11:40AM (#25152307) Homepage

    User interests beat developer interests, assuming that the first doesn't utterly cripple the second. And it does have to utterly cripple them to cause a problem.

    * Every Wikipedia story, Slashdot commenters bitch about their experiences of participation. However, the site's still #7 in the world, so what's it doing right? Focusing on the reader [davidgerard.co.uk].

    * GPL (a user-rights license) vs BSD. Compare the popularity of Linux versus FreeBSD.

    * iPhone vs Android. The best mobile phone interface ever. In this case, Apple is going further than anyone before in trying to utterly cripple developer interest - but if you can work an SDK then that many users is going to be attractive.

    Openness will get Android a fabulous ticky-box feature list ... but, y'know, Windows Mobile has a fabulous ticky-box feature list, and no-one picks that instead of an iPhone if they have a choice.

  • by kscguru ( 551278 ) on Thursday September 25, 2008 @11:47AM (#25152387)

    Sure, Android is more developer-friendly than the iPhone. Has Apple ever pretended otherwise?

    Apple goes for something entirely different - being customer-friendly. Apple demands high-quality apps, and rejects substandard ones. Apple requires well-engineered user interfaces. Apple restricts the number of functionally equivalent apps and ways of doing something, to follow the well-known interface guideline of not overwhelming a user with choice.

    I can already see how Google's Android is going to end up. Want a sneak peek? Go look at SourceForge today. Maybe 10% of the projects are extremely useful high-quality projects supported by a vibrant community. 90% of the projects are abandoned crap - but they're developer-friendly! You can get the source and fix it!

    Being developer-friendly helps by making it easier to create software. That's a double-edged sword, however, because as much as developer-friendliness makes it easier to create good software, it also makes it two or three times easier to create crap software. Witness the plethora of Google apps that have never left beta, witness the gross proliferation of spyware and script-kiddie viruses, witness the rampant proliferation of me-too Linux distributions used by two people and their dog.

    The Cathedral and the Bazaar. This is very simple - when I want something fun to play with, when I want to indulge my hobbyist sweet-tooth, I go to the Bazaar. When there's something I need to depend on and I don't have the time to tweak it myself, I go to the Cathedral. Now, in all seriousness, do you see a cell phone more as a fun toy or a necessary, must-work piece of your life? I imagine a lot of Slashdot readers want the cell phone to be a toy, but I also imagine most people in this world would prefer something to Always Just Work, even if it's less fun. It's the difference between driving a fun but high-maintenance sports car on the weekends and driving a reliable commuter car to work every day; everybody wants a sports car, but most people pick the commuter car.

    Which means I don't buy the hype around Android. It's a fantastically wonderful toy, but Google's track record is that they do not have the discipline to enforce usability at the expense of their fun toys. And, to my great sorrow, that is Google's great weakness.

  • by domatic ( 1128127 ) on Thursday September 25, 2008 @11:56AM (#25152527)

    Back when Woz was still a major management and engineering force (think pre-Macintosh), Apple was much more friendly to hackers. Apple II family machines were reasonably open in terms of both hardware and software and many offbeat and interesting things were done. It was with the Macintosh that the Jobs way became dominant and the Jobs way is to provide a good experience for (most) end users by being highly controlling of what can be done with the platform. I suspect they are pushing it too far with iPhone and are going for short term wins at the expense of the future. Ballmer may indeed be a sweaty monkey ass but alienating your developer base is rarely a good idea.

  • by Tibor the Hun ( 143056 ) on Thursday September 25, 2008 @12:00PM (#25152583)

    "Hot" as in not having anything to do with specs.
    There was once this device that had wireless and more space than the iPod, but I forget its name.

  • Re:Biased much? (Score:3, Insightful)

    by Altus ( 1034 ) on Thursday September 25, 2008 @12:00PM (#25152593) Homepage

    absolutely. I feel the same way and I would certainly not be opposed to using x-code for iPhone development, but since being tied to x-code was brought up as a negative I thought it would be worth pointing out that your not actually tied to x-code.

    I be if someone really watned to they could put together a version of eclipse that was ready to go for iphone development. I dont have the motivation, but maybe its a big issue for other people out there. Then again, maybe most people are like you and I and just want it to work.

  • by smoker2 ( 750216 ) on Thursday September 25, 2008 @12:04PM (#25152637) Homepage Journal
    Nice try shifting the argument there.
    What strikes me, is the similarity to the Matrix argument. What use is a developer friendly SDK, if you are prevented from running the code on the device you're writing for ?
    Sure, $99 (+ Mac) doesn't sound much, but the issue is not money, it's access to the networking api for the apps you want to create. I don't care how fucking bling and shiny the SDK is if I can only write hello world (locally) using it.
    Yet again, form over function for apple.
  • by neuromanc3r ( 1119631 ) on Thursday September 25, 2008 @12:33PM (#25153119)

    most of us geeks have made a choice for the next 3 years.

    Speak for yourself. Being a geek and hating to be told how to use my gadgets are exactly the reasons I wouldn't touch an Iphone with a 10-foot pole.

  • Re:Biased much? (Score:3, Insightful)

    by samkass ( 174571 ) on Thursday September 25, 2008 @12:36PM (#25153161) Homepage Journal

    Sure, but the article tried to make a point that Google uses command-line programs while Apple has a proprietary IDE and thus Google is more open. In that sense, it's worth pointing out that all Apple's tools are also command-line tools running on top of their UNIX OS, and the IDE is just another shell.

  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Thursday September 25, 2008 @12:37PM (#25153175)
    Comment removed based on user account deletion
  • by Kazin ( 3499 ) on Thursday September 25, 2008 @12:53PM (#25153411) Homepage

    To be clear, Android does not require Eclipse in the slightest. I don't use it, I use maven2 to do my builds and vim as my editor.

  • by EvanED ( 569694 ) <{evaned} {at} {gmail.com}> on Thursday September 25, 2008 @12:57PM (#25153459)

    This is my question too. If my understanding is correct, you can say even *more* favorable things about developing for Windows Mobile because you can use the same APIs as when developing for Windows. This means that not only do you not have to learn a new set of APIs (like for Android), but you should be able to more easily make a program that runs on both Windows Mobile and Windows proper, if it makes sense for that app. And with Mono, might even be able to make it run on Linux without too much trouble either. (Mono supposedly has support for Windows Forms 1.0; I don't know what Windows Mobile uses.)

  • by jDeepbeep ( 913892 ) on Thursday September 25, 2008 @12:57PM (#25153465)

    And to say ObjC is as easy as Ruby or Python is ludicrous.

    It's easier than both of those....... IF you're grounded in C.

  • Re:Hmmm... (Score:5, Insightful)

    by Free the Cowards ( 1280296 ) on Thursday September 25, 2008 @01:10PM (#25153661)

    What a stupid thing to say! Nobody had to "win". We had a perfectly good PC ecosystem in the 80s, with at least half a dozen viable platforms. That is what we should have today. Being glad that Microsoft won the PC war would be like being glad that the United States won World War III. Yeah, we won, but the world is still a poisoned nuclear wasteland.

  • Re:Hmmm... (Score:3, Insightful)

    by Free the Cowards ( 1280296 ) on Thursday September 25, 2008 @01:56PM (#25154387)

    I'm fairly convinced that Microsoft set the state of the art back by at least a decade. That's an awful lot in computer years.

    And there's no reason to require a single giant monopoly in order to have compatibility. Sure, all the platforms in the 80s were mutually incompatible, but they could have just as easily grown together to be mutually interoperable rather than being destroyed.

  • Re:Biased much? (Score:1, Insightful)

    by Anonymous Coward on Thursday September 25, 2008 @02:29PM (#25154885)

    Personally, I find Objective-C's inline documentation for method arguments to be a bit overkill with modern IDEs. By the same token, that line of yours takes maybe 20 keystrokes (plus variable names) with the built-in autocomplete in the latest Xcode. It's not exactly onerous, and if it's really that bad you can always use C - or C++ in a separate file - to do what you want. I'd rather a slight bit of overkill in descriptive function and variable names, than dealing with the confusingly vague variable or method names I see in other languages and APIs.

    Overall, I find Objective-C to be an interesting change of pace from Java (and yes, I've programmed in other languages, such as Scheme, C++, C, Perl, etcetera). It's less constricting than Java, although Java is trying to open up a bit more. I do find the lack of compiler-enforced private and protected scoping on methods to be perplexing, given that idea is part of encapsulation and basic OOD. It doesn't kill me, though, and it comes down to trusting your developer's to reading docs and using categories to hide methods or make the intended scope more explicit than a doc note would. Objective-C is worlds better than C++ in terms of its clear goals and scope, which doesn't necessarily make it a better language for everyone but certainly is preferred by me. As for memory, I can't say it's ever been much of an issue for me and I've written full-scale complex multi-threaded GUI applications in it. Coming from a world where GC is standard and required, I haven't found the transition to be very difficult and there are certainly benefits to having more control over memory.

  • by tyrione ( 134248 ) on Thursday September 25, 2008 @02:50PM (#25155229) Homepage

    And to say ObjC is as easy as Ruby or Python is ludicrous.

    It's easier than both of those....... IF you're grounded in C.

    What's making me laugh is this aversion to learn another language and it's syntax. Nevermind the dozens of Web languages and syntaxes one "swallows" to learn and be current in the web industry, but to learn a traditional object-oriented language that isn't C++ or Java? OMG I think I'm gonna blow up just thinking about !

  • by SuperKendall ( 25149 ) on Thursday September 25, 2008 @04:49PM (#25157187)

    What strikes me, is the similarity to the Matrix argument. What use is a developer friendly SDK, if you are prevented from running the code on the device you're writing for ?

    Sure, $99 (+ Mac) doesn't sound much, but the issue is not money, it's access to the networking api for the apps you want to create. I don't care how fucking bling and shiny the SDK is if I can only write hello world (locally) using it.

    Your post makes no sense. I can't tell if you are complaining about what you can do with the simulator (free version) or the abilities you have with the $99 program.

    With the free SDK you can develop all day long against all the API's - the only thing the simulator will not give you is accelerometer data, or a good idea of how your app might perform on the phone.

    With the $99 program you can deploy anything you like to your own phone. You never even have to submit to the app store, just keep running your own stuff or other code you download.

    Yet again, form over function for apple.

    Yet again, posting before understanding from an Apple Hater. What a shock.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...