Where Android Beats the iPhone
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.'"
It's not DRM-laden patent trolling Apple.
"The difference between genius and stupidity is that genius has it's limits" - Albert Einstein
Unfortunately right now it appears that for users it's the other way around.
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.
Ugly multitasking on an Android is not better than slick single-app execution on an iPhone. It's only a different experience.
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!"
Better known as 318230.
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.
I wrote parts of this stuff
Java does not just allow bad programmers to write sloppy code, it also allows good programmers to write better code (than in C/C++ and direct derivatives). Shitty programs are available in all languages. I managed to write a shit application in Lua in a minute flat. How difficult is it to grasp this concept? Do you really want a programming language that makes it harder to write manageable code, on purpose?
I'm getting sick of this argument. Most of my esteemed C++ colleagues like Java once they've actually tried it out for real. Unfortunately we don't always get Java libs for the hardware we are using.
Politics
Religion
Mac Products
Can I bum a sig?
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.
Really? Productivity defined as?
Would an excel spreadsheet render properly on a Droid? Do you code in C# on the Nokia? Pray tell, what forms of productivity do you increase, Almighty one?
Some of us carry smartphones to increase productivity, not play video games on a 4 inch screen.
And some people use smartphones to socialize and play games on a 4 inch screen.
If you want to play games, buy one of those portable game widget things that Nintendo or Sony sells.
So, someone who already has a smartphone should spend potentially hundreds of dollars, and carry a separate device, rather than spending a few bucks for a game on a device they already own? Why, just because you don't approve of games on a phone out of some misguided ideological notions of purity and productivity?
Also, have you seen the relative difference in price for Nintendo DS and Sony PSP games versus the ones for the phones?
... and then they built the supercollider.
Internet access. Mapping software. Communication. Taking/showing photos and video. Playing music. Running useful utilities (there's more to life than spreadsheets). And *gasp* phone calls.
If all you want to use it for is playing hand held video games, then there are better - and more popular, incidentally - devices for that.
And come on - every time someone points out one of the many basic features that the Iphone lacks or lacked, we get no end of "Why would I want to do that?" So here we are, saying "Why would we want to run video games on a phone?" You only cling to this as being an important, because it's something that the Iphone can do. Next, you'll be telling me how fundamentally important you think multitouch is.
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.
Professionals who tell their clients that "the software sill work on all shipping Android phones" better have tested on actual hardware. Emulators could not replicate for you chipset quirks, subtle timing problems, and many other issues that only occur on hardware. If you've shipped commercial software tested only against an emulator, I would strongly urge you to not admit it, and maybe get a lawyer.
"All shipping Android phones" is a somewhat silly claim to make. Do you tell your clients that your desktop software will run "on all shipping Windows laptops?" Your testing costs must be through the roof. It's amazing that anyone makes any money in this field.