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
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
Unfortunately right now it appears that for users it's the other way around.
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!"
Nothing for 6-digit uids?
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
liqbase
"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.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Actually as far as I can judge the indian guys, they do whatever rolls in money, using another language is not a barrier...
Wrong conclusion, and I also worked with people from India who really could write code, ok they are the minority but they exist.
But given how many people in the west write shitty code I assume the percentage is pretty equal!
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.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
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.
... on a multi-core server. Personally, I think you'd be an idiot to expect it to be either. It obviously won't run as fast, and if you haven't created the display to scale to a small screen properly, I wouldn't think it would look good either.
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.
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++.
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
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
Who need's speling and grammar?
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.
Developers making $$ on iPhone apps are few and far between. The odds are pretty slim that you can recoup your investment.
http://www.fiercemobileit.com/story/most-iphone-developers-dont-make-money/2009-06-17-0
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
Lets start with a Citation needed and follow up with 'Define better'.
As a professional developer, I define better as better by the one that produces the highest net profit for me. Net, not gross. After taking all income and costs into account, including my frustration level or joy in doing it.
No matter how you look at it, the iPhone and its app store is the clear winner to just about anyone on the planet that wants to make money rather than campaign for their favorite OS.
I guess you and I have different definitions of better.
Yours seems to revolve around being an emo/goth and struggling so hard to 'be different' that you end up being like every other angsty teenager out there and by doing so make yourself in fact just a tool of the very thing that bothers you. You try so hard to be different that you end up following all the other 'different' developers.
Meanwhile, the rest of us well balanced individuals are laughing at you all the way to the bank.
For a sheep, i seem to have a lot of spare time to do what I want and plenty of money to do whatever I personally feel like doing, while you seem to spend your time telling us how you're different. I've heard it before, you aren't different, you're just like every other tool who thinks he's different. I got news for you, Mommy lied, you really aren't special.
And once again ... Citation needed, but lets just skip straight to the point. You are a liar. 'We used to write more on less' ... yea, really, then why did you not write the same thing on these current phones? Because you didn't write better on less, you just thought you were bad ass for the crap you turned out before hand.
God, what are you, a developer at RIM or something, thats the only place I've seen mobile developers make such retarded statements in a long time. They too seem to think their shitty phones are actually 'good' rather than 'sucking marginally less than the other crap on the market at the time'. I'm wondering when someone is going to clue them in.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
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/ if interested in seeing that side. And, with Palm-blessed sideloading of apps, developers can make their own way.
Author of Enyo: Up and Running from O'Reilly Media
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?
XML causes global warming.
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).