Where Android Beats the iPhone 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.'"
It's biggest strength (Score:4, Insightful)
It's not DRM-laden patent trolling Apple.
Re:It's biggest strength (Score:5, Interesting)
Re:It's biggest strength (Score:4, Funny)
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.
Re:It's biggest strength (Score:4, Insightful)
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)
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.
Re:It's biggest strength (Score:4, Insightful)
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.
Re:It's biggest strength (Score:5, Interesting)
Re:It's biggest strength (Score:5, Interesting)
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)
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
Use "em" not "px" when defining the UI (Score:3, Interesting)
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: (Score:2)
Then all you'll suffer from is screen size differences.
Re: (Score:3, Funny)
You always can use layout managers...
Only Windows UI Programmers complain about screen sizes...
Re:Use "em" not "px" when defining the UI (Score:5, Interesting)
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 (Score:4, Insightful)
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)
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:Use "em" not "px" when defining the UI (Score:5, Informative)
His point is from a flawed premise. The Android emulator lets you target any version of Android with any version of the software. They could have spent 0 in purchase costs in order to effectively test on every conceivable hardware platform. They set unreasonable testing criteria, paid too much to fulfill it, and now they're complaining about it.
Re:Use "em" not "px" when defining the UI (Score:5, Insightful)
Re:Use "em" not "px" when defining the UI (Score:5, Informative)
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.
This happens all the time in other areas, without need of lawyers. Support of all versions of IE (6+) on all versions of Windows (2000+) comes directly to mind. Web shops don't have a hardware setup for every Windows/IE combination, we use virtual machines (i.e. emulators). We make sure clients sign off on the final product, and professional obligations are honourable fulfilled.
Re:Use "em" not "px" when defining the UI (Score:5, Insightful)
"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.
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.
Re:Use "em" not "px" when defining the UI (Score:5, Informative)
I program Windows btw, but it's always been a pet hate that for so long, Windows enforced developers into a pixel-fixed unresizable GUI design.
Well, it's not entirely true - while it wasn't properly resizable, it wasn't really pixel-fixed, either. For example, if you ever programmed directly in Win32 API or in MFC, you might remember that dialogs are laid out not in pixels, but in dialog units [microsoft.com], which are actually a bit like em in that they are tied to the pixel size of the default UI font. If user changes the DPI setting in configuration, font size changes correspondingly, and dialogs should scale accordingly.
The problem is that this is only used by default for dialog templates fed to CreateDialogIndirect. If you ever create a window yourself using CreateWindow, and manipulate that, all sizes do indeed come in pixels, and you need to use something like MapDialogRect to convert them yourself. And, of course, most people didn't bother...
The other problem is that many high-level frameworks didn't bother, either. Delphi didn't do so for a long time, forcing to deal with pixels directly, for example. VB6 of all things did it right by introducing "twips", which are DPI-dependent (1440 twips/inch; that's 20 twips/pixel at 72dpi, and 15 twips/pixel at 96dpi), and using them for all UI measurements. Even then, creative code monkeys broke the model by observing the twip/pixel ratio for their specific DPI, and then using that as a general-purpose conversion formula...
Now, as noted earlier, this still doesn't lead to truly reflowable UI. And it's not just a matter of user convenience, either - proper localization with statically sized UI is a pain, especially if you start with English, because strings in most other languages are longer, and can easily overflow UI elements sized for English. In sentences, word count can differ widely, too - sometimes so much so that the label now needs to be two-line to fit. On Windows, this was historically "solved" by letting localizers also tweak dialog layouts as needed, but this is obviously an ugly hack. The only proper solution is reflowable UI.
Oh, and it was there before 2006 in stock offerings; WinForms got layouts in .NET 2.0, in 2005. It's just that it was not very convenient to use, and not well supported by visual form designer. With WPF and its XML-based markup, it's much more natural [microsoft.com].
And, of course, third-party frameworks had dynamic layouts on Win32 for ages. Qt had it since the first version, I believe; at least it was definitely in 2.x, which was the first one I've seen.
Re:Use "em" not "px" when defining the UI (Score:5, Insightful)
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)
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)
Unfortunately right now it appears that for users it's the other way around.
Re: (Score:2)
Re: (Score:3, Insightful)
That's not what the buyers are saying with their money since they are still buying more iPhones than Android phones.
And there are far more buyers buying Nokia, along with Motorola, Samsung, LG, and even RIM, high above Apple or Google.
You need to expand your sampling of "users" to beyond the slashdot neckbeards.
Yes, exactly. I wish people would do that, instead of pretending it's just Apple versus Google.
Re:That's peachy (Score:5, Insightful)
Sounds to me like you didn't know smart phones existed before you saw the iPhone.
I assure you, I owned more powerful phones before hand, the only thing the iPhone has that its predecessor didn't is accelerometers and iPhone OS, my original iPhone was actually less powerful than the WinMo phone I owned before it.
Hardware wasn't the problem. The problem is that smartphones in general suck, the iPhone happens to suck a whole lot less.
No, don't tell me about what smart phone you have and how it doesn't suck. It does, you just don't realize it, they have a long way to go before the start getting to the non-suck state. We're about at the C64 stage right now. Which many look back on fondly and talk about how great they are ... from their modern, billion times faster PCs.
The problem is that people like you still have no clue why the iPhone is popular. Its not the hardware. Its not the OS. Its not the app store. Its not iTunes. Its the whole package. From start to finish its all fluid. If you say that about Android, the only response I can give you is to come back and talk to me after you've actually owned one.
People don't give a flying fuck about the processor it user, how much ram it has or who makes it. Really, they don't. They care about having a device thats enjoyable to use, across the board. As long as you keep trying to compare a product based only on specifications of the hardware or OS, you'll continue to be unable to understand why your predictions are invariably wrong. Regardless of where you want to believe it or not, style and user experience are actually what the people care about ... well, normal people anyway. It either does or doesn't meet their requirements, thats all they care about tech specs. A 400mhz proc is no different than a 200mhz proc if 200mhz plays their latest downloads of survivor.
The iPhone isn't going to put up a fight because the contenders still haven't figured out that we're boxing, not playing checkers. To put it bluntly, as far as the general public is concerned, the iPhones contenders simply aren't.
Re: (Score:3, Insightful)
Actually my HTC Hero is pretty good at non sucking, every aspect except the 3d games performance is way superior to the iPhone...
amazing! (Score:5, Funny)
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!"
Re:amazing! (Score:5, Funny)
You joke, but in Java that represents a substantial amount of work.
meh (Score:4, Informative)
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: (Score:2)
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)
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: (Score:2)
No... Maemo... nokia is a handset maker, not an OS.
Re: (Score:2)
Re: (Score:2)
The n900 still uses binary drivers, which means when the n901 ships good luck with that.
Re: Meh (Score:3, Interesting)
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)
"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: (Score:2)
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)
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 (Score:4, Informative)
This is true, although Google wrote an eclipse builder that can take a class file and convert it to dex format.
So you can use class files directly, Eclipse and the Android SDK will take care of converting them for you (transparently).
Re: (Score:2)
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: (Score:2)
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, Offtopic)
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 e
Re: (Score:2)
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: (Score:2)
Java's generational garbage collector doesn't leak memory unless you trap references like you mention in your first paragraph. Even then, it's not leaking memory in a traditional sense, you've just prevented the GC from being able to access and free the memory without crashing the application.
Re: (Score:2)
This is generally a good point. Many common programming errors aren't handled any better in managed environments than native ones.
Interestingly enough, I've worked on a C++ app with a "CPU leak" bug. Some versions of wxWidgets on Linux (such as 2.8.10, which is the current stable release and packaged by many distros) have a bug where certain apps will eat CPU this way if left open but unfocused and idle. Audacity is one such app -- I'm an Audacity developer and none of us could figure out a way to work arou
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.
Was going to say the same thing, foundation there (Score:2)
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 (Score:2)
Developers Developers Developers (Score:3, Interesting)
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: (Score:2)
Re: (Score:2)
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 specif
Not as fast? (Score:2, Interesting)
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)
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)
Re: (Score:2)
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)
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: (Score:2)
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)
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: (Score:2)
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
Re: (Score:2)
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:
wake me up when it catches up (Score:2, Insightful)
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: (Score:3, Insightful)
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?
Re:wake me up when it catches up (Score:4, Insightful)
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.
Re:wake me up when it catches up (Score:5, Insightful)
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?
Re: (Score:3, Funny)
It works for these guys: http://www.google.com/ [google.com]
Maybe they'll hit it big someday and create a competitor to Android.
Free phone. (Score:2)
Another great thing about Android is developers can get a free phone. [zdnet.com]
Re: (Score:2)
Who cares about a free phone. With a top iPhone app I could retire, BEFORE I get out of school!
Yes, there *is* and Emacs mode for this (Score:2)
I don't like Eclipse, but I don't have to since there is an emacs mode [riddell.us] for Android development.
Java as an "advantage?" (Score:4, Insightful)
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: (Score:2)
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?" (Score:4, Funny)
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: (Score:2)
Wow, you must be a really good programmer if you don't know the difference between search and replace and refactoring...
Re: (Score:2)
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.
Re: (Score:2)
Are you kidding me??? (Score:5, Informative)
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. (Score:2)
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. (Score:2)
"...although it won't look pretty or run as fast as it does on multicore servers."
The Nexus One is multicore.
3 Subjects That Make People Irrational (Score:5, Insightful)
Religion
Mac Products
When will we learn... (Score:5, Insightful)
NOT a full comparison. (Score:2)
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
Said this Months Ago And Got Flamed (Score:2)
author's programming chops (Score:2)
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.
webOS is, perhaps, even better (Score:3, Informative)
!Java (Score:3, Interesting)
Re:Shitty programmers writing shitty code. (Score:4, Informative)
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: (Score:2, Insightful)
As far as I can tell, 99% of the iphone apps are pure and utter shit.
Re: (Score:2)
Re: (Score:2)
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 man
Re:Shitty programmers writing shitty code. (Score:5, Insightful)
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: (Score:2)
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: (Score:2)
Mod parent up. This is not troll material; in fact, it has a really good point.
Ha. (Score:2)
> This has thankfully prevented it from becoming the language of choice in major outsourcing and offshoring destinations
> like India, Pakistan and Vietnam
A quick perusal of iPhone-related questions on Apple's discussion boards, or on stackoverflow.com, would quickly cure you of this belief. A lot of people at the "bang the rocks together" level of expertise are trying to develop iPhone apps. People (and companies) go where the opportunity is.
I've been approached by one India-based organization to act
Re: (Score:2)
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:Thanks for Playing (Score:5, Insightful)
Re:Thanks for Playing (Score:5, Informative)
Re: (Score:2)
That'll be the upcoming Android X then...
Re:It's like comparing bad to worse. (Score:4, Interesting)
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.