×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Where Android Beats the iPhone

timothy posted more than 4 years ago | from the but-that's-not-how-jobs-wants-it dept.

Cellphones 365

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.'"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

365 comments

It's biggest strength (4, Insightful)

XPeter (1429763) | more than 4 years ago | (#31363758)

It's not DRM-laden patent trolling Apple.

Re:It's biggest strength (5, Interesting)

Xebikr (591462) | more than 4 years ago | (#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!"

Use "em" not "px" when defining the UI (2, Interesting)

modmans2ndcoming (929661) | more than 4 years ago | (#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

Re:Use "em" not "px" when defining the UI (1)

david_thornley (598059) | more than 4 years ago | (#31363820)

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

Re:Use "em" not "px" when defining the UI (2, Funny)

MemoryDragon (544441) | more than 4 years ago | (#31363854)

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

Re:Use "em" not "px" when defining the UI (4, Interesting)

ducomputergeek (595742) | more than 4 years ago | (#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.

Re:Use "em" not "px" when defining the UI (5, Insightful)

Anonymous Coward | more than 4 years ago | (#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:Use "em" not "px" when defining the UI (2, Interesting)

bjartur (1705192) | more than 4 years ago | (#31364868)

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 (5, Insightful)

Anonymous Coward | more than 4 years ago | (#31363766)

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

Re:That's peachy (1, Informative)

ircmaxell (1117387) | more than 4 years ago | (#31364208)

That's not true. ONE reason for the iPhone's dominance is that there was no competition with a similar hardware class for quite some time. And when I say similar hardware class, I mean large screen, powerful processor and all the sensors. Sure, there was the G1 and others since, but none have had a strong CPU. Until the Droid and the Nexus One. Both have been flying off the shelves (The droid has been around for what, 5 months? And after 2 months the "droid light" app which turns the backlight on the camera into a flashlight was already on the top 10 downloaded apps list... Last year saw a good jump in the number of android based devices sold. I'd be very surprised if Android didn't have at least 10% of the smartphone SALES by the end of this year... At least some of the reasons to buy the iPhone are now shared among a mass of devices (the caliber of hardware, supporting of 3pd apps and "all in one" functionality through a sexy touch screen device)... I'm not saying the iPhone is dead (I'd be REALLY surprised if it went down without a fight), but I am saying that its lead from the rest of the pack of smartphones (in non-business use anyway) is in serious jepardy...

Re:That's peachy (1)

bigstrat2003 (1058574) | more than 4 years ago | (#31364746)

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 me), Android is light-years ahead of the iPhone.

haahahaahahaahahaahahaahaaaaaa! (0)

Anonymous Coward | more than 4 years ago | (#31363772)

No.

amazing! (4, Funny)

vrmlguy (120854) | more than 4 years ago | (#31363792)

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!"

Thanks for Playing (1, Insightful)

His Shadow (689816) | more than 4 years ago | (#31363798)

"although it won't look pretty or run as fast...". That's all, Folks!

Re:Thanks for Playing (4, Insightful)

WrongSizeGlass (838941) | more than 4 years ago | (#31363938)

Ugly multitasking on an Android is not better than slick single-app execution on an iPhone. It's only a different experience.

Re:Thanks for Playing (0)

Anonymous Coward | more than 4 years ago | (#31364316)

pity, can't mod you up mate

Re:Thanks for Playing (0)

Anonymous Coward | more than 4 years ago | (#31364500)

Indeed. A slower and painful experience. I equate the use of Android phones with swimming in syrup. It is slow, laborious and annoying. Thanks to the "superiority" of Java.

If I see "acore force close" one more time, this puppy is going into orbit!

Re:Thanks for Playing (0)

Anonymous Coward | more than 4 years ago | (#31364580)

You've quite obviously never used a Nexus One. It's BLAZING fast.

Re:Thanks for Playing (4, Informative)

Nerdfest (867930) | more than 4 years ago | (#31363944)

... 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.

Re:Thanks for Playing (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#31364050)

As John Lennon often said, woman is the nigger of the world. Yes she is...think about it...Woman is the nigger of the world. Think about it...do something about it

We make her paint her face and dance. If she won't be a slave, we say that she don't love us. If she's real, we say she's trying to be a man. While putting her down, we pretend that she's above us

Woman is the nigger of the world...yes she is. If you don't believe me, take a look at the one you're with. Woman is the slave of the slaves. Ah, yeah...better scream about it. We make her bear and raise our children, and then we leave her flat for being a fat old mother hen. We tell her home is the only place she should be, then we complain that she's too unworldly to be our friend

We insult her every day on TV, and wonder why she has no guts or confidence. When she's young we kill her will to be free, while telling her not to be so smart we put her down for being so dumb

We make her paint her face and dance
We make her paint her face and dance

Re:Thanks for Playing (0)

Anonymous Coward | more than 4 years ago | (#31364290)

Yeah, I thought that was funny, but the other big thing is that they're missing the point.

Yes, Java developers can adapt quickly to a new Java API, surprise!

The iPhone runs a version of Cocoa and you write that in ObjC, just like...every other Apple system! So guess what? Objective-C developers can adapt quickly to a new Objective-C API!

The point is that yeah, iPhone may not get as many "general" developers as the Android, but is that really Apple's goal? Apple is doing the same thing they did with the iPod - cross-selling! Part of why I find the iPhone useful personally is because the apps have a similar ideology to the apps I use on my Macbook Pro. A lot of popular apps for Mac have syncing versions that are ran on the iPhone. This applies to some cross platform stuff too, a lot of it starts on Mac, then eventually they port it to PC after they have an iPhone app.

So no, Apple doesn't benefit from a huge Java community, they benefit from the extremely _LOYAL_ objective-c community, which since OpenStep is not too popular, is pretty much entirely Apple-centric.

Re:Thanks for Playing (1)

bmecoli (963615) | more than 4 years ago | (#31364722)

"although it won't look pretty or run as fast..."

"...as it does on multicore servers." Way to quote out of context there. Who modded this insightful, really?

meh (4, Informative)

LiquidCoooled (634315) | more than 4 years ago | (#31363800)

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

Re:meh (1)

modmans2ndcoming (929661) | more than 4 years ago | (#31363830)

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

Re:meh (2, Insightful)

gbjbaanb (229885) | more than 4 years ago | (#31363912)

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.

Re:meh (1)

Nerdfest (867930) | more than 4 years ago | (#31364080)

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.

Re:meh (0)

Anonymous Coward | more than 4 years ago | (#31364654)

This will change. Maemo and Moblin are in the progressed of being merged into one distribution called MeeGo. MeeGo is backed by Nokia and Intel and will be built for x86 and ARM. Any device manufacturer is free to use MeeGo as the operating system for their device. You'll start to see many MeeGo devices in a relatively short period of time. See more at http://meego.com/ [meego.com].

Regardless, the operating system is in some ways less important than the SDK. Using Nokia's Qt based SDK you'll be able to target Maemo 5, MeeGo, and Symbian handsets. That will effectively be 45% of all smartphones.

Re:meh (1)

h4rr4r (612664) | more than 4 years ago | (#31364176)

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

Re:meh (1)

LiquidCoooled (634315) | more than 4 years ago | (#31364294)

of course it does, but how many apps actually bang the hardware enough to care?
user space is open and inviting, let the frameworks deal with the nitty gritty.

writing in qt or sdl or gtk or even native x11 apps doesnt touch any of that stuff.

who says that when iphone+4 comes out or the next android device comes out your apps will be compatible there?

lol (-1)

Anonymous Coward | more than 4 years ago | (#31363804)

if java is your secret, you should probably kill yourself.

Shitty programmers writing shitty code. (0, Flamebait)

Anonymous Coward | more than 4 years ago | (#31363846)

One of the best things about Objective-C is that it is ever so slightly more difficult than Java to learn. This has thankfully prevented it from becoming the language of choice in major outsourcing and offshoring destinations like India, Pakistan and Vietnam. It's part of the reason we don't see shitty apps on the Mac; Objective-C has historically only been used by American and European developers.

So all that Wayner is admitting is that Android will let companies continue to use these third-world developers who can't put out anything that actually works. Android phones will have a small number of useful apps, but a whole lot of utter shit developed overseas. Meanwhile, the iPhone (and soon the iPad) will be somewhat immune to this because Java isn't supported there.

Re:Shitty programmers writing shitty code. (3, Informative)

MemoryDragon (544441) | more than 4 years ago | (#31363888)

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!

Re:Shitty programmers writing shitty code. (1, Insightful)

modmans2ndcoming (929661) | more than 4 years ago | (#31363976)

As far as I can tell, 99% of the iphone apps are pure and utter shit.

Re:Shitty programmers writing shitty code. (0)

Locke2005 (849178) | more than 4 years ago | (#31364420)

Wow! You've actually used 99% of the iPhone apps?!? You must have a lot of spare time on your hands!

Re:Shitty programmers writing shitty code. (1)

MrCrassic (994046) | more than 4 years ago | (#31364766)

And 150% of statistics are made up on the spot.

Pandora for the iPhone is so well-written, it's practically a secondary music application for many folks. Many of the popular games on there work pretty well (and are lots of fun too!) and several of the applications I've downloaded have been pretty high-quality (read: few crashes, all of which are related to Safari hogging up memory and the memory being way too limited in the first place). I would be skeptical of thinking iPhone apps are pretty crappy when many, many people have at least four pages worth of apps on their phones.

Re:Shitty programmers writing shitty code. (0)

Anonymous Coward | more than 4 years ago | (#31364784)

You clearly misunderstand. There are at least two distinct type of "shitty software".

1) Software that's useless. This is the sort of software you're referring to. They are apps that look like they might be useful, but in the end they just aren't.

2) Software that's horrible designed and implemented. That's what the GP was talking about. India is the main producer of these shitty apps, written by people who don't have even the slightest clue about developing software.

Re:Shitty programmers writing shitty code. (0)

Anonymous Coward | more than 4 years ago | (#31364108)

Thank God those stupid Asian guys aren't as clever as us white folks, eh?

Re:Shitty programmers writing shitty code. (1)

owlstead (636356) | more than 4 years ago | (#31364544)

Because of education and (more) free thought I think the current generation of Asian programmers is - on average - not as apt as most western programmers. That has however nothing to do with cleverness, and it will certainly change in the future. It certainly better that they start with Java than with C++, which would certainly make everything a downright mess. The GP is under the illusion that having a harder language makes people stop programming. Instead they'll just make crappier programs.

Re:Shitty programmers writing shitty code. (4, Insightful)

owlstead (636356) | more than 4 years ago | (#31364412)

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.

Re:Shitty programmers writing shitty code. (1)

EastCoastSurfer (310758) | more than 4 years ago | (#31364440)

Haha. If you know C and have an idea about OO concepts then obj-c is just as easy to learn as anything else. Many (most? all?) C libraries that don't rely on graphics should work just fine on the iPhone. Maybe it's C that's too hard for people to learn?

Re:Shitty programmers writing shitty code. (1)

MrCrassic (994046) | more than 4 years ago | (#31364728)

Mod parent up. This is not troll material; in fact, it has a really good point.

No it will not (5, Informative)

LWATCDR (28044) | more than 4 years ago | (#31363868)

"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.

Re:No it will not (1)

peterwayner (266189) | more than 4 years ago | (#31363952)

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 (3, Informative)

loconet (415875) | more than 4 years ago | (#31364042)

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.

Re:No it will not (1)

LWATCDR (28044) | more than 4 years ago | (#31364232)

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.

Re:No it will not (1)

gbjbaanb (229885) | more than 4 years ago | (#31363998)

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 to write a python compiler and use that instead, as long as they allow C library code. In fact the whole Android environment should have been written as C libraries that any language could access without restriction - then you'd get devs from all over using it.

C? For programming C you should need a license! (0)

Anonymous Coward | more than 4 years ago | (#31364172)

C? For programming C you should need a license! In C/C++ you have to do the memory management yourself. I have seen huge amount of C/C++ code (including mine) with memory leaks. You do not want memory leaks in an application running on a mobile phone with limited resources, and more over not supposed to be restarted. Actually, if you really need stability you should go for Ada (that is what they use in the aerospace industry). At least memory management in Java is easier. Also, applications are sandboxed in JVM - the application may crash, but it won't crash the OS.

Re:C? For programming C you should need a license! (1, Offtopic)

TheRaven64 (641858) | more than 4 years ago | (#31364260)

At least memory management in Java is easier.

Having seen memory leaks in every nontrivial Java program I've used (which, admittedly, is not many), I'm not certain about this. In C, memory management is hard, but that means that people think about it. In Java, memory management is implicit (which is not the same as easy), which means that people don't think about it. They don't think about the correct times to use weak references, and they end up leaking memory.

Java also has the distinction of being the language used for the only program I have ever seen with a CPU leak: Start it and watch the CPU usage slowly climb over the next few hours (while not actually doing anything, or taking any use input), until it's at 100% about 3 hours later.

Re:C? For programming C you should need a license! (1)

H0p313ss (811249) | more than 4 years ago | (#31364736)

Java also has the distinction of being the language used for the only program I have ever seen with a CPU leak: Start it and watch the CPU usage slowly climb over the next few hours (while not actually doing anything, or taking any use input), until it's at 100% about 3 hours later.

I call bullshit on that one, I leave Eclipse running for days on end and never see that. I'm not saying it's impossible, I'm saying that this is not a Java issue it must be the application you're using.

Re:No it will not (1)

Tapewolf (1639955) | more than 4 years ago | (#31364262)

The UI and the program entry point have to be written in Java. However, since it supports JNI, you can reuse all the program logic from C/C++, assuming you haven't stuffed it full of win32-specific stuff.

Re:No it will not (2, Informative)

SoftwareArtist (1472499) | more than 4 years ago | (#31364190)

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.

Was going to say the same thing, foundation there (1)

SuperKendall (25149) | more than 4 years ago | (#31364812)

As you noted, the foundation libraries are pretty much all there - it would be an adjustment going from other GUI frameworks, although you're going to have to re-think what you do anyway for a mobile device with a mostly touch interface!

Syntax (1)

mosb1000 (710161) | more than 4 years ago | (#31364690)

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.

Oh boy! (0)

Anonymous Coward | more than 4 years ago | (#31363880)

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

Beats the iPhone in slow-running, ugly applications. Take that Apple!

Developers Developers Developers (2, Interesting)

Archangel Michael (180766) | more than 4 years ago | (#31363918)

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.

Re:Developers Developers Developers (0)

Anonymous Coward | more than 4 years ago | (#31364016)

These "developer" fellows are the ones who make your smartphone more useful than a phonephone. It being attractive to developers is very much a good thing for you as a user.

Re:Developers Developers Developers (1)

dangitman (862676) | more than 4 years ago | (#31364464)

It being attractive to developers is very much a good thing for you as a user.

Actually, that's not necessarily true.

"Being attractive to developers" is often code for "easy for lazy developers to use." For example, Visual Basic is attractive to many developers, but the resulting software often isn't very good for the users. What's good for users is having the best developers write your applications. And the best developers don't tend to be lazy or averse to learning new techniques.

There are countless examples of this in effect action - from terrible Enterprise software written specifically for IE6 or Office, to Flash games versus console games. It's generally not easy to program for a game console, yet that's where the AAA games are. It's much easier for the developer to slap together a Flash game.

Re:Developers Developers Developers (1)

zuperduperman (1206922) | more than 4 years ago | (#31364058)

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? (1, Interesting)

dave562 (969951) | more than 4 years ago | (#31363930)

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:Not as fast? (3, Informative)

Anonymous Coward | more than 4 years ago | (#31364036)

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:Not as fast? (1)

0xdeadbeef (28836) | more than 4 years ago | (#31364092)

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.

Re:Not as fast? (-1, Flamebait)

codepunk (167897) | more than 4 years ago | (#31364220)

Exactly that is why you see so many 3d games written in java, throw in physics
and you should get .2 frames per second. The iphone however can easily handle all
that at better than 30 fps.

Just for the record I am a SA and Programmer, I love java apps, they require gobs of hardware to run on. The more deployed hardware the more money I make.

Windows Mobile (4, Insightful)

Dan East (318230) | more than 4 years ago | (#31363940)

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!"

Re:Windows Mobile (1)

owlstead (636356) | more than 4 years ago | (#31364700)

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 list of mostly used languages. So it's certainly an advantage. How big an advantage is up to discussion. (If you are not convinced, replace Objective C by a true niche language with it's own API. How many apps would you expect in the app-store then?)

Re:Windows Mobile (5, Interesting)

Dan East (318230) | more than 4 years ago | (#31364824)

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.

Re:Windows Mobile (1)

MrCrassic (994046) | more than 4 years ago | (#31364794)

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.

wake me up when it catches up (2, Insightful)

thanasakis (225405) | more than 4 years ago | (#31363948)

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.

Re:wake me up when it catches up (1, Interesting)

Itninja (937614) | more than 4 years ago | (#31364188)

When complex and expensive productions from big studios start coming out for a platform, you know that the platform is popular.

All one can really infer from that is Apple is in bed with big game studios.

Re:wake me up when it catches up (1, Interesting)

Mark19960 (539856) | more than 4 years ago | (#31364334)

Some of us carry smartphones to increase productivity, not play video games on a 4 inch screen.
If grand theft auto on your phone is a selling point... god help us all.
If you want to play games, buy one of those portable game widget things that Nintendo or Sony sells.

Re:wake me up when it catches up (0)

Anonymous Coward | more than 4 years ago | (#31364410)

Some of us carry smartphones to increase productivity, not play video games on a 4 inch screen.

Increase productivity with Java apps?

Infoworld Has Too Many Crackheads Working There (0)

Anonymous Coward | more than 4 years ago | (#31364206)

Seriously guys, drug tests for everyone over there. This guy just claimed Java unlocks the power of Unix.

Java as an "advantage?" (3, Insightful)

Zigurd (3528) | more than 4 years ago | (#31364302)

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.

Re:Java as an "advantage?" (1)

MemoryDragon (544441) | more than 4 years ago | (#31364474)

I personally do not think the UI in Eclipse is worse than the one from XCode but it adds refactoring which objective C ides lack.

Re:Java as an "advantage?" (3, Funny)

BitZtream (692029) | more than 4 years ago | (#31364524)

Which year are you living in, Xcode doesn't seem to have a problem doing it for me.

Of course, I've had refactoring in notepad for years. Search and replace is hard.

Re:Java as an "advantage?" (1)

binarylarry (1338699) | more than 4 years ago | (#31364774)

Wow, you must be a really good programmer if you don't know the difference between search and replace and refactoring...

Re:Java as an "advantage?" (1)

furball (2853) | more than 4 years ago | (#31364742)

I think refactoring was added to Xcode since 3.1. It's under the Edit menu or if you're hotkey around it's Shift-Command-J.

Are you kidding me??? (5, Informative)

thetartanavenger (1052920) | more than 4 years ago | (#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

The only thing that counts. (1)

codepunk (167897) | more than 4 years ago | (#31364402)

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.

The future is arriving faster every day. (1)

ErikZ (55491) | more than 4 years ago | (#31364442)

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

The Nexus One is multicore.

Platform choice and Cost (1)

Ewlkaz (1252956) | more than 4 years ago | (#31364454)

Developing for the iPhone requires OSX. Publishing an app to the market requires a $99 license. App Store rules are quite stringent. Developing for the Android Platform requires Windows, Linux or OSX. Publishing an app costs nothing. Market rules are a lot less stringent than App Store. iPhone OS is closed. Android OS is open source allowing developers to support phones that hardware companies have dropped.

When will we learn... (4, Insightful)

BearRanger (945122) | more than 4 years ago | (#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.

NOT a full comparison. (1)

MrCrassic (994046) | more than 4 years ago | (#31364674)

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 the Droid and the Nexus One, to a lesser extent, are trying to do), the best bet to gaining lots of visibility and/or profit is by developing for the iPhone.
The article is pretty comprehensive; I recommend it. (Probably means nothing here on /. though. :p)

Said this Months Ago And Got Flamed (1)

curmudgeon99 (1040054) | more than 4 years ago | (#31364726)

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.

author's programming chops (1)

Sebastopol (189276) | more than 4 years ago | (#31364826)

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.

Nirvana Quest (1)

strangeattraction (1058568) | more than 4 years ago | (#31364842)

What the F@#ck I just just quit using Java to use Go. Can't Google make up it's mind. Ok, it is all quite clear now. It isn't the language that makes a product it is what you make with the language that is the product. That explains the popularity of the totally impure ObjectiveC. Infidels! calm restoring. Naval gaze.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...