Forgot your password?
typodupeerror
Cellphones Google Java Operating Systems Programming

Where Android Beats the iPhone 365

Posted by timothy
from the but-that's-not-how-jobs-wants-it dept.
snydeq writes "Peter Wayner provides a developer's comparison of Android and the iPhone and finds Android not only competitive but in fact a better choice than the iPhone for many developers, largely due to its Java foundation. 'While iPhone developers have found that one path to success is playing to our baser instincts (until Apple shuts them down), a number of Android applications are offering practical solutions that unlock the power of a phone that's really a Unix machine you can slip into your pocket,' Wayner writes, pointing out GScript and Remote DB as two powerful tools for developers to make rough but workable custom tools for Android. But the real gem is Java: 'The pure Java foundation of Android will be one of the biggest attractions for many businesses with Java programmers on the staff. Any Java developer familiar with Eclipse should be able to use Google's Android documentation to turn out a very basic application in just a few hours. Not only that, but all of the code from other Java programs will run on your Android phone — although it won't look pretty or run as fast as it does on multicore servers.'"
This discussion has been archived. No new comments can be posted.

Where Android Beats the iPhone

Comments Filter:
  • by XPeter (1429763) on Thursday March 04, 2010 @06:26PM (#31363758) Homepage

    It's not DRM-laden patent trolling Apple.

    • by Xebikr (591462) on Thursday March 04, 2010 @07:25PM (#31364592)
      Why was this modded down? Is it wrong? Apple has gone from evil yet innovative to just evil. Their recent lawsuits all but scream "We are out of ideas! Release the lawyers!"
      • by Anonymous Coward on Thursday March 04, 2010 @08:10PM (#31365138)

        Why was this modded down? Is it wrong? Apple has gone from evil yet innovative to just evil. Their recent lawsuits all but scream "We are out of ideas! Release the lawyers!"

        It was modded down because the iphone owners on slashdot got to it before the android owners did.

      • by Anonymous Coward on Thursday March 04, 2010 @08:34PM (#31365350)

        Apple was never "evil yet innovative". The most "innovative" thing they ever did was introduce graphical computing to the masses...by buying the GUI PARC invented and basically using it as is. They've been especially uninnovative since the return of Jobs though, as their main business strategy has been entering rapidly growing markets and doing the same as everyone else, but more expensive and with less features. But they put it in shiny white plastic and market the hell out of it and everyone buys one because they want to be cool and Think Different, just like everyone else. Apple isn't a tech company, they're a fashion accessory company whose products happen to also function as gadgets.

        • Re: (Score:3, Interesting)

          by pydev (1683904)

          It's actually even worse than that. PARC's GUI was a lot more advanced than the crap Apple actually shipped as MacOS; Apple merely imitated its looks but cut corners on the implementation. That's why MacOS was on a death spiral within ten years: it didn't have a solid architecture or foundation.

          OS X actually copied a bit more of PARC's technology, but even Objective-C and Cocoa are lousy compared to PARC's original technologies.

        • Re: (Score:3, Insightful)

          They've been especially uninnovative since the return of Jobs though, as their main business strategy has been entering rapidly growing markets and doing the same as everyone else, but more expensive and with less features..

          Typical geek. "How can this iPod/iPhone be better ? It has less features !" Would the average person have been able to get work done on the PARC machine ? Probably not, but they could on the mac. Some people actually care that it's nicely designed, that the feature that are included work in thoroughly logical and planned out manner, that it's easier to use and yes it even looks nice. THAT is Apple's strength.

          • by mcvos (645701) on Friday March 05, 2010 @07:55AM (#31369492)

            that it's easier to use

            This especially. Say what you like, but the iPod's UI was way better than that of any other music player at the time. Same with the iPhone that did way with navigating through crappy menus just to do something basic.

            There's tons of stuff wrong with Apple, and I'm glad I switched from iPhone to Android, but Apple does know better than anyone else how to make accessible and usable interfaces.

      • by zullnero (833754) on Thursday March 04, 2010 @08:40PM (#31365406) Homepage
        Apple was only occasionally innovative. They generally stole a lot of their ideas just like everyone else. But I agree, they are evil, though they've only really been evil since they got their first big taste of success with the iPod and have slid into crazy evil. Once upon a time, they actually served a useful purpose as a company delivering a product that helped to motivate the whole market towards user-oriented innovation. Mainly by stealing good ideas that other companies had, nabbing ideas from here and there, and making them work within their closed loop and proving to the market that those ideas were good.
        • by Thinboy00 (1190815) <thinboy00@gmail . c om> on Thursday March 04, 2010 @09:18PM (#31365732) Journal

          Think of the 1984 ad... a la role reversal (someone should do a parody replacing "big brother" with Jobs and the jogger with... Tux?)

        • Re: (Score:3, Insightful)

          by moosesocks (264553)

          So a handful of patent lawsuits and a weirdly restrictive app store make a company "crazy evil?"

          Pardon me if I can't quite hear Steve Jobs cackling in the background, but technology companies have been suing each other for patent violations as long as they have existed -- even our darlings at Novell are no strangers to being on the plaintiff's stand at patent hearings.

          When they got successful with the iPod, they brought legal (and eventually drm-free) downloads to the masses -- great for artists and consume

  • by modmans2ndcoming (929661) on Thursday March 04, 2010 @06:26PM (#31363760)

    To those about to complain that screen resolution differences makes developing for android harder, then try using a UI measurement that does not rely on pixels, like em

    • Then all you'll suffer from is screen size differences.

      • Re: (Score:3, Funny)

        by MemoryDragon (544441)

        You always can use layout managers...
        Only Windows UI Programmers complain about screen sizes...

        • by ducomputergeek (595742) on Thursday March 04, 2010 @07:21PM (#31364542)

          With our last website design for our shopping cart, we elected to go with a fluid layout and use em. Great right? Nope. We heard so many complaints from customers it was rather eye-opening. The fact that things were "a little different" from screen to screen (say a desktop vs laptop) annoyed and confused people even if a box was just had more space in between. Frankly we couldn't see it. If the screen was wider, there was a bit more separation in places. So we ended up going back and defining everything being centered and by pixels so it looked the exact same no matter if the user had a 12.1" screen or 30" LCD TV. If they had a bigger screen/higher resolution, they just got to see more of the background gradient. The complaints stopped and we didn't alter the design. So go figure....

          We also have clients who are insanely anal about their branding and virtually demand things to be "pixel" perfect. With the iPhone/iPod Touch this hasn't been a problem. Android it has. Not to mention the other hardware inconsistencies.

          But in our shop, Android is really starting to cost us a lot of money in QA testing. And we guarantee that our software works on all known models as of a certain date. It's in the contract and the clients do pay us well for it. Our testing hardware for the iPhone/iPod Touch has been $1600 over the past two years. (iPhone 3G, iPhone 3Gs, iPod Touch). We've spent over $2500 acquiring Android hardware just in the last six months of last year and have already spent another $1400 this year.

          As a result, the cost of us building an Android app is now double that of an iPhone app. And at the rate the new Android phones are coming out, that is likely to increase if customers want a full compatibility guarantee.

          Now we're about to launch our first application built using the PhoneGap framework. It's basically a web app wrapped using PhoneGap's "container" (for lack of better description) and should allow us to support iPhone, Blackberry, and Android by only having to support 1 framework and using web programming. But we'll see how well that works.

          • by MobyDisk (75490) on Thursday March 04, 2010 @10:16PM (#31366176) Homepage

            We heard so many complaints from customers it was rather eye-opening.

            Then your layout sucked. Nothing is more annoying than a static 1280x1024 layout on an iPhone, that requires me to zoom in and out constantly. For a good flow layout, take a look at Wikipedia or Amazon's mobile sites. Just because you couldn't do it right doesn't mean all flow layouts are wrong.

            As a result, the cost of us building an Android app is now double that of an iPhone app.

            You are supporting more hardware devices, so you have to test on more hardware devices, which costs more. Would you rather that each of those pieces of hardware have a different operating system? You should be thanking Google for Android, because the only reason you are even capable of supporting all these devices is because it is so much cheaper because of Android. Before Android, you had to write for even more operating systems.

          • Re: (Score:3, Insightful)

            by pydev (1683904)

            Android it has. Not to mention the other hardware inconsistencies.

            "Inconsistencies?" Has it occurred to you that there is actually a demand for these varieties of devices? The iPhone resolution and keyboard simply don't work for me (I tried). They don't work for many other people either. We want high resolution devices with a keyboard. I'm sorry that inconveniences you as a developer, but you'll just have deal with it (unless Apple succeeds into turning us into the United Socialist Apple Republic, wher

        • Re: (Score:3, Informative)

          Only Windows UI Programmers complain about screen sizes...

          We don't - we've had WPF, with flexible layouts by default [microsoft.com], since 2006.

          And those who are .NET-allergic and prefer C++ can always just use Qt.

    • by Anonymous Coward on Thursday March 04, 2010 @06:32PM (#31363828)

      To those about to complain that screen resolution differences makes developing for android harder, then try using a UI measurement that does not rely on pixels, like em

      Incidentally bitmaps that use em have not been invented yet. Vectors are not good for everything, and may take more power to render on the fly.

      Also, em solves exactly nothing about how much content can you fit on a display before it becomes unreadable, a problem you may get if you treat DPI as a free variable. Oh and it also doesn't factor in display ratio, unless you think squashing things is the way to go.

      • Re: (Score:2, Interesting)

        by bjartur (1705192)

        Then use a mix of em and CSS3 px (which are _NOT_ screen pixels), possibly with display ratio @rules. Convert to pixels at install-time if doing so on run-time is to slow. Problem solved. Or just use a Java layout manager...

  • That's peachy (Score:5, Insightful)

    by Anonymous Coward on Thursday March 04, 2010 @06:27PM (#31363766)

    Unfortunately right now it appears that for users it's the other way around.

    • That completely depends on your needs. This user wants to do what he wants with his phone, not what the manufacturer graciously allows him to do (otherwise, why get a smartphone?). Because of that, Android is an infinitely better choice than iPhone. The UI is about equal (although less pretty), and while people may bemoan the lack of apps, 95% of the apps I've seen on the iPhone are useless. Thus, for my requirements (and yes, I know the mainstream user base doesn't share them. I don't care, as they are not
  • amazing! (Score:5, Funny)

    by vrmlguy (120854) <samwyse&gmail,com> on Thursday March 04, 2010 @06:29PM (#31363792) Homepage Journal

    After reading the article, I was able to port my entire Java repository to Android in just a few minutes. Of course, that consists of three versions of "Hello, world!"

  • meh (Score:4, Informative)

    by LiquidCoooled (634315) on Thursday March 04, 2010 @06:30PM (#31363800) Homepage Journal

    iphone and android aren't really inclusive.
    open source is meant to be about choice and freedom.

    the nokia n900 + maemo allows multiple languages and frameworks (x11 gtk qt sdl gles and whatever else you can throw at it) to peacefully coexist together :)

    don't take my word for it though, i'm biased

    • well... lets develop for an OS that is available on .0000009% of smartphone hand sets then since it is the most open.

      • Re: (Score:3, Insightful)

        by gbjbaanb (229885)

        You mean Windows? you can't possibly mean Nokia - which, although Maemoblin is very very new, should do well given Nokia's business-friendly sales and general market dominance.

      • by Nerdfest (867930)
        There is also a vast collection of open source software that will run just fine on the device with a simple recompile. Another of the advantages of open platforms.
    • by h4rr4r (612664)

      The n900 still uses binary drivers, which means when the n901 ships good luck with that.

    • Re: Meh (Score:3, Interesting)

      by Ecuador (740021)

      I am a proud owner of a N900 for a week now. It is the first time a phone truly amazes me, and that is of course all thanks to the OS. I am a mobile developer, so I have so far developed for and owned BREW, Symbian and iPhone OS devices. I liked developing for the iphone, hated the other two, but from a user standpoint I did not enjoy any device, since even browsing was painful (no, I don't consider the iphone's ultra low res usable), and they wouldn't let me do much more than that.
      Enter the N900. Android

  • No it will not (Score:5, Informative)

    by LWATCDR (28044) on Thursday March 04, 2010 @06:34PM (#31363868) Homepage Journal

    "Not only that, but all of the code from other Java programs will run on your Android phone — although it won't look pretty or run as fast as it does on multicore servers.'""
    No because if it has any type of UI odds are that uses swing or awt. Not only that but I doubt that the Android JVM has all the standard libraries that are available on Sun Java.
    Yes they will know the syntax of the language but the libraries will be totally different.
    Not to mention that is probably very little code running on servers that you will want to run on a phone.

    And yes I write in java and I have an Android phone and I have looked at the Android SDK.

    • Yes, a fair point. I shouldn't have used "all", although I think you could probably get Swing and even AWT working with a shoehorn.

      But it's got a JVM and JVMs take byte code...

      And while I wouldn't want Derby or some other serverside process gumming up my phone, I do like the ease of using the same packing and unpacking routines on both platforms. They're just more likely to work a bit better together.

      • Re:No it will not (Score:4, Informative)

        by loconet (415875) on Thursday March 04, 2010 @06:47PM (#31364042) Homepage

        But it's got a JVM and JVMs take byte code...

        Actually, Android uses Dalvik VM which uses .dex files instead. So no, you can't just take any traditional bytecode file and run on Android straight.

      • by LWATCDR (28044)

        Actually AWT is smaller than Swing. But porting them to Dalvik would be no small task and then you have the question of WHY?
        They are not good frameworks to write a mobile app that uses a small screen and touch!
        Yes if you know java you have an advantage but not the huge one you have stated.
        I am working on porting an app I wrote in java to Android.
        The backed processing will port but UI which is a good bit of it will not.

    • by gbjbaanb (229885)

      And to top that, its not real Java but the embedded/mobile version so your server-side entierprise java bean based app will just not work. Sure, your java devs will be familiar with the language, but frankly, they're all converting themselves to C# nowadays.

      I always thought Android's Dalvik VM was a mistake - they alienated the native C/C++ developers who might have jumped from Symbian to it, and alienated new programmers who think that Java is a lagacy language from the 80s. They'd have been better advised

    • Re: (Score:2, Informative)

      Yes they will know the syntax of the language but the libraries will be totally different.

      Actually, they're mostly the same. They took the standard libraries from Apache Harmony. It's missing a few packages that aren't appropriate (like Swing), but most of what a Java programmer expects to be there, is there.

      Here is the index to the API docs: http://developer.android.com/reference/packages.html [android.com]. As you can see, a large fraction of the java.* and javax.* packages are there.

    • No kidding, who cares about syntax? That's maybe 1% of programming, the rest is creativity and knowing the libraries. If the libraries don't transfer, you have kept almost nothing.
  • by Archangel Michael (180766) on Thursday March 04, 2010 @06:38PM (#31363918) Journal

    Android not only competitive but in fact a better choice than the iPhone for many developers, largely due to its Java foundation.

    Now I don't want an Android phone. I thought it would be good or better for me as a USER, not as a developer. Silly me.

    • You should definitely get an iPhone - they are designed to work even for people with severely compromised logic such as yourself. Good at X does not imply Bad at Y.
  • Not as fast? (Score:2, Interesting)

    by dave562 (969951)

    From TFA
    code from other Java programs will run on your Android phone -- although it won't look pretty or run as fast as it does on multicore servers

    I'm not a developer but once of the criticisms I see constantly leveled against Java is how slow it is. Are there any mobile devices out there that can really handle even moderately complex / processor intensive Java code?

    • Re: (Score:3, Informative)

      by Anonymous Coward

      It's no longer 2000. Outside of heavy mathematical computation (the kind where your entire dataset fits in your L1 cache and the entire thing streams through arithmetic, bitwise ops, and pointer magic), Java is acknowledged to be as fast or faster than C++, for competently-coded values of Java and C++.

      • Re: (Score:3, Interesting)

        by scotch (102596)
        Java is getting closer, but not "as fast or faster" than C++ or C. At least the last time I looked at any half-way competently executed benchmarks. Maybe you have some new benchmarks for me to look at?
    • by 0xdeadbeef (28836)

      Are there any mobile devices out there that can really handle even moderately complex / processor intensive Java code?

      Yes. All of them.

      Whether you're allowed to is a different matter entirely.

  • Windows Mobile (Score:5, Insightful)

    by Dan East (318230) on Thursday March 04, 2010 @06:40PM (#31363940) Homepage Journal

    Then according to his logic, Windows Mobile is better than Android and iPhone combined, because not only can it run Java apps, but you can author software for it in practically any mainstream programming language.

    What about Blackberry? It is a pure Java based platform, even more so than Android.

    I just think it's silly to say "This device is LISP based, so it is better than device X because some corporation might have LISP developers sitting around that can write apps for it in a language they're used to!"

    • by owlstead (636356)

      The Java apps you can run on any mobile device are - by necessity - extremely limited. Java on the Android is much more like programming the normal JDK. There are many runtimes loosely based on the Java platform, but you would not want to use them for anything like an Android device. (I don't know the Backberry runtime so I won' t comment on that.)

      Having a large base of programmers that know the language and a large part of the API is certainly an advantage. I don't think Objective C is very high in the lis

      • Re:Windows Mobile (Score:5, Interesting)

        by Dan East (318230) on Thursday March 04, 2010 @07:42PM (#31364824) Homepage Journal

        My game engine, which has been used in a Top-100 iPhone game, is 99% C++, and only has the minimum amount of Objective-C code required to handle various system events (around 200 lines of code). Of course applications intimately integrating with the iPhone's GUI API would require much more Objective-C. So Objective C is not the only officially supported language for the iPhone for generating native binaries.

        • You could do something similar with a Java+C++ application on Android. The Java parts interface with the application apis via dalvik, while the native parts do the heavy lifting.

          The Dalvik virtual machine that Android uses is just now starting to get JIT compilation features. It will be a lot more competitive with statically compiled code once JIT is in regular use and starts to mature.

          Compare HotSpot to natively compiled code. Today it's very competitive in most cases and you can develop much faster in Jav

    • by MrCrassic (994046)

      But if you read the article, you would see that he goes in depth about actually developing for both platforms. Windows Mobile was actually pretty good on that front, but wouldn't be better than Android because:

      1. Most of the core WinMo libraries are on Windows,
      2. It's not open, and
      3. It's pretty unreliable as an OS in comparison to the others on similar hardware.
  • You can buy and play FIFA10 or even Grand Theft Auto on the iPhone. The games are a pretty good indicator IMHO. When complex and expensive productions from big studios start coming out for a platform, you know that the platform is popular.

    And if you think Java makes any kind of difference, think again. The guys that are developing these applications do not seem to care. It's not about happy programmers, it's about happy users. And right now the iPhone still has the edge.

  • Another great thing about Android is developers can get a free phone. [zdnet.com]

  • I don't like Eclipse, but I don't have to since there is an emacs mode [riddell.us] for Android development.

  • by Zigurd (3528) on Thursday March 04, 2010 @07:06PM (#31364302) Homepage

    That Java is something that makes Android superior to iPhone is a dubious claim.

    Objective-C has advantages, such as that it is compiled. While Android has lots of libraries implemented in C and C++ that speed execution of Android applications, and developers can choose to implement intensive computations in C using the NDK, Objective-C requires no JNIs or other complications of splitting an implementation between Java and C/C++.

    X-Code is a purpose-built, clean-sheet IDE that may lack a few power features found in Eclipse, and Eclipse has numerous plug-ins, but Eclipse also has a pretty diabolical UI, especially compared to software from Apple.

    Java, Eclipse, and the other Android SDK tools are more than good enough, but they are not a big advantage, or, depending on your tastes, any advantage. There is a rough equivalence here that will probably extend to Android doing for client Java what iPhone did for Objective-C - making it popular. That is, Android apps will probably be the most common form of interactive client Java apps, if they have not already eclipsed AWT, Swing, SWT, and other Java UI libraries. This is going to have a big influence on Java, considering the fact that iPhone programming books crowd the top of the list or programming books at Amazon.

    Android's advantage is in openness. Android developers are not just app developers. They can be system customizers and extenders. They can be technology vendors to a large number of OEMs using Android. They can have all kinds of products, customer, and business models, throughout the mobile economy, not just retail customers of the app store.

  • by thetartanavenger (1052920) on Thursday March 04, 2010 @07:09PM (#31364370)

    The pure Java foundation of Android

    Android is not java. Yes it has java aspects but it is not java! It's bits of java with a customized Android API.It doesn't even run a normal JVM, it runs the Dalvik VM.

    Not only that, but all of the code from other Java programs will run on your Android phone

    Seriously, no. Just... no. Try compiling a program that uses Swing, AWT or javax stuff.

    Don't get me wrong, I really like Android and hate iPhones. I have a G1 (lacking on RAM as much as it is). I've programmed for android although for fun, not the marketplace. I've even made my own ROM, again for fun. But claiming Android is Java and that everything that Java can do Android can also do natively is just naive

  • Having built some rather processor heavy apps for the iphone the only thing that counts to me is to be able to utilize every single cpu cycle. Writing apps for these devices is easy, writing apps that can perform is another matter entirely.

  • "...although it won't look pretty or run as fast as it does on multicore servers."

    The Nexus One is multicore.

  • by aplusjimages (939458) on Thursday March 04, 2010 @07:27PM (#31364622) Journal
    Politics
    Religion
    Mac Products
  • by BearRanger (945122) on Thursday March 04, 2010 @07:28PM (#31364644)
    That a phone that caters to developers is NOT a phone that the rest of the world has much interest in using. I love the flexibility promised by Android, but if smartphones are going to take over the world I would not want my grandmother to have to deal with fragmentation and software complexity. Android phones and the iPhone occupy two different market niches. This is a good thing for both developers and consumers.
  • I don't know enough about Android to really comment on other aspects of usability, but this article mainly compares development between both platforms. To be frank, though, I don't think the Android Alliance had to do a lot to be better than a system that only allows developers to code on OS X with a language that's almost entirely bound to that platform and under the control of an authoritarian and seemingly draconian submission control system.

    However, under the Android platform gains critical mass (which

  • How curious. Right here on Slashdot I said this exact thing--months ago--and I got flamed without mercy. My reasons? The unpredictable nature of the iPhone app acceptance and then Java.
  • But if I turned it back to portrait, it mysteriously worked because the bounding rectangle for the screen was now taller, not wider. That took more than a few minutes to find.

    He's an app developer for mobile, but doesn't have the forethought to code for variable display sizes? rtard.

  • by El Royo (907295) on Friday March 05, 2010 @12:36AM (#31367274) Homepage
    Developing for webOS is perhaps even better for developers. Personally, I hate Java. I think I'd rather go through the pain of learning Objective C. I wasn't a big fan of JavaScript, either, until I started working with it for webOS apps. Now, with the PDK (plugin development kit) coming out, developers can write in C/C++ and access SDL for applications that need that extra oompf. The underlying Linux OS is readily accessible, moreso than it is on Android, I've been given to understand. There's a tremendous homebrew community out there creating patches, themes and more. Check out http://webos-internals.org/ [webos-internals.org] if interested in seeing that side. And, with Palm-blessed sideloading of apps, developers can make their own way.
  • !Java (Score:3, Interesting)

    by Skythe (921438) on Friday March 05, 2010 @04:25AM (#31368516)
    While Android is written in Java, the recommended way to program the GUI is using XML. That can be quite the stretch for someone that's never written a layout in XML (read: myself).

Forty two.

Working...