Slashdot Mirror


Should I Learn To Program iOS Or Android Devices?

HW_Hack writes "In my early career in the '90s I had a hardware tech degree, but also a strong interest in software. I completed software courses in assembly, Pascal, HTML, and C as I prepped for a CS degree. I then got my chance to do hardware design for a major US firm and went that direction for a good 18-year career. I now work in a good sized school district doing IT support work at a large high school. I plan to revive my programming skills this winter so I can write apps for the flood of mobile devices. I am very much platform / OS agnostic and I support on any one day OS X, XP, Win 7, Linux servers, and now iOS as we pilot iPads in our school. My question focuses on three topics: Which programming environment (iOS or Android) is easier to jump into from a technical perspective / number of languages needed to master? Which one has a better SDK ecosystem of documentation, programmer support, and developer community(s)? Where is the market and the money going? I do not expect to get rich doing this, but with my insights into K12 needs I hope I can write effective apps for that market."

403 comments

  1. Yes by Ranger · · Score: 5, Insightful

    you should.

    --
    "You'll get nothing, and you'll like it!"
    1. Re:Yes by l0ungeb0y · · Score: 2, Informative

      EXACTLY!

      As a developer you'll be far more valuable being able to deliver an app to as many platforms as possible.

    2. Re:Yes by bennomatic · · Score: 1

      This. Plus HTML5/Javascript. And even that other technology. Flash may be dying as a percentage of the market, but it's dying slowly even from that perspective. And the market is growing fast enough that even "dying" means growth. Hell, Cobol's been dying for 50 years now. Not that I'm suggesting learning cobol.

      Point is, web apps don't solve everything, but they do solve some problems very nicely, and they're powerful enough now with Webkit (on iOS and Android and WebOS) that you can even use them to do quick prototyping for a lot of types of apps. I wanted to write an interactive book for my kid as a native iApp as an excuse to learn how to write iApps, and then found myself instead looking to HTML5 and wrote the whole thing, touch gestures and page animating and all, as a web app.

      And the boy loves the wBook, by the way. It lets him see the moon gliding across the sky behind all sorts of familiar objects, from buildings to trees to his dog. Of course, I should say he loved it, from ages 6 mo to 18 mo. Now at 18 mo, he's not so fascinated by the fact that his touch animates the moon. Now he's found the home button and if I leave him alone with my iPod for more than a minute, he'll delete every app that he can. He loves the way they wobble...

      --
      The CB App. What's your 20?
    3. Re:Yes by Anonymous Coward · · Score: 5, Funny
      No no no!

      Microsoft Windows Phone 7 is coming out in just a couple of months and just as Microsoft has done on the desktop with superior choices like Windows NT, they will quickly dominate the mobile front as well. Microsoft Windows Phone 7 is programmed completely in the industry leading .net programming language and augmented with the unmatched Silverlight technology providing an unrivaled technological platform with which you will only be limited by your imagination for the applications you can develop. Why play around with a tired platform like ios or android (an operating system only tech geeks can use and understand), when you can go with the undisputed leader in computer technology that is Microsoft. Furthermore, the MetroUI as seen on the ZuneHD audio player makes androd and ios look like sad anachronistic throwbacks. No serious developer will even touch aple and googls stuff when Microsoft Windows Phone 7 is unleashed.

    4. Re:Yes by Ronin+Developer · · Score: 4, Insightful

      Having the knowledge to develop for both platforms is a wise idea. There are some who think that Apple's proprietary-ness will lead them to their doom. I don't think that's the case at all. I know that with "walled garden" of iOS, my apps are checked for proper behavior before being placed in the wild. And, there is a system in place to sell apps and collect revenue. Granted, Apple takes a nice slice for the privilege - but its a thriving environment.

      The language you need to learn is currently Objective-C. Apple has recently changed their development tool policy - so, expect other languages to become available that cross compile down to Objective-C. We'll see. Documentation is very good and there are plenty of 3rd party books out there also.

      Android requires Java and knowledge of the Android SKD. It also has a large community following. Gartner groups predicts that by 2014, Android based phones will outsell iOS phones - simply because it will be on more platforms.

      Android has a hidden danger - malware has already been found in the wild that attack Android phones. And, if the code keeps forking for each device type out there, you will have to know all the nuances of a given platform. This is something you don't have to worry about too much with iOS. I am not familiar with the selling of Android apps - how that ecosystem works - maybe, somebody else can expound on that.

      A third contender will be Microsoft with Windows Phone 7. We'll have to see if their system catches on - the first devices are due out in October. It may be too late for them.

      Blackberry? Well, they have too many devices and versions of their OS. Testing our app for Blackberry required the hiring of service to provide access to test devices and separate builds for each device type. I would discourage Blackberry development.

      If you plan to sell to your services to the business world, learn both environments. There's where the money is to be made - the days of the "big app" making your a zillionaire are pretty much gone.

    5. Re:Yes by Anonymous Coward · · Score: 0

      "Flash may be dying as a percentage of the market, but it's dying slowly ..."

      If he admits to Flash and tells his address he will die slowly as well.

    6. Re:Yes by bennomatic · · Score: 1

      Hate to say it, but the same could be said of all of us. Finite time on this means that no matter where we are in our lives, we're progressing towards the dirt-hole.

      That always struck me about the big dune monster in Return of the Jedi. You know the one that was basically a pit in the sand that they were going to be thrown into? C3PO said that anyone thrown in would die a painful death as their body is digested over a period of 1000 years. I figure if it takes 1000 years for that thing to digest anyone, the digestive acids can't be that powerful; it'd be more like drowning than anything else. And considering that even without drowning, anyone in its gullet would die within a few days of starvation, the whole 1000 years thing is a bit silly.

      --
      The CB App. What's your 20?
    7. Re:Yes by poetmatt · · Score: 1

      this is the correct answer.

    8. Re:Yes by Anonymous Coward · · Score: 0

      you should.

      No, you should learn a real open platform, blackberry. RIM has made an SDK and full documentation freely available for close to a decade. No need for any of that that jailbreaking crap.

      You won't have to deal with Apple being dicks about approving your app - sell through RIM's app world, or sell it yourself by any other method.

    9. Re:Yes by rrossman2 · · Score: 1

      You're lucky. My son would touch the screen a few times, and then try to eat the damn thing. That's how my Storm died, and my wife's phone. He was 6 months at the time

    10. Re:Yes by Wovel · · Score: 1

      Did you thank him for killing your storm :)

    11. Re:Yes by Antique+Geekmeister · · Score: 1

      And of course, you'll lose years of your career and maybe your house if you try this. The mobile application market is wildly overpopulated with "brilliant ideas" that founder on small but fatal flaws, ranging from poor user interfaces to being blocked by the apps stores for arbitrary and unpredictable policy reasons, to simple theft by a larger vendor who can undercut your price and merge their development work with other work and undercut you.

      Get out of the "mobile device development" marketplace unless you're extraordinarily gifted: with decades of experience, get into infrastructure work to support the mobile device companies. And make sure you get paid cash, not stock.

    12. Re:Yes by rrossman2 · · Score: 1

      Actually, I was rather happy. That thing was a POS. Now I'm back to using my old Nokia N95

    13. Re:Yes by Ranger · · Score: 3, Insightful

      Actually, I'm learning HTML5, CSS3 and JavaScript. What I want to do on mobile platforms doesn't require an app.

      --
      "You'll get nothing, and you'll like it!"
    14. Re:Yes by Anonymous Coward · · Score: 2, Informative

      Blackberry? Well, they have too many devices and versions of their OS. Testing our app for Blackberry required the hiring of service to provide access to test devices and separate builds for each device type. I would discourage Blackberry development.

      Blackberry has made device emulators freely available for many years.

      Blackberry has had documentation and an SDK freely available for close to a decade.

      Blackberry puts no restrictions on how you sell or distribute your applications.

    15. Re:Yes by aliquis · · Score: 2, Insightful

      you should.

      Good enough, didn't answer much of his questions as far as languages, communities, environments, market and so on though.

      Also what about QT? 4.7 just came out:
      http://qt.nokia.com/products/whats-new-in-qt/

    16. Re:Yes by Anonymous Coward · · Score: 0

      "Android has a hidden danger - malware has already been found in the wild that attack Android phones. And, if the code keeps forking for each device type out there, you will have to know all the nuances of a given platform. This is something you don't have to worry about too much with iOS."

      I guess you missed a 15 year old circumventing Apples code reviewers to include a socksproxy in a flashlight! What does a flaslight need serversockets for? And why wasn't this flagged by a simple api calls review?

    17. Re:Yes by object404 · · Score: 5, Informative

      Learn Flash/Actionscript3/Adobe AIR. It will simply run everywhere. (cue Flash vs HTML5 flame war. off-topic, IE9 ain't coming to XP so screw that -- I'm sick of all the "this will only work on Safari" or "this will only work on Chrome" HTML5 demos. As someone who actually builds stuff for clients instead of just blogging about these technologies, this is a dealbreaker and ***FORWARD*** compatibility headache as Windows XP will never go away for the near future. The original reason I learned Flash coding was because of the bloody headache of cross-browser compatibility.)

      Back on topic, Flash is coming to every single smartphone platform (and even TV set top boxes). 19 of the top 20 mobile manufacturers are already part of the consortium Adobe Open Screen Project and they're working to get Flash running on their respected platforms. Only Steve Jobs didn't sign up for whatever his reasons. Flash is now out on Android, Symbian, Maemo, coming to WinMo 7 (Flash Lite is already out on older versions of WinMo), Blackberry & Palm, definitely on Meego (Nokia Maemo + Intel Moblin).

      Flash CS5 can now be used to make native iPhone apps legally again as per App Store policies (the process is the same as making an Adobe AIR app). Here's a refresher on exporting your AIR project into iOS: Packager for iPhone Refresher.

      There's some surprising current statistics to fix one's perspective on the death of Flash by the iOS gadget crowd. Currently 97% of the internet is Flash capable and iOS only has 1.1% share. Of course, the iOS share will increase as more customers buy them, but think of that when building stuff with the widest reach possible. Also, currently, devs seem to be monetizing the most on iOS, but the App store is now *so* *so* *so* saturated that it's hard for a new app to get noticed amidst all the noise.

      Flash 10.1 is already out on Android Froyo (2.2) and AIR for Android is currently in public beta and should come out soon http://labs.adobe.com/technologies/air2/android/ so Flash is already good to go if you want to target Android.

      Another thing to consider is that Android market share has now overtaken iOS and since there's not enough decent content on the Android and Adobe AIR marketplaces compared to the Apple App Store, if you build a good app on any of those platforms, it's easier to pull in a user base since there isn't much competition yet.

      Your Flash apps would run on Symbian^3 devices which are already out (N8, C3, etc) as they have all Flash Lite 4.0 (A slightly stripped down version of Flash 10 which already runs AVM2 AS3 swfs). In fact, Nokia just launched the $10million Calling All Innovators N8 app contest and Flash is one of the formats you can enter in.

      Not only will your apps run on mobile devices if you build 'em in AIR, they will also run on Desktop Linux, Mac & Windows and that is the biggest plus for me. For complaints about the cost of Adobe tools, you can build SWFs and AIR apps from completely Open Source tools. The Flex SDK is FOSS and you can build apps just with your .AS3 sourcecode + a command line just like with the JDK for Java (or pick any appropriate IDE of your choice to make your life easier). Oh, btw, the commercial Flash Builder is free for students & teachers + developers who're hit by the economic crisis and are currently unemployed -> apply here for license.

      Of course, please don't forget to *optimize* *optimize* *optimize*. Flash is not a slow platform. T

    18. Re:Yes by tgatliff · · Score: 1, Informative

      Other than simple "hello world" type development, most of the time the way you really learn a new platform is by getting a new project and then learning it as you go. Pretty much any senior developer can pickup new platforms with only a slight impact (mostly late nights) in the overall timeline.

      For me personally, I have not been able to get any clients to bite on iOS development, but I found early on that android is an almost ideal OI for industrial automation. Hence, why I currently am only doing android development at the moment until I can find someone to fund a iOS project.

    19. Re:Yes by dr-alves · · Score: 5, Interesting

      As a developer:
      - Android is way easier than iOS.
      - ActionScript is the place when good language design went to die

      As a user
      - iOS apps, if designed natively, are extremely hard to beat in terms of responsiveness, beauty and general "native feeling"

      As a vendor
      - Flash is the common denominator, i.e., it may commoditize the platform, but I've yet to see a flash based app that looks as good as the best native apps
      - Android will have a bigger user base but a worse monetization mechanism than iOS, i.e., more users but which consume less (more due to the neglect of the market than otherwise).

    20. Re:Yes by davester666 · · Score: 1

      No No NO!

      He MUST learn Symbian 3! It'll definitely be THE OS to code for, of course, once Nokia actually ships a device with it and, well, it winds up taking over the smartphone market. Which it will.

      --
      Sleep your way to a whiter smile...date a dentist!
    21. Re:Yes by naz404 · · Score: 1, Informative

      Oh, also, for developing on iOS devices like the iPhone, iPod Touch & iPad, think of the environment as closer to game consoles where the owners have very tight grips on which devs can enter. The license & requirements to dev on iOS is much cheaper than compared to applying for Playstation, X-Box, Wii & NDS (and that's why it's also a lot of game developers are switching to iOS).

      Aside from that, a growing number of users are already ditching their PSPs & NDSs for smartphones/PMPs. Nokia had the right idea with the N-Gage, they just borked its execution horrendously (whoever had the final say on designed the ergonomics obviously never played a console game in his life).

      Oh, and don't forget to look into Unity3D! It's also cross platform and with proper tweaks, you can get your app to run on Windows, Mac, iOS & w/ additional licenses, Wii, X-Box 360, PS3, Android (soon).

    22. Re:Yes by bm_luethke · · Score: 5, Informative

      "Android has a hidden danger - malware has already been found in the wild that attack Android phones."

      So does the iPhone - there have even been a few that have made it to the front pages of Slashdot. One of the Apple "hidden dangers", as you call them, is some strange confidence that Apple doesn't have these bugs and people act accordingly. Indeed their PDF reader had a remote root exploit that makes any and all Android exploits pale in comparison. Heck, even *the store itself* has been compromised on at least one occasion (most likely by multiple different people too) and a large number of unauthorized purchases initiated by said intruders.

      However, that really doesn't matter that much with respect to what environment to learn and frankly matters little to most people (note how many use Windows). If you want to develop mobile application then it would be suggested that you learn iOS, Android, and RIM.

      --
      ------- Sorry about the spelling, I suffer from two problems. Dyslexia makes it difficult to spell well, lazy makes it
    23. Re:Yes by dannys42 · · Score: 1

      I'll start by saying I'm a iPhone developer and haven't yet looked at Android development. But Ronin Developer's comments seem well balanced and consistent with what I've read.

      I'd like to add that from an academic standpoint, I rather like Objective-C and the Cocoa API. It's approach to objects and object interaction is the best/cleanest I've seen. The documentation is quite nice. (I personally have always hit a wall of complexity for even moderately sized projects every time I used C++ or Java... but I don't seem to have that issue with Obj-C). If nothing else, I think this will help all programs in seeing (and using) a well developed API.

      You can get around the $99/year developers fee if you start with desktop development or if you just program for the simulator. I did find iPhone development to be a nice start into the API, though, as it's a bit simpler (due to there being fewer options than the Desktop).

    24. Re:Yes by WrongSizeGlass · · Score: 1

      What does a flaslight need serversockets for?

      It's very dark deep down in the intertubes. You need a flashlight because a zippo will just set off the smoke alarms.

    25. Re:Yes by Anonymous Coward · · Score: 1, Informative

      This is ALMOST the correct answer, a well designed application for android does NOT need to know which devices it is designed for, it has scalable objects/images/etc built in from the initial designs of the platform, if you have a decent CS background with a decent software engineering ability, Android will mesh quite well with your abilities and allow your application (unless you are making the next folding@home@mobile application or other such thing) to never have to worry about the underlying arm/x86/etc implementation of hardware that it is running on. Also I've personally done research into Android security and it is leaps and bounds beyond what any desktop OS has, is it perfect... no... but its alot better than anything else out there IMHO. and if you WANT to worry about the hardware development area, then Android had the NDK (Native Development Kit) so you can work with a subset of assembly/c/c++ commands(also a few linux commands ..I think...still learning NDK...{like 'ls', etc})

      But if you make a well made Android application, then you don't have to worry about phone X,Y,Z coming out because it will already be compatible with those phones

      Also Android gives you fine grain control on which devices will be able to see your application in the marketplace based on the device specifications. Good Developers need to use this to their benefit more.

    26. Re:Yes by glebovitz · · Score: 2, Interesting

      Actually, this isn't so far fetched, except you should be saying: "write Nokia Qt, Qt Mobilitiy, and QtQuick" because it runs on Symbian, Meego, and Maemo. With 160 million devices in the market capable of Qt and QtQuick, it wouldn't been a bad plan to learn it. It will also run on tablets and desktops.

    27. Re:Yes by aliquis · · Score: 1

      He MUST learn Symbian 3! It'll definitely be THE OS to code for, of course, once Nokia actually ships a device with it and, well, it winds up taking over the smartphone market. Which it will.

      Depends on how you see it. Will it be the shit among rich American teens who idolize Apple? No.

      Does the Asian cheap smart-phone market got more potential as far as tapping huge numbers go? Guess so.

      Though of course you may be able to sell more advanced phones there to. But MeeGo is Nokias OS in that category and not Symbian^3 so don't down-talk it too much.

      Sadly for Nokia, and probably why Apple was late to the market and so on the market potential as far as profit goes is much lower in that part of the world for now.

      Meanwhile maybe one shouldn't underestimate the advantage of having a very strong brand recognition in the area once they to can afford more expensive phones.

      Nokia is fucking slow.

    28. Re:Yes by Anonymous Coward · · Score: 0

      Perhaps C3P0 was coming at it from a droids perspective? He'd neither starve nor drown but have a very boring gradual breakdown?

    29. Re:Yes by gbjbaanb · · Score: 4, Informative

      a fair point, Air is a common-baseline platform to develop for, more ubiquitous than Windows! Develop for Air and you'll be ok no matter where you want to put your apps.

      There is an alternative: Qt.

      It's a more 'serious' development platform requiring C++ skills (that pretty much get compiled to any platform) with a rather easy to use GUI, and now they also have a wonderful QML 'fluid' capabilities where you can extend the 'boring' old GUI with new fancy features very easily.
      It has support on Android (through the Lighthouse project) and all traditional desktops, and all Nokias (of course) with iPhone support being worked on at the moment.

      Its also free for everybody. If you want to develop for multiple platforms without the 'embarrassment' of using Flash, then this could be a way to go.

    30. Re:Yes by tyrione · · Score: 1

      As a developer: - Android is way easier than iOS. - ActionScript is the place when good language design went to die

      As a user - iOS apps, if designed natively, are extremely hard to beat in terms of responsiveness, beauty and general "native feeling"

      As a vendor - Flash is the common denominator, i.e., it may commoditize the platform, but I've yet to see a flash based app that looks as good as the best native apps - Android will have a bigger user base but a worse monetization mechanism than iOS, i.e., more users but which consume less (more due to the neglect of the market than otherwise).

      As a developer you're full of crap that Android is way easier than iOS. HTML5/CSS3/Javascript is the Common Denominator between both platforms.

    31. Re:Yes by davester666 · · Score: 1

      Actually, my comment was being sarcastic.

      Really, does Nokia need 3+ operating systems [the above + possibly Android and/or WinPhone 7]?

      And even if you do use something like Qt for your app, not a lot of people have the time, money or resources to debug the app across multiple OS's, and a jillion or so phone models, all with slightly different versions of these OS's, with different screens, buttons, and capabilities.

      It's like Nokia looked at the Java mess on phones and said "How can we make this more difficult for developers? I know, we'll keep Java in the middle, but then have different core OS's underneath, different UI's on top, and then give developers a cross-platform framework that doesn't use the native UI at all" The only thing they missed is creating a whole new programming language.

      --
      Sleep your way to a whiter smile...date a dentist!
    32. Re:Yes by naz404 · · Score: 2, Insightful

      - ActionScript is the place when good language design went to die

      You're talking about ActionScript 1. You should check out ActionScript 3, the current iteration. It's for all intents and purposes, the same syntax as JAVA. ActionScript 2 is a variant of JavaScript (it's an ECMAScript implementation).

    33. Re:Yes by DrgnDancer · · Score: 1

      So wait... the thing digests people, but provides them with sufficient nutrients to survive while it does so? Our bodies are not perfectly efficient, over any length of time we need *more* calories and nutrients than we contain in order to function. This things eats animals in order to attain a net *loss* of nutrition? By that logic you'll be partially digested over the week it takes to starve itself to death trying to keep you alive. Agony perhaps, but short term.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    34. Re:Yes by dr-alves · · Score: 2, Informative

      "your full of crap" - always nice to bring the big guns to a moderate discussion

      As for Android vs iOS, I know both and I like the dev platform (Xcode) iOS is full of quirky stuff such as weird macros whose function is not clear at first glance or manual memory management. Android is Java, while it might be quite verbose sometimes it is simpler as a language and easier to learn that Objective C

      As for HTML5/CSS3/Javascript well that's the revolution that we've all seem to be expecting for a few years now and I've yet to see the promised full blow, 3d native looking, responsive apps.
      It might be the common denominator but it is still far away in terms of features AND development environment from the native platforms.

    35. Re:Yes by A+nonymous+Coward · · Score: 1

      I like the way you think. Please forward details on how to subscribe to your newsletter.

    36. Re:Yes by abigor · · Score: 1

      1. It's "Java", not "JAVA". It's not an acronym.

      2. ActionScript 3 is quite dissimilar to Java in various ways, making the syntactical similarities superficial. For example, method parameter semantics are totally different (AS passes by reference, except for "special" types which get passed by value). There are no generics or strongly-typed containers and no block scoping. It supports global variables, which Java shuns. AS lacks private classes. Etc., etc.

      3. Flash/Flex is not touch-friendly and generally make for a poor mobile experience.

    37. Re:Yes by object404 · · Score: 1

      3. Flash/Flex is not touch-friendly and generally make for a poor mobile experience.

      Stop repeating that FUD troll statement. Flash was made precisely for touchscreen kiosks from the outset back in the 90s. You're talking about hover events and Flash is no less friendly than any other language out there (Like Javascript for hover dropdown menus).

      Moreover, Flash 10.1 now supports native multitouch & gesture recognition (pinch, zoom, etc), which is more than you can say for HTML5/Javascript w/ o the aid of 3rd party libraries.

      Thanks.

    38. Re:Yes by Anonymous Coward · · Score: 0

      That is terrible advice. Flash is going away. Apple is not the only company that want this by a long shot. Many users do too which is why there ars many flash blockers out there. Flash is blotaed, slow, and a security nightmare and needs to die. It will. Learn a real programming language not some crap like Flash, Actionscript, or Air.

    39. Re:Yes by phantomfive · · Score: 1

      Really? As another developer, I found iOS somewhat easier than Android. GUI layout is somewhat of a pain on Android, and their way of dividing an application into different activities is kind of weird and takes a little while to get used to.

      But all of this is splitting hairs: the truth is neither one is particularly hard. Arguing about which one is better from a developer standpoint is kind of like arguing about Emacs and VI: they're both fine. There are things to like about both of them.

      --
      Qxe4
    40. Re:Yes by mauriceh · · Score: 1

      That is a pretty amusing point of view.
      Not too fricking likely, but still amusing.

      Like a 4 year old cute and amusing.

      Just not very practical, useful, or realistic.

      --
      Maurice W. Hilarius Voice: (778) 347-9907
    41. Re:Yes by fermion · · Score: 1
      Apple, in my experience, has always been in some sense harder to develop and deploy. The advantage is the apps tend to be slicker.

      Objective C is not a huge issue if one knows C or C++. The advantage is one has a more transferable basis than Flash. As mentioned, there are going to be increasingly cross platform solutions.

      The only danger with Android is that the platform becomes so fractured that apps will not run on all phones. While this could be handled through proper header files, but I suspect that we may see enough varied functionality to cause an issue.

      Phone 7 will be as much a player as every other previous Mobile OS. Blackberry has the business market, and iPhone and Android are making enough inroads that IT is forced to deal with them. The idea that one has to have a common OS from the server to the offsite mobile device is so 1990's. Interoperability and choice is the key. I can't imagine giving a kid a MS phone and expecting them to accept the Job. Look at the amount of money MS spent to promote the Kindle to the kids, and how few were sold.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    42. Re:Yes by SanityInAnarchy · · Score: 2, Interesting

      Which of your bits of anti-HTML5 FUD prevents you from simply offering Chrome Frame to IE users?

      I'd also be curious which demos you've seen which only work on Safari, or only work on Chrome. It seems like they "only" work anywhere except IE, and some even work with newer versions of IE.

      And yes, if you build your apps for AIR, they'll run on modern desktop OSes -- if people install it. Which would make them morons, because if it's really something for which HTML would be a viable alternative, why would I want to install your app instead of bookmarking it? Is it that hard to see that one of these options is both more convenient and secure?

      If you run them in a plugin, that means you are part of the problem -- you are part of a phenomenon which holds the Web back.

      --
      Don't thank God, thank a doctor!
    43. Re:Yes by Anonymous Coward · · Score: 0

      Gartner groups predicts that by 2014, Android based phones will outsell iOS phones - simply because it will be on more platforms.

      Actually, no. Gartner predicts that will happen by the end of this year.

      2014 was when they predicted it would be number one world wide (passing Symbian, which on a numbers basis kicks pretty much everyone's ass on the global scale.)

    44. Re:Yes by MobileTatsu-NJG · · Score: 1

      What does a flaslight need serversockets for? And why wasn't this flagged by a simple api calls review?

      Maybe the app is ad-supported.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    45. Re:Yes by Anonymous Coward · · Score: 0

      If you're a Flash developer, you probably are unemployed.

      Titanium is a better option and you don't have to wait.

    46. Re:Yes by naz404 · · Score: 1

      This is not FUD.

      As hair-pulling frustrating it is, there are some institutions and corporations which have a company policy to only use IE .X "for security & stability purposes" because it was what all their legacy apps & inventory systems were built for and those legacy systems could/would break in different browsers, and this is a big big headache.

      I recall that there's a policy akin to this in Korean government.

      I wish it weren't so, and anyone who can download a plugin can easily install a better standards-compliant browser, right?

      IE should just die for the betterment of humanity.

      It's been holding back the web for over a decade now and is the cause of majority of cross-browser compatibility problems.

      As for HTML5, even Google has given a sane and rational explanation why HTML5 is not ready yet and does not suit their needs as compared to Flash. Read it here.

      Yes, HTML5 is the future, but it goes hand and hand with Flash. The two synergize and don't compete with each other. Good Flash developers know when *NOT* to use Flash.

      On non-cross-browser compatible HTML5 Demos, these does not run in the latest version of Opera (which has always been the most standards-compliant browser during the history of its existence):
      *Google Images Gift Box - CSS 3D example
      *The Smallest 3D Maker -> points appear not where you click
      *Archery app -> ditto

      and many others...

      Before you argue any further, please read my article at TheNextWeb as I've tried to make a fair and balanced assessment on the HTML5/Flash issue. (you'll have to pardon the grammatical errors, wrote it w/ little sleep and a lot of typos got past proofreading)

      Thanks.

    47. Re:Yes by Anonymous Coward · · Score: 0

      Flash is a memory, son. For wimps.

    48. Re:Yes by Anonymous Coward · · Score: 1, Insightful

      Android also uses FreeType and was probably vulnerable to the same thing; the difference is visibility.

    49. Re:Yes by beelsebob · · Score: 1

      Strange, my personal experience as a developer is that iOS is much easier to code for than Android.

    50. Re:Yes by SanityInAnarchy · · Score: 1

      There's a much better short-term solution to legacy pages -- IETab. Another one is, as I mentioned, Chrome Frame.

      Google can and does use HTML5 for nearly everything. Does your app need video?

      They "synergize" in the same way that ActiveX "synergizes" with a standards-compliant web -- it destroys it with IE-only pages. The fact that a proprietary plugin exists everywhere doesn't reduce the dangers of monoculture or vendor lock-in, or the practical realities of wanting our content to be free.

      I don't have the time or energy to really pursue this, but your article doesn't do much else to improve the situation. In particular: "The web is ruled by designers not developers."

      Huh? Your presence here alone refutes that fact. Do you have any idea how much development work has gone into Slashcode to make this possible? Let alone your browser, OS, network connection... Can you show me a counterexample?

      Yes, designers need to be able to work. But if you don't also have developers, you may as well have a static page.

      Scrolling down... Seriously, preloaders? And that's first on your list of what's holding HTML5 back? I despair for humanity if this is actually a priority for anyone, anywhere, when choosing a technology. Suppose one of Direct3D or OpenGL had less-accurate progress bars -- would that really be a driving force behind anyone's decision to choose either? Would it be a factor at all?

      It's also not true, and can be hacked around, but... really?

      And another point in Flash's favor is Flashblock. Really? (And... NoScript. Duh.)

      --
      Don't thank God, thank a doctor!
    51. Re:Yes by Anonymous Coward · · Score: 0

      "scope" is a four-letter word for AS3.

      public function crazyscope() : void { var x : int = 0; y = 4; if (x == 0) { var y : int = 0; } }

    52. Re:Yes by julesh · · Score: 1

      [Qt is] also free for everybody.

      No, it isn't. Qt is LGPL, which means there is a requirement in distribution that the end user should be able to relink with an updated version of the library. This required freedom is simply incompatible with the closed-platform app store policies of both iOS and Windows Mobile. I think you'd be on legal thin ice developing an app for either of these platforms with Qt, and as the copyright holder is now Nokia, who might like to put a dent in availability of apps on rival platforms, don't think for a moment it won't happen.

      (Not a lawyer; not legal advice.)

    53. Re:Yes by xtracto · · Score: 1

      I second this... last year I started seriously learning QT development after some time and in my opinion it is a real pleasure to learn and to use the QT library.
       

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    54. Re:Yes by xtracto · · Score: 1

      1. It's "Java", not "JAVA". It's not an acronym.

      No, no, you didn't get it the thing is HE WAS SHOUTING to show his point... JAVA does have a similar syntax o as ACTIONSCRIPT.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    55. Re:Yes by aztracker1 · · Score: 1

      I'd suggest, as much as I really don't care for the APIs, and where ActionScript is emphatically not JavaScript/EcmaScript and the APIs are a pain point imho... It's probably the best entry point to developing for the above mentioned platforms with a single place to learn from... Second would probably be C# with Mono, considering the toolkits for cross-compilation to native code out there (MonoTouch/MonoDroid and others).

      As much as I don't care for Flash on a personal level, I've done enough with it to have a real disdain of it, I do think it's probably the best option for not repeating yourself. I do have to say that Microsoft Phone 7 as a platform is pretty nice as well, though the development/debug environment won't run in a VM'd windows (my laptop is a macbook, and attended an all day developer session on it), which is kind of irksome. I'm much more interested in seeing what comes out in the future, and I personally will be sticking to android for a while, if MS gets a good release on winphone7, I may take my personal use there, and am also looking forward to some android tablets being available.

      --
      Michael J. Ryan - tracker1.info
    56. Re:Yes by gbjbaanb · · Score: 1

      Nokia != Microsoft.

      why would there be a problem with re-linking to an updated version of the dlls? you ship them and you're golden even in the worst case scenario. Even Apple is fine with you shipping the Qt dlls (as they're directly compiled).

      It may be difficult for the end user to re-link on your phone, but no more difficult than for a closed-source app distributed to any other Linux desktop?

    57. Re:Yes by cheesybagel · · Score: 1

      Ever heard about dynamic libraries?

    58. Re:Yes by Anonymous Coward · · Score: 0

      Is this a joke?

    59. Re:Yes by object404 · · Score: 1

      Talk to me again in 5 years when Flash is dead. That's the only way to settle this debate. Honestly, until then, all these hostile flame wars are just speculative pissing contests.

      Hope everyone becomes standards-compliant by then.

    60. Re:Yes by TheJokeExplainer · · Score: 1

      WHAT PARENT SAID.

      GRANDPARENT WANTED to TYPE in ALL CAPS but HE had to BYPASS the YELLING FILTER.

      -The Joke Explainer.

      --
      visit my pal the xkcd explainer!
    61. Re:Yes by JokeExplainerXplainr · · Score: 1

      I CONCUR.

      -The Joke Explainer Explainer

    62. Re:Yes by Anonymous Coward · · Score: 0

      I second this. The OP clearly had no clue.

    63. Re:Yes by Anonymous Coward · · Score: 0

      hahahahahahahahahahahahahahaha.. oh man.. god, that was great. Just what I needed first thing in the morning.

    64. Re:Yes by Xabraxas · · Score: 1

      I get your point but IE9 isn't required to get HTML5 on XP. There are other browsers out there that support HTML5 that also run on XP. There is even an HTML5 capable browser that runs on Win 9x and the large share that Firefox now garners is proof that people will swtich if there is a good reason to.

      --
      Time makes more converts than reason
    65. Re:Yes by Anonymous Coward · · Score: 0

      No no no!

      Microsoft Windows Phone 7 is coming out in just a couple of months and just as Microsoft has done on the desktop with superior choices like Windows NT, they will quickly dominate the mobile front as well. Microsoft Windows Phone 7 is programmed completely in the industry leading .net programming language and augmented with the unmatched Silverlight technology providing an unrivaled technological platform with which you will only be limited by your imagination for the applications you can develop. Why play around with a tired platform like ios or android (an operating system only tech geeks can use and understand), when you can go with the undisputed leader in computer technology that is Microsoft. Furthermore, the MetroUI as seen on the ZuneHD audio player makes androd and ios look like sad anachronistic throwbacks. No serious developer will even touch aple and googls stuff when Microsoft Windows Phone 7 is unleashed.

      roflolololololololol

      I almost spit coffee all over my laptop...

      Thanks for making me laugh today.

      man that was a good one.

      my sides ache.

    66. Re:Yes by glebovitz · · Score: 1

      I realize you were being sarcastic. However, I just want to make a few points:

      1) given Google's recent battles with Oracle, it is probably not a good idea to focus on Java Besides,

      2) Google's implementation is so far removed from the Oracle JVM, that it is not really the same platform.

      3) There are thousands of Qt programmers in the world and the Qt curve is accelerating quickly. For native apps, it is a very popular platform. I think Nokia looks at the growing interest in Qt and said "How can we leverage this knowledge given there is no standard UI platform for phone?"

      Android is a very nice platform, but it is not in Nokia's interest to adopt something that will drive them into the commodity hardware business. Java has licensing issues, while Qt does not. Qt is also the heart of Meego which has the support of Intel AND Nokia.

      Gartner predicts that Symbian and Android will each have 30% market share by 2014. That doesn't take into account anything that Nokia does in the Meego space. The Nokia strategy seems very prudent.

    67. Re:Yes by NoOneInParticular · · Score: 1

      Next to relinking, you also must allow your user to debug the LGPL software, in particular when linked against your binaries. This effectively means allowing reverse engineering of your binaries, getting ird of all code that detects debuggers in your program and removing all clauses that disallow reverse engineering from your license or eula. Even though reverse engineering is already a right in Europe, it is not so in the US, hence most software companies will not allow the use of LGPL libraries.

    68. Re:Yes by julesh · · Score: 1

      Ever heard about dynamic libraries?

      How does an iPhone user update the dynamic libraries used by an app they acquired in the app store on their phone?

    69. Re:Yes by Anonymous Coward · · Score: 0

      You must be a microsoft stupid employer for talking like that. Only a fool will thing you are talking serious. Get a life man.

    70. Re:Yes by SanityInAnarchy · · Score: 1

      Strawman -- did I ever say Flash is dead or dying?

      No, I said it is holding the Web back. The fact that it should die doesn't mean it will, unless you're implying that if it's still around in 5 years, that's evidence that it shouldn't die.

      --
      Don't thank God, thank a doctor!
    71. Re:Yes by Anonymous Coward · · Score: 0

      I know you're not being serious but you really should consider Windows mobile. By all accounts Windows Mobile 7 looks to be the next Vista, but eventually they will probably decide to throw a bunch of more money at the problem and get it sorted. The only question is if anyone will still care.

    72. Re:Yes by michaelok · · Score: 1

      And even if you do use something like Qt for your app, not a lot of people have the time, money or resources to debug the app across multiple OS's, and a jillion or so phone models, all with slightly different versions of these OS's, with different screens, buttons, and capabilities.

      Of course, and that's the whole reason to use something like Qt, or Java (android), or Adobe Flash/Flex,SWT (eclipse.org)etc.

      The whole philosophy behind Qt, is that you let TrollTech, or Nokia now I guess, handle all the fun stuff of getting it to work across multiple platforms. Sure, there are bugs, just as if you would be using Adobe Flash, or any other x-platform kit, i.e. same thing with Google's version of Java (Android). Right now I'm using bouml, a UML modeling tool built in Qt. Runs on Linux (I think the author does most of his work in that environment), but also Windows.

    73. Re:Yes by blai · · Score: 1

      ok, enhance my power management with html.

      --
      In soviet Russia, God creates you!
    74. Re:Yes by Anonymous Coward · · Score: 0

      Your contradiction is useless without evidence. Notice that it was specifically said that "malware" is in the wild for Android. Can you name one piece of in the wild malware for iOS. Yes, iOS can be exploited, just as every other mobile OS can. Yes iOS has bugs, as does every other mobile OS. But can you name any in-the-wild iOS malware?

      Although I personally think the attitude of "Apple is better than everything" is just stupid, I don't know of any malware in the wild.

      P.S. malware = malicious software != exploit used by user to root phone.

    75. Re:Yes by Mista2 · · Score: 1

      Most devs I know are coding first for iOS, because it makes them the money to pay for the Android version, then code an HTML5 version for everyone else. 8)

    76. Re:Yes by Anonymous Coward · · Score: 0

      Lol! Funniest thing I've read all week

    77. Re:Yes by Olduvai · · Score: 1

      jesus, you guys are lost. Air?? wtf?? Use Titanium, it'll compile your web apps to near native applications.

    78. Re:Yes by Anonymous Coward · · Score: 0

      this is a joke right? seriously, I can't tell

    79. Re:Yes by Tukz · · Score: 1

      Read his post again.
      He said what HE wants to do on mobile platforms doesn't require an app.

      --
      - Don't do what I do, it's probably not healthy nor safe. -
    80. Re:Yes by gbjbaanb · · Score: 1

      never heard of it, so thanks for the link

    81. Re:Yes by JasterBobaMereel · · Score: 1

      So you want to be tied into a propriatory development system, that Adobe could alter, at a moments notice ? ...and a system not directly supported on Ubuntu the most popular version of Linux ...

      AIR seems to be a system to make Adobe money ....

      --
      Puteulanus fenestra mortis
    82. Re:Yes by JasterBobaMereel · · Score: 1

      .,..Learn to program and the platform should not be an issue

      Learn to program a platform or system and a new platform or system is always an issue, even the next version of the same platform

      --
      Puteulanus fenestra mortis
    83. Re:Yes by Olduvai · · Score: 1

      don't mention it. sorry for being so disgruntled, /. didn't post my first response. i highly recommend Ti. definitely check into their Titanium Mobile.

    84. Re:Yes by Olduvai · · Score: 1

      You guys are slow. Read my post in the above thread. Air was introduced two years ago. It's not catching on: it's a failure. However, it's open source "alternative" is gaining... Titanium compiles web languages to native applications for desktop and mobile.

    85. Re:Yes by Anonymous Coward · · Score: 0

      Mr. Gates, I didn't know you trolled slashdot forums.

    86. Re:Yes by Sparton · · Score: 1

      Indeed [Apple's] PDF reader had a remote root exploit that makes any and all Android exploits pale in comparison.

      Interesting, this is the first I've heard of an exploit on a device, unless you're talking about a device that was jailbroken. Do you have a source story that had to do with a jailbroken iDevice, or am I out of the loop?

    87. Re:Yes by JasterBobaMereel · · Score: 1

      That is because the alternative has three advantages

      1) Apache Public Licence
      2) Produces native code
      3) No runtime required

      --
      Puteulanus fenestra mortis
    88. Re:Yes by Anonymous Coward · · Score: 0

      Mwahahahaha

      It was a good joke.

    89. Re:Yes by Anonymous Coward · · Score: 0

      I agree in terms of considering Windows Phone 7 as well.

      I just recently joined my first Smartphone and Development experiences with Samsung's bada OS in C++, which is frankly quite a mess. According to the media, WP7 looks the very most promising to me in terms of usability and UI design. Microsoft also provides the best developer tools out there, and my personal opinion is, that they finally hit the nail on the head and might be able to revolutionize mobile software. At the end of this year I will finish with bada and probably turn towards WP7.

    90. Re:Yes by Anonymous Coward · · Score: 0

      fanboy

    91. Re:Yes by Anonymous Coward · · Score: 0

      Wow you must be retarded.

    92. Re:Yes by Anonymous Coward · · Score: 0

      "No serious developer will even touch aple and googls stuff when Microsoft Windows Phone 7 is unleashed."

      Windows? lol

    93. Re:Yes by Assembler · · Score: 1

      citation?

    94. Re:Yes by Anonymous Coward · · Score: 0

      Java is another place good language design went to die. What's next? Integrating XML into the clusterfuck as well?

    95. Re:Yes by NoOneInParticular · · Score: 1
      Clause 4 of the LGPL starts with:

      You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:

      Emphasis mine. Effectively, you can create a combined work as long as you allow reverse engineering for debugging purposes. This is sufficient to make LGPL dead in the water for many US based companies.

  2. Android by incubuz1980 · · Score: 2, Insightful

    iPhone is too proprietary it is a dead end.

    1. Re:Android by Anonymous Coward · · Score: 0, Insightful

      Thing is, this can be an upside if you look at it from a funny angle. The entire hardware/software stack is tightly controlled and the range of devices limited, so there are fewer edge cases for developers. It really does help.

      Disclaimer: I enjoy writing for iOS devices. It's fun!

    2. Re:Android by bennomatic · · Score: 2, Insightful

      Sounds like someone's been drinking the goog-aide!

      --
      The CB App. What's your 20?
    3. Re:Android by Anonymous Coward · · Score: 5, Funny

      Yes, iPod touches, iPhones and iPads still haven't really caught on with the mainstream consumer yet. Consumers can regularly be seen debiting the merits of a cell phone based on the openness of the product - not the functionality or usability. I believe Apple has sold some product units but i'm expecting all the millions of owners to ditch their iDevices any day now simply because Android is less proprietary.

    4. Re:Android by incubuz1980 · · Score: 1

      No, I have been a card carrying open source evangelist since 1997.
      I do not like Google, but Apple is even worse.

    5. Re:Android by Anonymous Coward · · Score: 1, Interesting

      I'm in a similar situation as the submitter. Despite what everyone is reporting I think both will
      survive and flourish. I really dislike both companies but even I can see that what they're both
      doing will be big and so to be honest neither is a bad choice.

      What kind of apps are you trying to create and will they get used more on the ios or android platform?
      They actually seem to appeal to fairly different markets that just happen to overlap in some places.

      I ended up choosing android because the IDE wasn't tailored to one platform, the native language seems
      more useful with android and I think that ultimately android will be the more successful of the two.

    6. Re:Android by incubuz1980 · · Score: 0, Redundant

      How is this flamebait? It was an honest opinion. It might be touchy subject for some, but how can you argue against me calling Apple products proprietary?

    7. Re:Android by myowntrueself · · Score: 0, Flamebait

      Disclaimer: I enjoy writing for iOS devices. It's fun!

      Had many apps rejected?

      --
      In the free world the media isn't government run; the government is media run.
    8. Re:Android by bigstrat2003 · · Score: 4, Insightful

      I wouldn't say "dead end", but the fact remains that as long as Apple has capricious and arbitrary rules for their app store (which, knowing them, will probably be until the end of time), iOS development is a risk. There is a very real possibility that your app which you invest hard work into will be rejected for no real reason. At least on Android, you can sell your app to people even if it is removed from the market for some reason (and far less apps are unjustly removed from the Android market than Apple's app store).

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    9. Re:Android by Anonymous Coward · · Score: 0

      I fully agree with this, just look at Windows vs Linux - same story. Consumers can regularly be seen debiting the merits of an OS based on the openness of the product - not the functionality or usability. I believe Microsoft has sold some software units but i'm expecting all the millions of owners to ditch their XP and 7's any day now simply because Linux is less proprietary... ... ... oh wait sometimes people are sheep! Forgot that variable...

    10. Re:Android by Anonymous Coward · · Score: 0

      14, but who's counting?

    11. Re:Android by Anonymous Coward · · Score: 0

      (and far less apps are unjustly removed from the Android market than Apple's app store)

      There are far fewer apps to begin with...

    12. Re:Android by DurendalMac · · Score: 5, Insightful

      Saying it doesn't make it true. You know what? END USERS DON'T GIVE A DAMN. FOSS advocates need to come to grips with that. They don't give a crap if it's open or not. They want it to be simple and do what they want, and for most consumers, the iPhone fits the bill. Android may also fit for a lot of folks. Also, iPhone users spend more money on apps than Android users, so it's certainly not a dead end.

      What is it about open source zealots that utterly blinds them to reality? FOSS is all fine and dandy, but end users usually don't know or don't give a damn. They'll buy whatever they think is nifty.

    13. Re:Android by Anonymous Coward · · Score: 0

      and you've been drinking apple-aide. common. there is no right or wrong. stop being a troll

    14. Re:Android by RocketRabbit · · Score: 1

      It's also the only way to make any money coding mobile phone apps.

    15. Re:Android by squiggleslash · · Score: 1, Interesting

      END USERS DON'T GIVE A DAMN

      But developers do, and they're the ones who write the apps. What the "end users" think is irrelevant, they'll end up having to chose the platform the developers adopt.

      There's only one reason to develop for iOS: you're retarded. At this point, you're facing a situation where you can do all the development you want, develop something Steve Jobs has actively solicited (like an iOS equivalent of Hypercard), develop something people really want, and have your app blocked by some idiot at Apple, or some non-idiot who's following the letter of a rule sheet you'll never see.

      If Apple wants to lock down the platform, fine: it has the option of doing so morally if it follows the same model as the console makers: work with the developers, make sure everyone's aware what the rules are to begin with, and if a developer wants to release something and it's not quite right, work with them until it is.

      As it is, quite honestly, it's time the telcos started helping iPhone owners jailbreak their phones (for comparison: T-Mobile USA provides forums on how to root their Android phones, and Android phones don't have iPhone-like restrictions, you pretty much only need to root an Android phone if you want to tweak the operating system/do something that requires an OS tweak.) Until then, developers should be steering well clear of putting their nuts in the hands of an abusive control freak with an axe.

      --
      You are not alone. This is not normal. None of this is normal.
    16. Re:Android by immaterial · · Score: 0, Flamebait

      There's only one reason to develop for iOS: you're retarded.

      You're retarded.

    17. Re:Android by Anonymous Coward · · Score: 0

      IOS is Apple only. Android applications are Java and there are millions of jobs that want Java, all around the world. So it sounds like you're the one that's been drinking, drinking from Jobs's penis no doubt.

    18. Re:Android by znerk · · Score: 1

      (and far less apps are unjustly removed from the Android market than Apple's app store)

      There are far fewer apps to begin with...

      [citation needed]

      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
    19. Re:Android by xouumalperxe · · Score: 2, Insightful

      [citation needed]

      Fair enough. Here you go. It's a bit outdated (being from March and all), but I doubt the situation changed significatively in the last 6 months.

    20. Re:Android by znerk · · Score: 2, Insightful

      FOSS is all fine and dandy, but end users usually don't know or don't give a damn.

      ... because FOSS advocates aren't end users? Interesting viewpoint...

      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
    21. Re:Android by harlows_monkeys · · Score: 1

      No, I have been a card carrying open source evangelist since 1997.

      Do you keep the card the same place Homer Simpson keeps his crayon? That would explain why you think iPhone is a dying platform.

    22. Re:Android by salesgeek · · Score: 1

      Users do give a damn when they can't do things that they want to do. I was an early adopter of Android - and it was amazing how many people were smart enough to understand that having GPS that worked while you were on the phone or listening to music mattered. Or that I could download media while checking email and talking on the phone at the same time. Or search on Google maps while talking on the phone and being reminded that someone just posted the couch you were looking for on Craig's List. People talk with each other a lot, and are not nearly as stupid shoppers as you think they are... Thats why Android is outselling iPhone.

      Oh, and sales number prove that you are completely wrong on consumer preference - Android devices are outselling iPhone by a substantial margin, despite Apple being given a six month headstart in the market. Of course, Apple's already lost the war because of manufacturing capacity and distribution, and as time goes on the gap will extend because given similar products the one with the lower profitable price and better distribution eventually wins.

      Also, from the conversations and research I've done in preparing a new business start up, I've learned from several friends that own development shops that iPhone users spend more money on iTunes content. The problem is that iTunes content is not all applications... That said, I'm not sold on what the truth is concerning each software market. Right now both markets are in land rush mode, and there's little profit in either - unless you count project money for writing apps for someone else.

      --
      -- $G
    23. Re:Android by znerk · · Score: 3, Informative

      [citation needed]

      Fair enough. Here you go. It's a bit outdated (being from March and all), but I doubt the situation changed significatively in the last 6 months.

      I asked for a citation because I felt it was inaccurate. A quick google search proved your point, but with some reservations...

      On 17 March 2009, there were about 2,300 applications available for download from the Android Market, according to T-Mobile chief technical officer Cole Brodman.
      By December 2009, there were over 20,000 applications available for download in the Android Market.
      By August 2010, there are over 80,000 applications available for download in the Android Market, with over 1 billion application downloads
      . Recent months (in 2010) have shown an ever increasing growth rate, recently (in May 2010) surpassing 10,000 additional applications per month.

      copypasta from http://en.wikipedia.org/wiki/Android_Market

      In addition, that's just the "official" "app store". There are links to 3 "alternative stores" on that same wiki page. I would post a link to Apple's alternative stores, but there don't seem to be any that are available without jailbreaking your device. Apple appears to have failed at quelling the android uprising.

      As of September 1, 2010, there are at least 250,000 third-party applications officially available on the App Store, with over 6.5 billion total downloads.

      copypasta from the similar article for apple's "marketplace".

      This data appears to contradict me, and reinforce your position. There are, apparently, more apps for iOS than for android. However, it would appear that Apple's momentum is slowing, whereas android's momentum appears to be increasing. Development of new iPhone apps appears to have dropped below 10,000 new apps per month, whereas android is now above that line, and continuing to increase.

      I suppose the argument could go either way, if we want to get picky, but it still stands to reason that android is still picking up steam, and iOS is slumping - probably largely due to the bad press the iPhone and iPad have received as of late, whereas no one seems to have anything bad to say about 'droid.

      And a parting shot:
      If the number of available apps is your only beef with android, what will you do when the developers stop developing for iOS, due to the myriad restrictions placed upon the apps that even make it into the store?

      --
      This work is licensed under a Creative Commons Attribution 3.0 Unported License.
    24. Re:Android by abigor · · Score: 1

      Apple approves 90%+ of all apps, according to their stats. They reject ones that don't work as advertised, that crash a lot, or that obviously violate their guidelines (malware, etc.).

      If Apple's process was as horrible as the dummies around here like to pretend it is, the App Store wouldn't be such a fabulously successful enterprise.

    25. Re:Android by mkrista · · Score: 1

      yelp Dead end.. they have about 1yr 1/2

    26. Re:Android by Dr.Merkwurdigeliebe · · Score: 1

      END USERS DON'T GIVE A DAMN

      they'll end up having to chose the platform the developers adopt.

      I think it's adorable how self-important you are.

      --
      I'm a student. I write iPhone apps.
    27. Re:Android by Anonymous Coward · · Score: 0

      Rofl because they are propriatry they will just throw away the money they spent on them..... Errrrr NO

    28. Re:Android by DaVince21 · · Score: 1

      Probably because it being closed doesn't make it a dead end, at least not in the foreseeable future.

      --
      I am not devoid of humor.
    29. Re:Android by Anonymous Coward · · Score: 0

      I would disagree, especially when it comes to sustained value of a product.

      both FOSS and proprietary face the possibility of development stagnation for financial/personal reasons. Both can suffer from slow development times. But foss lets your legacy grow long after you (the developer) have lost your steam.

      It also allows for more open file interchange due to the accessibility of the file format read/write code.

      When it comes down to dollars and cents, having your companies files accessible years down the road on modern hardware, and software updates after the company goes under, is well worth it. IMHO

    30. Re:Android by Anonymous Coward · · Score: 0

      You obviously don't really know Apple, at all.

    31. Re:Android by Anonymous Coward · · Score: 1, Insightful

      The problem with arguments like yours is that they rely on the false premise that "most consumers" have, want, or like the iPhone.

      The problem is, there's only at most 55 million iPhones out there out of a total 4.6 billion active mobile phones across the world. The actual number of active iPhone users is likely to be less, as that's the total sales figure for all iPhone sales, which, on 2 year contracts, will often have been replaced by later versions of iPhones with the old models being left inactive- particularly many of the 6 million first generation devices, which aren't even really supported by Apple anymore.

      So when you say "end users", what you actually mean, is little over 1% of all cell phone users. The fact is, the iPhone is still absolutely dwarfed by JavaME and other mobile platform based devices.

      It's an absolute fallacy to pretend that the iPhone has somehow captured the mindshare of the consumer, to imply the majority of people like the iPhone and it's methods, they don't. It's a very small clique still.

      So to counter your point, what Mac fanboys need to grasp: END USERS DONT GIVE A DAMN ABOUT APPLE AND THEIR DEVICES, yes, I know Apple's PR machine is incredibly good at getting Apple mentioned so frequently that anyone would think they're ruling the world, yes, I know fanboys think that higher market cap than Microsoft despite still being about a 3rd the actual size in terms of equity, assets and revenue means they're the largest tech company in the world, but none of it matters, Apple is still nothing more than an irrelevance in the global phone marketplace. Slightly less of an irrelevance in some arbitrarily made up to suit definitions of "smartphone", and slightly less of an irrelevance in terms of mobile gaming (despite Steve Jobs outright lie that somehow iOS devices outnumber Nintendo and Sony's mobile gaming devices at his last conference).

      To paraphrase you: What is it about mac zealots that utterly blinds them to reality? Apple stuff is all fine and dandy, but end users usually don't know or don't give a damn. They'll buy whatever best suits their needs. Most the time, that is not Apple.

      Note that I'm not saying Apple products are crap, not at all, they're nice, but I'm absolutely sick of hearing this fantasy that they're somehow the most popular thing in the world, that they're somehow a market leader, despite things like MMS, Apps, Exchange, GPS, 3G, and so on and so on being added to the iPhone long long after their competitors had them. The iPhone 4 had a massive engineering defect that can only come down to sheer incompetence, there seem to have been more vulnerabilities on the iPhone than pretty much any other phone platform in history. Sure the iPhone really pushed phone UI's forward, but please don't lie and pretend it's done anything other than that whatsoever.

    32. Re:Android by cweditor · · Score: 1

      *Some* end users don't care if a system is open or not. Others - especially those who have burned in a previous technology buy by being locked into a system that ended up too proprietary - actually do. The questions to ask: Does the closed system have enough market share & clout that you'll still get the apps you want? Is the closed system likely to be around long enough to justify your investment? Will the closed-system vendor become too tempted by market clout to make unreasonable decisions on pricing and on developers? This is a definite risk for things like overpriced products and planned obsolescence. Are there benefits to the closed system that make up for the drawbacks? (In the case of the iPhone, fans argue that the software and hardware can work better together because the environment is better controlled than any Android app on any Android device.)

  3. Sencha touch by Anonymous Coward · · Score: 0, Informative

    http://www.sencha.com/products/touch/

    1. Re:Sencha touch by Steve+Max · · Score: 1

      Come on, mods. Maybe that's spam, but it's hardly off-topic for someone who wants to develop for mobile devices. For some types of applications, an HTML5-based web version would be easier to develop and span more devices than developing just for iOS, Android, or both.

  4. Go Android by log0n · · Score: 4, Insightful

    If you don't already have a Mac, iOS requires Apple hardware for development. You also need to learn objective-C which doesn't get much play outside of a Mac environment. None of that is bad, just a hurdle.

    Personally, while iOS is currently ahead of Android (user base, # of devs, apps, etc) I think before long it's going to start playing catch up to Android. Android has got a lot of momentum.

    1. Re:Go Android by Anonymous Coward · · Score: 0

      Incorrect. Apple requires Mac OS X for development. This software can be virtualized on most modern PC configurations.

    2. Re:Go Android by Timmmm · · Score: 0, Flamebait

      Also you have to pay $100 *per year*. Android is $25 once.

      On the other hand Java and Eclipse are shit.

    3. Re:Go Android by mysidia · · Score: 1

      Personally, while Windows is currently ahead of Ubuntu (user base, # of devs, apps, etc) I think before long it's going to start playing catch up to Ubuntu. Ubuntu has got a lot of momentum.

      Err... yeah... my point is, why guess?

      Maybe learn iOS now, get your app supporting apple's device, because there are more users. Design your app with an aim for multi-platform compatibility, use a multi platform framework if possible.

      Work on porting your app to Android once you have it working on iOS. The winner here is to have one app that works on as many platforms as possible, then you don't exclude part of your market for running a different device :)

    4. Re:Go Android by Joe+Tie. · · Score: 4, Insightful

      I hated java before I took up writing for android. What I learned was that I hated java libraries and the million and one legacy additions. In particular, I hated swing. Java's synatax without all that is actually kind of nice.

      --
      Everything will be taken away from you.
    5. Re:Go Android by Anonymous Coward · · Score: 0

      On the other hand Java and Eclipse are the shit.

      FTFY.

    6. Re:Go Android by Tubal-Cain · · Score: 3, Interesting

      This software can be virtualized on most modern PC configurations.

      IIRC, he may be breaking the EULA if he does that.

    7. Re:Go Android by lederhosen · · Score: 3, Insightful

      Java might not be the best language around, but I find it much better than Objective C. What part of Objective C do you prefer?

    8. Re:Go Android by Wovel · · Score: 1

      Kind of depends if this is a hobby or he wants to make money at it. There is very , very little money in Android apps atm, and that is unlikely to change any time soon.

    9. Re:Go Android by 99BottlesOfBeerInMyF · · Score: 0

      If you don't already have a Mac, iOS requires Apple hardware for development. You also need to learn objective-C which doesn't get much play outside of a Mac environment.

      Xcode supports C, C++, Objective-C, and Objective-C++, for the iPhone. You can also do things like HTML5/javascript apps compiled with a tool like PhoneGap or one of the tools to compile Flash apps into iPhone apps.

      Personally, while iOS is currently ahead of Android (user base, # of devs, apps, etc) I think before long it's going to start playing catch up to Android. Android has got a lot of momentum.

      I think your metaphor is broken. If iOS is ahead it can't play catch up to Android until Android finishes catching up. Android is certainly growing and iOS is going strong as well. I'd argue it makes sense to work with cross-platform HTML5 apps where you can target not only the iPhone and Android phones, but also WebOS phones and everything with a modern Web browser (phones with Webkit or Opera and a internet connection). It's a bit limited as far as dev tools and the like so far, but clearly functional and going to be a useful platform going forward.

    10. Re:Go Android by Timmmm · · Score: 2, Insightful

      I've never used Objective C. It may be rubbish too!

      You're right though, my main objection is with Eclipse, which is one of the... no it *is* the worst IDE I've ever used.

    11. Re:Go Android by Anonymous Coward · · Score: 0

      "If you don't already have a Mac, iOS requires Apple hardware for development. "

      and if you already have a Mac then this is not a requirement.

    12. Re:Go Android by Anonymous Coward · · Score: 0

      This software can be virtualized on most modern PC configurations.

      IIRC, he may be breaking the EULA if he does that.

      IIRC, he may be breaking the EULA if he does that.

      lolololol, since when would anyone on slashdot *actually* care about breaking the eula?

      anyway, to comply, your system just has to be 'apple labelled'. and iOS devices all come with some sticky apple logo labels. just stick one on your system, and you're legally good to go.

    13. Re:Go Android by squiggleslash · · Score: 1

      Android isn't even $25 once, it's just $25 if you want to submit your app to the Market. As you don't have to submit the app to the market in order to redistribute it (it's nicer for your users if you do, but there's certainly no requirement to), even that, rather minor, $25 isn't required.

      You don't have to use Eclipse for development, you can even develop from the command line if you want. Of course, if I point out there's a plug-in for Netbeans... still, I prefer the latter. As I've said before, development using Netbeans is like being hit repeatedly across the knees with a baseball bat. Whereas Eclipse is like being hit across the head...

      Well, gotta waste more time here because nobody could possibly write anything worthwhile in four minutes, so can I just point out that Pudge is an utter turd? Seriously, this crap has been in /code for... how long? Is there any evidence that making it hard to have an on-topic conversation actually improves the signal to noise ratio here?

      --
      You are not alone. This is not normal. None of this is normal.
    14. Re:Go Android by WrongSizeGlass · · Score: 1

      What part of Objective C do you prefer?

      All the extra punctuation! Ever since I started coding in Obj-C my pinkies have developed some rather impressive muscles. Let's see Java top that!

    15. Re:Go Android by Anonymous Coward · · Score: 1

      The iPhone supports Objective-C++. So there's no reason not to just write everything in C++ and just use the Objective syntax to interface with the OS. If you're more comfortable with C++ that is. This brings the argument down to C++ vs Java.

    16. Re:Go Android by mikemcc · · Score: 1

      just think how muscular those pinkies would be if you were writing your Obj-C using Emacs!

    17. Re:Go Android by blagger99 · · Score: 1

      On the other hand Java and Eclipse are shit.

      I can't let this go without comment, I work with Java and Eclipse every day.

      Java is a solid object oriented language, with widespread support and proven ability in production systems around the world.

      Eclipse is an absolute delight, a joy for any programmer, and it's written in Java.

      Where's the excrement?

    18. Re:Go Android by moonbender · · Score: 1

      I guess that's mostly a matter of taste.

      --
      Switch back to Slashdot's D1 system.
    19. Re:Go Android by mikemcc · · Score: 1

      Objective-C is a comfortably simple, straightforward language; it's a superset of C, and that superset is fairly thin, so if you already know C you're almost there now.

      What you will spend all of your time learning are the Cocoa (and Cocoa Touch) frameworks. While there are multiple language bindings for the Cocoa framework, all reference materials and sample code assume that you're using Objective-C. A lazy weekend's investment in learning Obj C will pay for itself many times over, when you can simply read (as opposed to "read and mentally translate") all tutorials, reference docs, and sample code.

      Here is the link to Apple's Objective-C primer.
      http://developer.apple.com/library/mac/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html%23//apple_ref/doc/uid/TP40007594

    20. Re:Go Android by Timmmm · · Score: 0, Flamebait

      Well if you can put up with a stupidly complicated and slow UI, annoying project organisation and a healthy sprinkling of null pointers, I guess you might like it.

    21. Re:Go Android by gnasher719 · · Score: 2, Funny

      If you don't already have a Mac, iOS requires Apple hardware for development.

      Another good reason to develop for iOS.

    22. Re:Go Android by antifoidulus · · Score: 3, Informative

      In one word: delegates. Delagates make GUI programming MUCH simpler in the Cocoa world than they do in the Java GUI world(now on servers they aren't nearly as useful, but I digress). Basically just telling a widget to do a callback on me when some event happens instead of forcing myself to register for each and every event I may or may not be interested in is a huge timesaver. Not to mention that unlike Java, in Objective-C there is 0 problem with only implementing PART of an interface(ie the part I am interested in).

      Other nicities like core data, key-value observing also make life a lot easier in Objective-C than they are in the Java world. Now would I ever code enterprise apps in Objective-C? Doubtful since Apple seems to show very little interest in making enterprise-capable APIs, but for GUIs Cocoa is a dream.

    23. Re:Go Android by Anonymous Coward · · Score: 0

      I've never used Objective C. It may be rubbish too!

      You're right though, my main objection is with Eclipse, which is one of the... no it *is* the worst IDE I've ever used.

      Then use NetBeans, FFS. http://wiki.netbeans.org/IntroAndroidDevNetBeans

    24. Re:Go Android by Anonymous Coward · · Score: 0

      Then use IDEA, Visual studio, Emacs, VI or any development environment you prefer. A single IDE

    25. Re:Go Android by dokebi · · Score: 3, Informative

      Huh, it's the opposite for me. Eclipse is the *BEST* IDE I've used.

      I used be a purist. I wrote my PhD thesis in Vim. Afterwards, I switched to EMACS (org mode rocks!). I still use it every day as my main notebook system. But when I started writing software more or less full time, I tried many many different IDEs and always end up with Eclipse. Why?

      * Supports many different languages. At one point, I was writing and debugging python, perl, java, javascript, flex all at once. Eclipse let me do this without switching ides. No IDE comes even close.
      * Good emacs binding. (emacs+)
      * Excellent Java support: good refactoring, auto completion, "quick fix" (god, I love that feature. Must for syntax heavy java).
      * FindBugs for Java
      * Amazing auto format for Java. With Android development, you just load their xml template, turn on "format code on save", and I don't have to worry about lining up my brackets, sorting imports, or any of that. Just hitting Save formats everything.
      * Native widgets and font rendering (I really hate netbeans font rendering. No anti-aliasing? In 2010?)

      Sure, it's got its share of bugs. Sometimes it gets hosed based on some changed setting. I take a working snapshot every now and then. It's a memory hog. Give it at least 512MB on startup, if not a whole gig (-Xms512m -Xmx1024m in eclipse.ini). Still, it's an amazing piece of free software. And add the ridiculous number of plug-ins available, there is no need to use anything else. And it's Free!

      (I guess if you are using writing for Windows, you are stuck with Visual Studio, the same if you write for Mac, you're stuck with XCode. I can't say anything about those--I'm a linux user.)

      --
      In Soviet Russia, articles before post read *you*!
    26. Re:Go Android by Anonymous Coward · · Score: 0

      Java might not be the best language around, but I find it much better than Objective C. What part of Objective C do you prefer?

      The part where objects can change their binary format without breaking compatibility. The pure encapsulation it provides. Runtime extensibility of objects. The built-in language concept of a protocol. Polymorphism without inheritance. Named arguments. Strict C compatibility. "Default" functions (any functions not supported by an object can be routed to a method). POSIX support. A mature (15+ years) SDK that's carefully thought out. Native binary compilation. Machine-specific assembler support. Pointer arithmetic. Speed. C++ compatibility. Built-in reference counting on all objects. I could probably go on ..

    27. Re:Go Android by Anonymous Coward · · Score: 0

      Why did you switch to EMACS?

    28. Re:Go Android by dokebi · · Score: 2, Insightful

      Why did you switch to EMACS?



      Org mode. It was that compelling for me.
      --
      In Soviet Russia, articles before post read *you*!
    29. Re:Go Android by Anonymous Coward · · Score: 0

      If you're not making more than $100 per year selling apps, perhaps you should consider a different career path.

    30. Re:Go Android by Mathinker · · Score: 1

      My impression was that there's also very little money, on the average, in iOS apps also --- perhaps a bit more than 0, but nothing you'd want to bet feeding your family on.

    31. Re:Go Android by julesh · · Score: 1

      Incorrect. Apple requires Mac OS X for development. This software can be virtualized on most modern PC configurations.

      And where can I legally buy a copy without also buying Apple hardware?

    32. Re:Go Android by Radtoo · · Score: 1

      Swing is not a legacy addition, it is a still actively maintained GUI lib with fairly standard design. But if you don't like it, that is obviously okay, since Android does not even have Swing.

    33. Re:Go Android by Thing+1 · · Score: 1

      Well, gotta waste more time here because nobody could possibly write anything worthwhile in four minutes, so can I just point out that Pudge is an utter turd? Seriously, this crap has been in /code for... how long? Is there any evidence that making it hard to have an on-topic conversation actually improves the signal to noise ratio here?

      Agreed; would be much better to have a geometric progression: limit next post to 10 seconds later (I've had on-topic discussions where it had been 10 seconds between hitting reply and submit; I'm a fast typist, and they were one sentence responses). If same IP posts within N*2 (where N starts out at 10 seconds), then double N.

      So you can generally post every 10 seconds. If it takes less than 20 seconds to post, your next post will have to wait 20 seconds before you can post again (then 40 seconds, then 80, etc).

      An algorithm like that would allow most people the ability to post, most of the time. And it would prevent script attacks from filling up the database, or causing a DDoS, etc. Could even have it "slide back down" (i.e., go from 80 to 40, then 20, then 10, instead of from 80 all the way back to 10 once the IP has made a post that took longer than N*2).

      The one thing an algorithm like that would not do, though, is constantly annoy the users and help serve to remind them that there are attackers out there, and Slashdot is being overly aggressive in its defense. If not for this posting limit, I'm sure I'd have forgotten years ago that there existed "script kiddies" who attacked Slashdot by making lots of posts.

      --
      I feel fantastic, and I'm still alive.
    34. Re:Go Android by j-beda · · Score: 1

      Amazon will sell you a DVD of Mac OS X 10.6 for something like $30 - perfectly legally.

      What you can legally do with that software depends on the enforceability of the click-through license that may come up when you install it, but buying the copy isn't any problem.

    35. Re:Go Android by NoOneInParticular · · Score: 1

      Fair point, NetBeans is even worse.

    36. Re:Go Android by Anonymous Coward · · Score: 0

      Eclipse IDE works on Windows just fine

    37. Re:Go Android by moonbender · · Score: 1

      And if you like the abhorrent color and the weedy taste of spinach, I guess you might like spinach. People are good at making subjective decisions sound objective.

      --
      Switch back to Slashdot's D1 system.
    38. Re:Go Android by Timmmm · · Score: 1

      True, and people also think more things are subjective than they are.

      UI responsiveness, complexity and bugginess can all be measured quantitatively. And the project management is strictly worse than the normal way it is done.

    39. Re:Go Android by moonbender · · Score: 1

      You can make all sorts of measurements, but none of them give you a result on a scale from good to bad or even from obvious to stupid. Eclipse is more complicated, less responsive and more buggy than notepad. I'm not sure how you're going to measure overall productivity with a certain app in any meaningful, controlled way.

      Though clearly you had some horrible experience with Eclipse that I haven't had so far (or had a problem often that I have only rarely). I don't recall ever having a problem with the program crashing or misbehaving due to NPEs, for one thing.

      --
      Switch back to Slashdot's D1 system.
    40. Re:Go Android by Altus · · Score: 1

      yea, but you can do some pretty nifty things with objective C when you design your app for it from the ground up. And when your app is a brand new tool (no legacy code) why not do it.

      Of course if you happen to have a legacy library or engine that is in C++ and useful for your application there is nothing stopping you from using it.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

  5. Learn them both. by brion · · Score: 3, Insightful

    Working with both systems will give you a deeper understanding of each, as well as allowing you to sell to a larger customer base, should that be something that appeals to you.

    --

    Chu vi parolas Vikipedion?

    1. Re:Learn them both. by Anonymous Coward · · Score: 0

      'allowing you to sell to a larger customer base, ...'

      That means 100% of the planet are your clients, not 5%.

    2. Re:Learn them both. by DaVince21 · · Score: 1

      That means Apple's percentage and then Google's percentage, actually.

      --
      I am not devoid of humor.
  6. App first, platform second by Planesdragon · · Score: 5, Insightful

    You should never, EVER think platform, then app. Think audience, application, and THEN learn what you need.

    Your school district is using iPads? Then learn iOS. You have an android phone at home, or have java experience? Learn Android. You want to just make something work? Get the Android, iOS, and WebOS SDKs, and test like @#% so your mobile phone works everywhere. (Heck, get Blackberry and windows mobile if you can.)

    1. Re:App first, platform second by ndogg · · Score: 1

      The parent is quite right on this. That said...

      I know this isn't popular here on slashdot, but being able to target both should be pretty easy using Mono. MonoTouch is already out there, and is a well proven technology, and MonoDroid should be out soon. Just remember to keep the business logic of the app separate from platform specifics.

      Or, you could just stick to C, which will work on both platforms as well.

      --
      // file: mice.h
      #include "frickin_lasers.h"
    2. Re:App first, platform second by rrossman2 · · Score: 2, Informative

      Haven't really played with it yet, but you can get the BlackBerry Dev tools for free. They provide a plug-in for Eclipse to develop the Java apps for BlackBerrys, even provide tutorials, examples, and even phone simulators. Granted it's not the platform you're looking into, but I know Symbian phones will run MIDP java apps (they have the full stack in the S60/S80 OS), so an app that will run on a BB *should* also run on a Symbian phone. I'm not sure if an MIDP app would also run on an android or not... but just wanted to toss that out there

    3. Re:App first, platform second by EEPROMS · · Score: 1

      Android platform also supports programming in C/C++, to be honest I looked at Dalvik (java like language) and decided after some experimentation to go with C/C++. In my case the applications ran very smooth and others have reported when they ported from dalvik to c/c++ the apps ran faster.

      http://openhandsetmagazine.com/2007/11/running-c-native-applications-on-android-the-final-point/

    4. Re:App first, platform second by Anonymous Coward · · Score: 0

      or use haxe, one language to rule them all.

      http://www.haxe.org

    5. Re:App first, platform second by shutdown+-p+now · · Score: 3, Informative

      I looked at Dalvik (java like language)

      Dalvik is the name of Android's VM and bytecode format, which isn't particularly Java-like (for one thing, it's register-based, not stack based). The actual language used for Android development is Java. Not "Java like", but actual Java, as defined by Java Language Specification.

    6. Re:App first, platform second by Threni · · Score: 1

      No, you should think platform first if you want to do stuff other than write apps, or if you want to write apps which are not allowed on your platform, or using Flash, or if you're not able to sell apps outside of some `big brother` system, or if you don't want the possibility of whatever rules are in place suddenly changing in a way which now prevents you to sell an app you've spent a fair amount of time and money developing and getting approved. Pretending that the platforms are the same and you just sort of casually consider it at a later stage isn't very wise in this case (it might work for windows vs linux vs mac).

  7. Yes by shriphani · · Score: 2, Insightful

    You definitely should. One of the biggest benefits of building apps for mobile phones is that you don't need to market your app - the app stores are excellent distribution channels and your app isn't stuck out there waiting to be discovered by the masses for the next 20 years. Major indie mac developers have made the switch to the iPhone and now more actively focus on iOS devices than they do on the Mac. This is a general trend. Smartphones' potential is still being discovered. Try to profit from the gold rush while you can.

  8. iOS by QuadraQ · · Score: 1

    From what I've heard people aren't making much money on the Android side yet. That could change, but it's not a good sign if being paid to code is your goal.

    --
    "Life is a series of mistakes and success depends on how well we learn from them." - Isaac Church
    1. Re:iOS by pankkake · · Score: 1

      They aren't making much money on the iOS side either.

      --
      Kill all hipsters.
    2. Re:iOS by Zelgadiss · · Score: 1

      One of the problems is Google for some reason hasn't enabled paid apps in some regions.

      In south east Asia for example, Apple App store works fine, but Google's limited to free apps.

    3. Re:iOS by Wovel · · Score: 2, Insightful

      Except one 99c app like angry birds netted the developers more than the gross of the entire android marketplace..

    4. Re:iOS by Glonoinha · · Score: 1

      The F in FOSS stands for free.
      Amazing what that word does to the bottom line when it comes to gross income.

      And yes I know that not all the apps in the Google app-store are free (and that some of the ones in the iAppStore are) - but it's a mindset that is very pervasive on the Java side.

      --
      Glonoinha the MebiByte Slayer
    5. Re:iOS by jon3k · · Score: 1

      I'm sorry but choosing a platform because you already know a language similar to the one used for that platform seems very shortsighted. There are so many other factors, like what types of applications do you want to develop and in what environment would you find more receptive users (or customers) ?

    6. Re:iOS by KangKong · · Score: 1

      There are only 9 countries in the world where you can actually buy apps on android market OR develop an application and actually sell it!
      Which means the app store really has no competition in 100+ countries for games and quality applictions. Google doesn't really seem to care about most of the world.

      Austria
      France
      Germany
      Italy
      Japan
      Netherlands
      Spain
      United Kingdom
      United States

      http://market.android.com/support/bin/answer.py?hl=en&answer=143779

    7. Re:iOS by Radtoo · · Score: 1

      And "World of Goo" made more profit, "Minecraft" also has done it, "Dwarf Fortress" enjoys at least enough success to keep its creator working full-time on it on entirely voluntary donations alone, and larger productions like "GTA" and "World of Warcraft" can be extreme cash cows like nothing else in the entertainment industry. Applying the same reasoning, you actually should instead develop in C++ or Java for PC (and maybe consoles).

  9. More is more by wombatmobile · · Score: 3, Insightful

    Why not aim to learn both iOS and Android? You'll please more people and incur the wrath of less. If you pick just one, you have to deal with the tens of percents that can't run your apps, which is difficult.

    Yes, it will take more time and effort to learn to environments, but not much more. Most of your time will be spent designing and testing the apps, not implementing code.

  10. Yes. by morgan_greywolf · · Score: 5, Insightful

    Yes. You should hedge your bets and learn both. The smartphone wars are far from over, and most smartphone content producers are releasing for, at the very least, both iOS and Android. Some also simultaneously release for Blackberry and Windows Mobile as well.

    Each platform has its relative strengths and weaknesses. Writing code on Android pretty much means learning Java; similarly, writing code on iOS pretty much means learning Objective C. Neither language is likely to become obsolete very soon. The startup costs for writing code on Android are a bit lower; you don't need to buy anything to write Android apps. If you expect to write iOS apps, you need a Mac and you need XCode. On Android, you need Eclipse and the Android Eclipse SDK.

    But, like I said, I wouldn't learn just one.

    1. Re:Yes. by catbutt · · Score: 4, Insightful

      As someone who has learned both, I don't suggest this approach for most. Especially if you are just getting back into programming. There is an immense amount to learn for both, and much of the knowledge does not carry over. They are very different.

      I suggest picking one of them and learning it well. If you make something that seems to have potential, hire someone to port it -- or then take the time to learn another platform.

      Just my suggestion. Trying to learn both at once can be quite overwhelming.

    2. Re:Yes. by Anonymous Coward · · Score: 0

      Especially if you are just getting back into programming.

      Obviously not a developer.

      Obviously applies to the submitter, you cocksucker.

    3. Re:Yes. by I'm+Not+There+(1956) · · Score: 1

      If you're going to take Android's route, and you need just one book I recommend this. I'm managing a team of three Android developers and this is one book everybody in the team is fighting for! Don't look at the title, you can start learning Android with it.

      --
      "If fifty million people say a foolish thing, it's still a foolish thing."
    4. Re:Yes. by shway · · Score: 1

      you don't need to buy anything to write Android apps. If you expect to write iOS apps, you need a Mac and you need XCode.

      This makes the assumption that the original poster already has a PC and does not already have a Mac. It also insinuates that XCode costs money (it ships for free on the OS X install disc). The original poster claims to daily support both OS X and Windows, so he likely has access to both Desktop platforms.

      Therefore he should not need to buy anything to get started out coding for either Mobile platform.

    5. Re:Yes. by Radtoo · · Score: 2, Interesting

      There actually are more viable language choices. Android can not just support Java, but JVM languages - which is an important distinction. Want something like Lisp? try Clojure. Want something like Haskell or Java? Try Scala. Also, it supports C/C++. There is also fairly good support for scripting languages (Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell) at the moment, though the scripting languages cannot currently do everything and run more slowly. Even more languages are supported through experimental implementations...

      Apple so far has ObjC, C, Cpp and intends to allow more, like Squeak.

      Even apart from this, programmer freedom & choice is more on Android's side - not just because of the programming languages, but also because the OS is free & open source - which even leaves you the choice of not using Google's store or create a tailored version of it all, right down to the OS. No such luck on Apple's side. They intend to press you into their App Store monopoly, and I'd say that might be enough of a reason to not pick IOS up at all, despite the larger user base. Besides, Android has nicer phone hardware (especially the high-end HTC ones)... which should also matter a little to an enthusiast user / developer.

    6. Re:Yes. by Roman+Coder · · Score: 1

      I was wondering if you'd be willing to comment on the customer reviews for the book, and let us know if the 5 stars got it more right, or if the 1 stars did?

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    7. Re:Yes. by morgan_greywolf · · Score: 1

      Hmmm? I didn't imply that XCode had to be purchased. And the ownership of a Mac isn't the only prerequisite that might cost the submitter money. If the submitter would like to sell apps through the App store, he needs to pay Apple money for that -- to the tune of $99 per year. In addition, developers only get to keep 70% of revenues -- the other 30% goes to Apple. The Android Market is the same -- only 30% goes to the carriers rather than Google for paid apps; however, Android Market desn't require a $99 per year fee.

    8. Re:Yes. by Anonymous Coward · · Score: 0

      Android can not just support Java, but JVM languages

      Android doesn't have dynamic code loading, right? So basically all the other languages you listed don't run or at the very most require a special version that runs really really slowly.

      Apple so far has ObjC, C, Cpp

      So basically the comparison is for the top 30% of tiobe languages (and the most performant language) vs 18% for andriod for a pretty slow language. Also, Google is being sued over Java and HTC is being sued over the interface.

      enough of a reason to not pick IOS up at all, despite the larger user base.

      So Apple has in its favor:
      - faster, more popular languages
      - not being sued
      - larger user base

      Are you shilling for Google? Because I don't see the downside of iOS or why you would be so overly enthusiastic about Andriod.

    9. Re:Yes. by bears · · Score: 1

      I got started in Android with that book. The higher stars are closer to the mark. It has its problems, but overall the book, coupled with the online Android docs, is a pretty good way to get your bearings with Android.

      Don't assume it's going to teach you Java or magically explain in detail the exact little problem you're stuck on. Sorry - if you're new to any platform, you're going to have put some work in.

    10. Re:Yes. by Roman+Coder · · Score: 1

      Well, knowing Java isn't a problem for me at all. I was more worried about the number of errata mentioned by the reviewers.

      I noticed there's a second edition out, but Amazon.com doesn't list it, only the first/erratay (feels weird saying 'buggy' for a book) version.

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    11. Re:Yes. by Roman+Coder · · Score: 1

      If you're going to take Android's route, and you need just one book I recommend this.

      Just a FYI, there's a 'second edition' of that book out. The first version reviewers mentioned allot of errata, which the second edition should in theory have most of the errata removed.

      Unfortunately, amazon.com isn't currently selling it, only the first version.

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
  11. Depends on what you want to do. by codepunk · · Score: 1

    Point and click utility apps are relatively simple to do on the android. If you are targeting high performance applications such as 3d games the IPhone clearly owns that space.

    --


    Got Code?
  12. The post itself by niw3 · · Score: 2, Funny

    must be flagged as flamebait.

    1. Re:The post itself by bennomatic · · Score: 1

      No, it's an opportunity for sensible debate. In other words, I disagree with you, but I am pretty certain that you're not a Nazi baby killer vegan.

      --
      The CB App. What's your 20?
    2. Re:The post itself by silverglade00 · · Score: 1

      ...I am pretty certain that you're not a Nazi baby killer vegan

      Yeah, like there's other kinds of babies.

  13. Holy war starts in 3...2...1 by StuartHankins · · Score: 1

    Schools seem to like the iDevices. If schools are your target market, that's a safe way to go. Do I dislike Android? Absolutely not, it's Linux for the masses. It just hasn't caught on as well with schools as teaching devices yet. It will get there at some point!

    1. Re:Holy war starts in 3...2...1 by Wyatt+Earp · · Score: 1

      I'm in education tech, but supporting disability and all I see in that sector is expensive applications being updated from Win9x/XP to Vista and iOS.

      Our agency is buying iPads for distance and disability ed like mad, I think our 20 person agency has 14 of them now with 7 more on the way.

      We load them with accessibility stuff and send them out to rural schools.

      Last time in one of these Android/iOS things I posted that I don't see disability or accessibility stuff coming for Android and got flamed and modded troll for my efforts, so I won't make predications.

      Are there any OCR apps out there for either platform? If someone came up with an app that OCR and read outloud the text on an image or .PDF they'd make alot of people out there happy.

    2. Re:Holy war starts in 3...2...1 by StuartHankins · · Score: 1

      I haven't used any OCR on iOS but I was able to find several apps. One named Prizmo seems to offer this feature. http://www.google.com/search?q=ocr+iphone&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

  14. Write Portable Code by turgid · · Score: 1

    Pick one main platform to begin with, but write your app in a portable fashion so that it compiles and runs on two or more. Writing portable code improves code quality even if you only intend to deploy on one platform.

    Also, it's easier to learn another platform "as you go along" rather than putting it off until some arbitrary time in the future.

    1. Re:Write Portable Code by Anonymous Coward · · Score: 0

      That's absurd. Write code that's portable between Java and Objective-C platforms, particularly UI-heavy code for a mobile platform where you're forced to integrate tightly with the available APIs? Think again.

    2. Re:Write Portable Code by catbutt · · Score: 1

      The only way to do this is using javascript/html/css and doing all your work in a web view component. Then you can have a small amount of objective-c and java code to support it on the respective devices.

      This is not such a bad idea (and has the side benefit of being easy to put all or part of your app on the web so it can be run without installing anything), but has disadvantages too. Many things will be slow or clunky compared to a natively written app.

    3. Re:Write Portable Code by turgid · · Score: 2, Interesting

      If those platforms lock you into languages and development environments that tightly, I'd be ignoring them completely and looking for something else to develop on.

      Seriously, is that what the world's coming to? Is it the 1980s all over again?

    4. Re:Write Portable Code by Anonymous Coward · · Score: 0

      If you look at how phones have evolved in the past five or seven years, it is very much like witnessing an accelerated re-enactment of the history of personal computers. As someone writing apps, I actually like that aspect of it because desktop OSes are both still clunky and heavily bloated; phone OSes have their many faults, but at least the bloat is currently under control.

    5. Re:Write Portable Code by seebs · · Score: 1

      That's a good idea in general, but I'd point out that android doesn't exactly use Objective-C with a bunch of old NextStep class libraries. ... and on the whole, my response these days is "more's the pity", because I've been finding OS X/iOS development relatively livable compared to most of the other GUI toolkits I've dealt with.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    6. Re:Write Portable Code by jon3k · · Score: 1

      Is it the 1980s all over again?

      Yes! Absolutely, in many regards. New technology springs up, unstandardized, lack of compatibility, people fighting for market share. Pretty similar to the enterprise storage market actually. Everything is a vertically integrated black box again.

    7. Re:Write Portable Code by Anonymous Coward · · Score: 0

      Honestly, it seems to be the case.

    8. Re:Write Portable Code by alexandre_ganso · · Score: 1
  15. Personally, Android by ResQuad · · Score: 3, Informative

    I'm not a hardcore programmer (PHP/Perl... lite stuff), but I thought it would be fun to try out mobile app development. I happened to have an iPhone, mac, etc... so I started there. Even with the books and intro material, I found it very difficult to get into. My C and similar is very rusty, so that was part of the problem. For the heck of it, I tried android and that was MUCH easier to get into. My Java was never great, but better than my C - which again - helped. All in all, I much more enjoyed the experience of working on the Android platform because it tended to have lower barriers to entry (less hardware, less software, etc), be easier (Java _is_ a simpler language) and be fun.

    Though get a good book for android. Last I checked, the official docs online from Google were for like 1.0-1.5 and we're on 2.2. In short, horribly out of date (usable in some cases, but out of date).

    1. Re:Personally, Android by wembley+fraggle · · Score: 4, Informative

      There is a great iPhone application programming course on iTunesU, which includes an introduction to ObjC and rapidly moves into powerful programming techniques for iOS. Better yet, it uses a lot of the examples from the SDK as the course material (there's no book), and the slides are provided as part of the program. It's all free to boot. Definitely worth watching for a good introduction to the platform. Plus, it's all free.

      It's the Stanford University CS 193P, iPhone Application Programming, Spring 2010 course that I watched.

    2. Re:Personally, Android by chartreuse · · Score: 3, Informative

      Ditto. Though I see it's Winter 2010. They did it last year, too, though a) I don't know that it's available now, and b) the iOS platform itself evolves quickly enough that capabilities and best practices have changed since then.

      If you sign up for the developer program ($100/yr, and necessary to put your code on the device instead of the simulator) you can also get access to videos of sessions from the developer's conference for free and get advice straight from the horse's mouth.

      I'd also recommend getting a book or two. I'd recommend O'Reilly's C Pocket Reference if you're rusty in C. Erica Sadun's iPhone Developer's Cookbook, Second Edition covers a lot that you'd need, though the way she organizes her code can make it difficult to reuse if you're just starting out. I can dis-recommend the Sam's "24 hour" iPhone programming book, unless it's been revised and corrected -- it's almost as likely to hinder you as help.

      You'd also inevitably be using Apple's own SDK documentation, which can be quite overwhelming to begin with, and web searches both at Apple's developer forums and at large on error messages and class/method names are often fruitful once you get a handle on iOS.

      I'd estimate it would take one month of spare time to get your bearings, and 2-3 to really know what you're doing. What can blindside you is that a lot of advanced graphics and sound applications -- games, for example -- require some C++ afaik. (So much for my plans for avoiding it.)

    3. Re:Personally, Android by Anonymous Coward · · Score: 0

      Last I checked, the official docs online from Google were for like 1.0-1.5 and we're on 2.2. In short, horribly out of date (usable in some cases, but out of date).

      Are you looking in the right place?

      The proper place is here and it's always been updated the moment a new version of android is released. You can even filter by release and it'll even automatically hide/fade the relevant parts that aren't supported by the API level.

    4. Re:Personally, Android by Nyeerrmm · · Score: 1

      As a competing anecdote, I'm also a light hobby programmer myself (matlab, python, web/php), I find iOS programming pretty straightforward. The only sticking point was memory management, which android (probably?) doesn't have to deal with it, since it's java and garbage collected. However the apple document on how it works set me straight.

      I can't compare it directly though, so android may be easier, iOS just isn't that hard.

    5. Re:Personally, Android by EvilIdler · · Score: 1

      Erica Sadun's book is full of hackery and use of private APIs. I can't recommend it. Any book but that if you actually want to get things on the AppStore, or even if you care about good programming practices.

    6. Re:Personally, Android by chartreuse · · Score: 1

      Hmmm, I can't say that I've read every word (it's a cookbook, who would use every recipe?) but I haven't come across any use of private APIs, nor have I seen any wacky code.

      Not saying you're wrong (a cite would be good), but is there any chance you're referring to the first edition? The second edition, covering iOS 3.x, is twice the size for the first (about 830 pages) and perhaps the earlier SDK needed more hackery to work.

      Maybe you're right, but I've found the book useful in my own coding and it doesn't seem to have misled me.

    7. Re:Personally, Android by alexandre_ganso · · Score: 1

      Objective-C on the Mac has had garbage collection for quite some time now. They say it would make things too slow on the iphone. When I read this, the most recent thing was the iphone 3g, which is quite pale in comparison to the new one. It seems a matter of time (and raw processing power/memory) for the iphone/ipad etc to have garbage collection as well.

  16. Illumination by Anonymous Coward · · Score: 0

    Let the school use this

  17. Symbian ! by Anonymous Coward · · Score: 0

    Drop the rest, go with the best !

  18. Objective-C is pretty easy by WebManWalking · · Score: 1

    The main thing you need to get used to in Objective-C (for iOS) is an extra square-bracket syntax for calling an object's methods. It's not really so much like calling a method in Object Pascal / C++ OOP. It's more like sending a message in Smalltalk. It allows for very late binding and unbinding. In that sense, it has the flexibility of coding in JavaScript, but in a compiled language. Also it's VERY supportive of MVC, which you can use to increase the flexibility of your apps.

    By they way, you're platform neutral, not platform agnostic. Platform agnostic would be coding HTML5 offline web apps and not caring whether you're on OS X, Windows, Unix or mobile.

    1. Re:Objective-C is pretty easy by ThermalRunaway · · Score: 1

      It's easy if you come from a C type of background or have been introduced to those concepts. Someone coming from, say, PHP, or .NET, and have never done any "lower" level programming will find Obj-C much more difficult to grasp. Two examples:

      Pointers. Some people just can't this concept. Dereferencing, etc, are most likely alien concepts. Also, header files and the general mechanics of Obj-C/C/C++ are very different from Java/.NET type languages.

      I'm an embedded SW engineer, I do a lot of my work in C/C++, so Obj-C wasn't a problem for me. That said, I really don't like Obj-C at all. Its rather annoying. The syntax for function calls, and func definitions is less intuitive than C. Also things like "+" and "-" to differentiate class vs instance methods seems silly.Why not use static like everything else does? And whats the deal with the @property and @synthesize stuff? Not really a fan.

    2. Re:Objective-C is pretty easy by iluvcapra · · Score: 1

      Pointers. Some people just can't this concept. Dereferencing, etc, are most likely alien concepts. Also, header files and the general mechanics of Obj-C/C/C++ are very different from Java/.NET type languages.

      There definitely exists a class of programmers who don't grok things like "functional programming" or "actor model with multiple dispatch" or "tail calls," but for the ones who don't understand how a "pointer reference" works, there is little hope. Even PHP has references.

      Also things like "+" and "-" to differentiate class vs instance methods seems silly.Why not use static like everything else does? And whats the deal with the @property and @synthesize stuff? Not really a fan.

      They had to add features in such a way that any C files was also a valid Objective-C file. That was the design decision. Also, class methods in ObjC aren't static, they bind to the caller's class, not the class they're defined in. If you don't like "@property", you will get really pissed off by Java annotations, which are another example of a non-compulsory feature that "makes the code ugly" and many people "aren't really a fan of" but accomplishes a specific purpose in a practical way.

      --
      Don't blame me, I voted for Baltar.
    3. Re:Objective-C is pretty easy by WebManWalking · · Score: 1

      The asker claimed a background in "assembly, Pascal, HTML, and C". That influenced my response.

    4. Re:Objective-C is pretty easy by WebManWalking · · Score: 1

      I sure hope a moderator mods you up (Informative) for the class methods observation.

    5. Re:Objective-C is pretty easy by Logic+and+Reason · · Score: 1

      Pointers. Some people just can't this concept. Dereferencing, etc, are most likely alien concepts. Also, header files and the general mechanics of Obj-C/C/C++ are very different from Java/.NET type languages.

      You don't really need to understand pointers to use ObjC, though. You use object pointers all over the place but you never dereference them, just send them messages. It amounts to the same thing as Java's object references, just with an extra asterisk in the declaration. You can of course use raw C arrays and pointers, but there's little reason to do so in most cases.

      Manual memory management, though, that I'll certainly grant you. Mac OS programmers haven't had to deal with that since ObjC 2.0, but ObjC on iOS doesn't do garbage collection (supposedly for performance reasons). Autorelease pools ease the pain, but obviously not having to deal with deallocation at all is easier still.

      Also, header files and the general mechanics of Obj-C/C/C++ are very different from Java/.NET type languages.

      Writing header files can be a pain, but they're not hard to grasp once you understand what a function declaration is, which you need to do for any language. Different from Java and a bit of extra typing, sure, but not particularly hard.

      I'm an embedded SW engineer, I do a lot of my work in C/C++, so Obj-C wasn't a problem for me. That said, I really don't like Obj-C at all. Its rather annoying. The syntax for function calls, and func definitions is less intuitive than C. Also things like "+" and "-" to differentiate class vs instance methods seems silly.Why not use static like everything else does? And whats the deal with the @property and @synthesize stuff? Not really a fan.

      These are just personal aesthetics.

  19. Re:No by Anonymous Coward · · Score: 2, Funny

    I disagree... I originally learned IOS back in the late 1990s when it was at version 9. I still use IOS equipment that have version 12.4 and 15.0 all over the place. learning IOS was the best thing I ever did. I have a CCNA.

  20. Adobe Flash CS5 by sehryan · · Score: 1

    This answer will probably get modded down into oblivion, but get Flash CS5, and you can write for both with the same code. See: http://blogs.adobe.com/cantrell/archives/2010/04/one_application_five_screens.html

    I believe there are other code platforms that are write once run everywhere, in case you have an allergic reaction to Flash.

    --
    The world moves for love. It kneels before it in awe.
    1. Re:Adobe Flash CS5 by Anonymous Coward · · Score: 0

      I wish I'd seen this post earlier before my comment.
      I've worked with these tools, (frankly, I don't use the GUI, I use the command line and vim), and they do pretty well.
      Like Java was early on, there are some things that work better in a native language, (which is funny because we're comparing this to Obj-C and Java...).

      In any case, ActionScript + Flex can be very powerful and you can do a lot with them. There is also value to only having to maintain one set of code for multiple platforms, (including PC). Like earlier posters have said, do your research, figure out what you want to build, and pick the best tool for the job. For me, as long as my app isn't super processor intensive, AIR works well.

  21. In terms of money... by Anonymous Coward · · Score: 1, Interesting

    Last time I checked (this was a good 3+ months ago), to develop applications for the iphone (this was pre-ipad) you had to own a mac in some form to use their sdk and other dev stuff. This was to my knowledge the only way possible to write iphone applications at the time. You could use the hackintosh method but this still in essence was a mac. On the other hand, Android applications can use any hardware and they give you the option of using the SDK inside Eclipse (an ide if you didnt know).

    I've made a couple of Android applications but I'm not going to shell out for a mac just to write for the iphone.

  22. Sencha touch by heratech · · Score: 0, Troll

    You should use Sencha Touch and program for both!

  23. If you want to sell your application... by Anonymous Coward · · Score: 0

    If you want to earn money with your application then learn iOS. In Android, piracy is a serious problem: search "Android piracy" in google.

  24. iOS first, better for your background by SuperKendall · · Score: 4, Informative

    First of all, given a C base you'll probably be a little more comfortable with Objective-C, because you can fall back on C when you need to. The language itself is a superset and the superset is a really different mindset than C itself is, but it's a very nice OO language with some great features.

    But also, currently iOS has a ton of awesome educational material. Apple itself provides a lot of documentation, and if you pay the $99/year fee to develop for devices (you should) then you also get all of the videos from the past developer conference, plus of course there's the free iTunesU videos from Stanford on iPhone development.

    There are also a ton of third party books and at this point probably local Cocoaheads groups you could attend meeting with questions.

    I think for some time to come Apple is going to be the leader in the space of mobile development, but especially around education - there are a lot of kids applications on the iPhone and Pad and a ton of parents are buying these devices in part so that kids can use them. I have been astounded at how fast this has happened, especially with the iPad.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:iOS first, better for your background by Anonymous Coward · · Score: 0

      First of all, given a C base you'll probably be a little more comfortable with Objective-C, because you can fall back on C when you need to. The language itself is a superset and the superset is a really different mindset than C itself is, but it's a very nice OO language with some great features.

      On the same premise he should be doing Android period. Android also has an ndk which allows C/C++.

    2. Re:iOS first, better for your background by michaelok · · Score: 2, Informative
      I've been impressed with the Stanford course. The material is quite dense, I find I have to pause the tape every once in a while and take notes, so they move fast. A good background in some other language like C, and even an OO background like C++ would be useful, as concepts carry over well from Java. In fact, Java was influenced by Objective-C.

      The course material is very good too, such as the lecture presentations and the assignments. In the '09 semester I believe they did a Twitter-style app, in the Spring 2010 semester, which you can also download from itunes, they do a flickr app. They bring in various speakers, including Apple employees working on the various supporting libraries.

      The only minor quibble I would have is that the Xcode app has changed from the version used in the course, so sometimes you can't follow the instructions exactly.

      Given the OPs background in C and hardware, I'd agree with the folks on this thread that suggest going the iOS/Android/Flash route vs. using a web application. It would seem to me easier, given that background, of using a GUI framework like Cocoa, than figuring out a web framework. And this gets to the most important point - what are his requirements? The school uses iPads, so he probably has some ideas for some time of application that would benefit the school. This is probably the best way to learn - scratch an itch, and start from the top down, rather than learning every nuance out there, since these frameworks and platforms can be huge and complex.

  25. Only if you are an incompetent programer by Anonymous Coward · · Score: 0

    Seriously, suggesting a real programmer to use a wysiwyg programing tool is insulting.

    wysiwyg are for incompetent idiots.

    1. Re:Only if you are an incompetent programer by ohiovr · · Score: 1

      You're right I hate to see what I get.

  26. Run! by Anonymous Coward · · Score: 0

    Hell no! Don't waste you time with programming, run for you life and get a job with good hours and good pay!

  27. If you actually want to make money by Anonymous Coward · · Score: 0, Flamebait

    go iPhone. There is no market for payed Android apps. While it's technically possible to sell paid apps, the people that buy Android are either opensource "I don't think it right to pay for software" or are just too cheep to pay. Combine that with the fact that you will have to support 10X the number of model of device with their variations in screen size and support for touch or buttons etc and the clear winner for an independent developer is iPhone. Do you really want to ship software for devices that you haven't tested on?

  28. Jack of all trades, master of none by SuperKendall · · Score: 1

    Working with both systems will give you a deeper understanding of each

    I think that's really true regarding computer languages. It's a great idea to know a lot of different languages.

    But when talking about whole platforms, it's very hard to work with both systems, and become proficient in one. I think there's a lot of value to mastering a system so you can REALLY understand it and perform well developing for it.

    If for some reason you need to switch platforms, the experience you gain knowing what works well on a mobile UI will roughly translate from one to the other, so it's not like that really locks you down much.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  29. Are there more Android User Groups? by jbrohan · · Score: 1

    We have one in Montreal for example .

  30. "hardware tech degree" by Anonymous Coward · · Score: 0

    What's that, EE? ECE?

  31. I wouldn't invest in iOS development by Rix · · Score: 2, Interesting

    Apple is making exactly the same mistakes they made in the early desktop market: they're refusing to license their software to more nimble hardware manufacturers, so they'll get passed over.

    1. Re:I wouldn't invest in iOS development by CharlyFoxtrot · · Score: 1

      Apple is making exactly the same mistakes they made in the early desktop market: they're refusing to license their software to more nimble hardware manufacturers, so they'll get passed over.

      Go ask Palm how licensing their mobile OS worked out for them. The fact this strategy worked for MS back in the 90's doesn't mean it'll work now.
      Here's a fun quote about that kind of thinking I read once : "Those who learn history are doomed to try and repeat it."

      --
      If all else fails, immortality can always be assured by spectacular error.
    2. Re:I wouldn't invest in iOS development by itsdapead · · Score: 3, Insightful

      Apple is making exactly the same mistakes they made in the early desktop market: they're refusing to license their software to more nimble hardware manufacturers.

      Here's a clue: which of the early makers of desktop computers survived the Wintel monoculture of the late 80s and 90s and is still an influential, if minority, platform today? Hint - it begins with "A". What happened to CP/M and GEM, MSX and Unix which were licensed to multiple manufacturers?

      Anyway, Apple have already tried that. Twice, actually: Apple with "classic" Mac OS and Steve Jobs with NeXTStep before he returned to Apple. That went well, didn't it?

      What has worked spectacularly since the release of the iMac in 1998 is tying the software to premium-priced "designer label" hardware (but not quite as premium-priced as the old NeXT cubes). But you're right - Apple should drop their winning formula and go with the one that has already been proven to fail.

      The fly in the ointment is that "more nimble hardware manufacturers" don't care whether they ship machines with Windows or MacOS as long as they make their money (usually by selling upgrades, peripherals, extended warranties and finance rather than the computers themselves). They'll be more than happy to attract custom from existing Apple converts, cannibalizing Apple's sales, Windows users to switch. So you've got guaranteed cannibalization of Apple's existing sales but no guarantee whatsoever that the clone-makers and their resellers will aggressively promote MacOS to Windows users. Look at Dell and Asus's feeble efforts to sell Linux-based machines...

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    3. Re:I wouldn't invest in iOS development by Anonymous Coward · · Score: 0

      I don't think it is the lack of licensing that will be Apple's undoing, but the proprietary platform most likely will.

    4. Re:I wouldn't invest in iOS development by MogNuts · · Score: 0, Troll

      Maybe you forgot a little bit of history. Apple DID fail.

      The only reason they didn't go bankrupt and go *poof* is because MS bailed them out.

    5. Re:I wouldn't invest in iOS development by Anonymous Coward · · Score: 0

      Yeah like that worked for BeOS, Palm OS, Amiga, OS/2, OpenStep, Solaris, Windows CE. It's amazing how Apple is making record profits and growth but Geeks think they don't know how to run a business.

    6. Re:I wouldn't invest in iOS development by jon3k · · Score: 1

      Go ask Palm how licensing their mobile OS worked out for them.

      How about we ask Google how it's going for Android instead?

      Google up 5 points and Apple _down_ 1.3. If you've been following the trends you'd see that the momentum has been rapidly shifting to Android phones.

    7. Re:I wouldn't invest in iOS development by glebd · · Score: 1
      Oh no, not that stupid myth again! From here:

      Microsoft did no such "bailout." Although Apple had experienced a single quarter of posting a loss of $67 million, at the time of the so-called bailout, Apple had been operating in the black for two quarters, had more than $1.2 BILLION in cash and liquid assets, and had never been in danger of insolvency. There was no "bailout"... what happened was something else entirely... a settlement of cross complaint lawsuits involving intellectual property that Microsoft had misappropriated from Apple's Quicktime, without removing the serial numbers, so to speak, to create their own media player software.

      Microsoft paid Apple $150,000,000 for some restricted, non-voting, preferred stock as part of a lawsuit settlement which Microsoft basically LOST. In addition to the stock purchase, as part of the settlement agreements, MS had to continue development and marketing of MS Office for Mac for an additional five years, they had to license certain software patents FROM Apple for an additional undisclosed yearly amount for five years, and, in addition, license TO Apple, in perpetuity, certain software patents that MS owned at NO COST to Apple.

      For its part, Apple had to issue 10,000,000 shares of stock (i.e. printed up a stock certificate), license the software patents to MS (and made a profit), and install Internet Explorer along with Netscape Navigator on new Macs (but not make it the default browser) for five years.

      This settlement was published in the contemporary computer and business press at the time it occurred The three interlocking agreements implementing the settlements, and the Judge's dismissal of both Apple's and MS's lawsuits in light of the settlement, are available on line for those caring to seek them out.

      So can we just drop it?

    8. Re:I wouldn't invest in iOS development by julesh · · Score: 1

      What happened to CP/M and GEM, MSX and Unix which were licensed to multiple manufacturers?

      CP/M was effectively cloned by Microsoft and became MS-DOS (DOS 1 was designed to be API-compatible with CP/M); current versions of Windows still include a backwards-compatible CP/M API (NTVDM.exe), so CP/M is essentially still widely available. Windows still ships with CMD.exe which is mostly backwards-compatible with the commands of the CP/M shell.

      GEM is still available as an open-source project, although it isn't popular. Its popularity was mostly killed by an Apple "look-and-feel" lawsuit against its developers, forcing them to remove functionality. Given that such lawsuits aren't really fair, IMO, I don't see this as a fair comparison.

      MSX was a hardware platform, not an operating system, and an 8-bit one at that. It was, therefore, doomed to failure.

      Unix & its various clones are still widely deployed, including in Apple OS/X, so I'm not sure what it's doing on this list.

    9. Re:I wouldn't invest in iOS development by itsdapead · · Score: 1

      CP/M was effectively cloned by Microsoft and became MS-DOS

      The clone became MS-DOS. CP/M and Digital Research failed.

      GEM is still available as an open-source project, although it isn't popular.

      So, it failed.

      Given that such lawsuits aren't really fair, IMO

      GEM completely took the piss in the extent to which it cosmetically mimiced MacOS (it was nothing like it under the hood) so they pretty much had it coming.

      MSX was a hardware platform, not an operating system, and an 8-bit one at that. It was, therefore, doomed to failure.

      GP was talking about "the early days of desktop computing" - i.e. the Apple II era, so I think its artificial to distinguish between hardware and software platforms. The point of MSX was software compatibility.

      So, MSX failed.

      Unix & its various clones are still widely deployed including in Apple OS/X

      Back in the early days of desktop computing "Unix(tm)" meant an OS licenced from AT&T, such as Xenix. It doesn't mean that any more. Anyway, the only Unix with a non-negligible penetration into the desktop market is OS X, and that's mainly due to Apple's proprietary extensions which they refuse to license - kinda QED, really.

      Remember, Linux and BSD are not Unix(tm) and probably owe their success to being Free, which is very different from the sort of licensing the GP was talking about.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    10. Re:I wouldn't invest in iOS development by Anonymous Coward · · Score: 0

      Great way to make themselves fail, too. Apple spends all of the R&D for building their features and the code to support them, and the "beige box" vendors get free code and free hardware designs, skipping half the development costs. With half the development costs, they can far, far undercut Apple on their own hardware. One of the things that almost drove Apple under was getting rid of the clones.

      But why not go back to that route? I mean, talk about making the same mistakes... As a current Apple stockholder, I'd like to point out you're an absolute moron.

    11. Re:I wouldn't invest in iOS development by cheesybagel · · Score: 1

      Unix became Linux and BSD. Arguably even MacOS X. But Unix was not a desktop computer OS to begin with. It was designed on minicomputers and eventually used on workstations. Today Linux can run from Android smartphones to high-end servers featuring thousands of processors (really, just look at the Top500 supercomputing list).

    12. Re:I wouldn't invest in iOS development by CharlyFoxtrot · · Score: 1

      If you still believe in stock prices as a measure of wealth you haven't been paying attention this past recession or the dot-com boom for that matter. It's monopoly money, a mirage. Apple is making a lot of real profits off of the iphone while Google is making nothing off of Android. Indirectly maybe through tying their services to the OS but that's keeping the status quo at best.

      For me the jury is out on Android. I hope it makes it but I reserve judgement for at least another 1 to 2 years to see if the carriers fuck it up or not and fragment the platform. With their track record I'd say it's more likely they do than not.

      --
      If all else fails, immortality can always be assured by spectacular error.
    13. Re:I wouldn't invest in iOS development by Anonymous Coward · · Score: 0

      news.com recently reported that AAPL has 2.5% of the mobile phone market but takes 40% of the net profit from that sector. Yeah, they
      need to let everyone else have a slice of that.

    14. Re:I wouldn't invest in iOS development by Anonymous Coward · · Score: 0

      those who can do, those who can't sue.

  32. java by Anonymous Coward · · Score: 0

    surely the point of it as a WORE

    however for business / school applications many of which people will expect to be web based - something run on the webserver where you can get easily available people (or even students) in to do work is a good idea - like php - along with the supporting javascript and html5

  33. You should learn.... by Anonymous Coward · · Score: 0

    Windows Phone 7 !!!! ;^)

  34. iOS by CharlyFoxtrot · · Score: 1

    If you already know C then it makes sense to jump into iOS programming. There are also a lot of really good resources from Apple to get you started :

    - The iOS Dev Center has very extensive documentation on everything from the OjectiveC language to Apple's GUI guidelines and everything in between.
    - There's a Stanford iPhone programming course you can download for free on iTunesU along with slides, assignments, etc. which is excellent.
    - Very active userbase around the web, if you have a problem just Google it and somebody will have already discussed it somewhere

    The downside is the cost which runs at $100 for a developer license (which you can get around if you don't mind jailbreaking) and you'll need a mac to do development, unless of course you use the open source toolchain but I wouldn't recommend it for beginners. If you work for an educational institution you might get a free dev license, I know Apple sometimes do this for students but I don't know the

    --
    If all else fails, immortality can always be assured by spectacular error.
  35. Maybe you should rethink your premise by spinninggears · · Score: 1

    I would recommend not thinking you can "revive" you skills and produce useful apps for a school district (or anyone for that matter). You will probably just produce a lot of non-maintainable code naively written. Based upon the background you described, your software experience is basically that of a CS undergrad (full respect for your 18 years as a hardware designer). Minimum knowledge for useful apps today: client/server, databases, web, AJAX, networking, threading or multi-tasking, efficient GUI, OS, etc, all which take years of knowledge building to master, before even thinking about SDK's and development environments or methodologies. Your idea is like a software developer with 18 years experience saying "I would like to start designing with integrated circuits and build useful devices (I took an electronics course once, long ago) and want to know which electronic CAD packages are best. Sorry, I just don't see this is a productive plan.

  36. Learn both by Anonymous Coward · · Score: 0

    iOS has a an extremely well thought out GUI, and a very decent OS, but you will have to deal with Objective C which sucks on many levels. The lecture series from Stanford on iphone programming (available through iTunes) is worth giving it a try if only to experience those lectures.

    That said, you should also learn Android. Adroid is a dream to program. Man, it's Java, and it's quick, it's natural and Imho it's better thought out from top to bottom than the iOS. Presently is a little bit less polished on the GUI side, but I can't help but feel that that will change because the foundations of the thing is just rock solid. Very easy to work with.

    So in the end, what will it be for you? Well, Android will for sure be the most widely available platform. It may already be. That wide availability will include devices at a lot of price points, from very cheap to very high end, and will also include physical form factors that will suit many different kinds of people. This is good. Apple will probably be very polished also in the future, but will be more medium to high end, so there will be fewer people that buy Apples stuff. It's always been like that and I don't see it changing much. Apple has very nice growth in profits, but their market share isn't growing very fast. This is nice for Apple, since I don't see anyone removing them from their niche anytime soon. Apple will (or so I've heard) stay at about fifteen per market share, meanwhile Android with its more rapid growth will be more prevalant than that, in particular in the more cost-sensitive parts of the market.

    So there you have it: Learn both, enjoy the experience and hopefully make some great apps. Happy hacking :-)

  37. Yes, iOS and Android and WebOs and Blackberry... by the_cosmocat · · Score: 0, Troll

    and Windows Phone and Symbian..... NO. Just learn HTML, javascrpit and css and use PhoneGap!!!! http://www.phonegap.com/

  38. Re:Jesus phone by Anonymous Coward · · Score: 2, Funny

    What.... the.... fuck...

  39. remain agnostic by metalmaster · · Score: 2, Insightful

    Choose sides, and you will surely lose at the end of the day. Apple's iDominance will die out. Android will fork to the point of there being a new distro daily. The best way to remain relevant is to develop the core ideas behind your application THEN learn how to implement them using the tools at hand. Consumers care about what works. Lets face it, what works today might not work tomorrow.

    1. Re:remain agnostic by Radtoo · · Score: 1

      Just how will the existence of "many distros" be a problem for application developers? For now, both the standard libraries and the package format are not likely to get removed in any of those (thus entirely avoiding any problems for android developers so far), and even IF it happened, the situation would not be any more complex than the situation on Linux - which a great many Distributions can deal with.

  40. Better by kanguro · · Score: 0

    Why go for the primitive? Use monodroid and monotouch and you will have .NET to boot.

  41. Yes by Anonymous Coward · · Score: 0

    and WebOS too.

  42. webOS by Anonymous Coward · · Score: 0

    I know the original poster didn't ask about it, but what about webOS? The barrier to entry is very low, both technically and monetarily ($0 to become a developer and sell apps right now and have a look at Ares for technical entry). You'll learn html, javascript, and css if you stick to just the SDK, but can also do C/C++ with the PDK if you feel adventurous. Those web languages are going to become much more prevelant with HTML5 and companies will realize they can pay someone once to write a web app rather than paying to write an app for each platform. Half the apps I see on android and ios would work just as well as web apps as they do 'native' apps. And now with HP at the helm, I wouldn't be surprised to start seeing a lot of webOS devices (tablets included) making their way into school systems and businesses in the next year.

  43. Target HTML5 by El+Royo · · Score: 1

    I suggest you target HTML5 instead. With it and some JavaScript you can create apps for both of those, as well as webOS and desktops. Learn a skillset that's not tied to a particular vendor. I'm personally not a fan of Java and Objective C (which isn't -required- for iOS but is the de facto standard) is way too niche. This isn't to say that you shouldn't try those languages out. Learning new languages and tools is great for a programmer.

    --
    Author of Enyo: Up and Running from O'Reilly Media
  44. If you're only going to learn one... by Pedrito · · Score: 2, Informative

    If you're only going to learn one, go Android. Java is reusable in other environments and frankly, it's just easier.

    My personal opinion is that Objective C is pretty tedious and annoying. The syntax is ugly and non-intuitive. Again, this is my personal opinion. But having done years of C, C++, C#, I find it bizarre that Objective C syntax is non-obvious. Not that it is particularly complex, but if you know C++, Java and C# seem pretty obvious, whereas Objective C is just very different in syntax.

    Finally, Java is platform agnostic. Objective C has few platforms that it's good for and you have to buy Apple hardware to build iPhone apps which to me is plain stupid and I think in the long run, it's going to be one of the things to hurt the iPhone.

    Just my own opinions based on my experience with both. I sat down and immediately started writing Android apps using the SDK and simulator with no previous Java experience. Even after several days of playing with existing iPhone apps, I had difficulty even following what was happening in the code, understanding the stuff I was seeing in the watch windows, and figuring out exactly what the various syntactical crap meant.

    1. Re:If you're only going to learn one... by profplump · · Score: 1

      Objective C... syntax is ugly and non-intuitive

      It is, which is somewhat unfortunate, but it's more or less by design to maintain compatibility.

      Because ObjC is orthogonal to C/C++ it can't use any of the traditional notation. It's perfectly legal to mix a standard method call:
              obj->method(argument);
      with a ObjC message:
              [obj2 method: argument];
      in the same file.

    2. Re:If you're only going to learn one... by maccodemonkey · · Score: 3, Insightful

      "My personal opinion is that Objective C is pretty tedious and annoying. The syntax is ugly and non-intuitive. Again, this is my personal opinion. But having done years of C, C++, C#, I find it bizarre that Objective C syntax is non-obvious. Not that it is particularly complex, but if you know C++, Java and C# seem pretty obvious, whereas Objective C is just very different in syntax."

      How is it not obvious? Your complaint seems to be that it is different, while admittedly not complex. Different != not obvious.

      Objective C is an old language, and when it came out, it was a possible competitor to the still pretty shiny and new C++. It's an old enough language, that when Java was written, Java took a lot of cues from Obj-C. Apple didn't go out of their way to make a different language because back when Obj-C was created there wasn't a standard syntax for OOP programming.

      Obj-C is dead simple, and honestly, not confusing if you take the time to learn it. However, it seems many people these days are afraid of languages that look different and immediately write it off, when it's pretty gosh darn elegant. Every time I ask people why they dislike Obj-C, they can't get any further than the brackets. It just amazes me how many people write off iOS because they think Obj-C is hard (which, alone, is mind numbing, considering the biggest draw of OS X on the desktop for software engineers is how easy Obj-C is compared to C++).

      If the ability to learn is dead in software engineering, we're all in a lot of trouble.

    3. Re:If you're only going to learn one... by Taagehornet · · Score: 1

      It's an old enough language, that when Java was written, Java took a lot of cues from Obj-C.

      What language features do you have in mind specifically?

      Now I honestly don't know anything about Objective C, but if you asked me of the origins of Java, I'd point to SIMULA, C++, and BETA.

    4. Re:If you're only going to learn one... by maccodemonkey · · Score: 1

      http://cs.gmu.edu/~sean/stuff/java-objc.html

      "As it turns out, Sean and Tom are both absolutely correct. Usually, this
      kind of urban legend stuff turns out to be completely inaccurate, but in
      this case, they are right on. When I left Sun to go to NeXT, I thought
      Objective-C was the coolest thing since sliced bread, and I hated C++.
      So, naturally when I stayed to start the (eventually) Java project, Obj-C
      had a big influence. James Gosling, being much older than I was, he had
      lots of experience with SmallTalk and Simula68, which we also borrowed
      from liberally."

      For a while, Sun and NeXT were even in an alliance involving OpenStep, which carried on to Apple where for a while the Cocoa API was also available under Java.

    5. Re:If you're only going to learn one... by Jeremi · · Score: 1

      Every time I ask people why they dislike Obj-C, they can't get any further than the brackets

      At least on the iPhone OS, what bothers me is the lack of garbage collection, combined with the completely non-automated, error-prone nature of their reference-counting mechanism. I'm used to C++, which doesn't (usually) have garbage collection either, but at least there I can declare a shared_ptr for my dynamically allocated object, and be done with worrying about memory management from then on -- things will (more or less) "just work". In Obj-C I have to constantly try and remember which objects I 'own', when it's mandatory to [retain] or [release] and when it's forbidden to do so, and if I ever get anything wrong, I'll end up with a silent memory leak and/or code crashing when it tries to access freed memory. It's really not very much better than using straight malloc()/free() in C. I feel like I'm spending too much time tracking details that the language should handle automatically.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    6. Re:If you're only going to learn one... by Andreas+Mayer · · Score: 1

      In Obj-C I have to constantly try and remember which objects I 'own', when it's mandatory to [retain] or [release] and when it's forbidden to do so, and if I ever get anything wrong, I'll end up with a silent memory leak and/or code crashing when it tries to access freed memory. It's really not very much better than using straight malloc()/free() in C. I feel like I'm spending too much time tracking details that the language should handle automatically.

      Well, I'm afraid you just didn't 'get' memory management yet. Once you do, it's actually pretty simple.

      This is what you need to learn:

      http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

      Most important is the use of accessors and understanding the autorelease pool.

    7. Re:If you're only going to learn one... by Anonymous Coward · · Score: 0

      My personal opinion is that Objective C is pretty tedious and annoying.

      s/Objective C/Java/

      you have to buy Apple hardware to build iPhone apps which to me is plain stupid

      Most iPhone apps that I've been involved with are developed in C/C++ with ObjC used only to bind to Apples frameworks -- you don't need Apple hardware to write in C/C++.

      I sat down and immediately started writing Android apps using the SDK and simulator with no previous Java experience.

      XCode is terrible and I don't use IB at all, however the android SDK uses eclipse which is (IMHO) even worse. So mostly I'm working in ANSI C on linux, using vim and the standard GNU tool chain. I'm keeping an eye on Vala/Clutter too, ideally I'd like to port some of my apps to Android (NDK) and Nokia phones without having to use Java, QT or any other IDE (using XCode is painful enough).

    8. Re:If you're only going to learn one... by Anonymous Coward · · Score: 0

      Yah, I'll have to second the commenter. I was very resistant to learn Obj-c. I totally didn't want to - it *was* ugly. So many brackets, weird formatting, etc. I've been programming since I was a kid and have done C, C++, Java, the most complex frameworks you can think of. So I was over all that and switched to Ruby for a while - talk about dead simple. But then when I switched from Ruby to more Obj-c, it was like night and day almost (syntax-wise). So much typing in Obj-c....

      BUT, now after a year and a half under my belt, (of course) I appreciate it. Like any language, it has its beauty (I would have never thought I would have ever said that when I first started using it). And, unlike many others, I don't have some big problem that it's required for iOS apps. I accept the fact that if I went to Win7, I'd have to use C#, or Android, Java.

      One thing that would be nice for Obj-c (in its current form on iOS) is real garbage collection.Retain/release counts can be a pain and even though there's autorelease, I'd still rather not deal with memory management.

      My company is a decent size, highly respected intl design and development shop and we still have about 95% iOS projects coming though the door (1 Android and it went no where). I still feel, by far, iOS is the superior platform. It is missing true services, like Android has, but the overall experience of the device is way further ahead than Android. There are a lot of people commenting that Android will soon become the leader in the innovative or best user experience category, but I don't think so - that's years away. There's too much device and carrier fragmentation already for that to happen. Android's 'open' strength right now is what's holding it back. Apple's one vendor 'closed' system is what's keeping it simple and pushing it forward. The iOS ecosphere is still the one to beat and they still have the best experience for end users and developers, hands down. As a developer, one IDE, one platform, one (worldwide) store vs. multiple carrier stores, multiple UIs, multiple form factors, etc - it's an easy win for iOS. Will this always be the case? Probably not, but it is absolutely the case now.

      So don't forget, it's never too late to always learn something new. If you choose to learn both, then more power to you.

    9. Re:If you're only going to learn one... by not-my-real-name · · Score: 1

      If you've looked at any programs in SmallTalk, another old OO language, you will see the source of the Objective-C syntax.

      In programming languages, "ugly and non-intuitive" depends a lot on what you are used to.

      --
      un-ALTERED reproduction and dissimination of this IMPORTANT information is ENCOURAGED
    10. Re:If you're only going to learn one... by Jeremi · · Score: 1

      Well, I'm afraid you just didn't 'get' memory management yet. Once you do, it's actually pretty simple.

      I 'get it', I just think it's not a very good system. Using malloc()/free() in C is "pretty simple" as well: simply be sure to free() everything you malloc() when you are done with it. That doesn't make it easy to use.

      AFAICT Obj-C isn't much different from C-with-a-reference-counting convention. For example, in the "Basics" section, Apple documents the following methods that you need to understand and call at the appropriate times:

      1. alloc
      2. copy
      3. retain
      4. release
      5. autorelease

      Now, none of these have semantics that is particularly complicated... the problem is that you have to know about them at all. You have to remember when to call retain, when to call release, etc. Not really much of a difference from C, where you have to remember when to call malloc(), when to call free(), when to increment/decrement a refcount member variable, etc. Certainly more of a hassle than C++ (where shared_ptr's constructor and destructor automatically does it all for you) or Java (where garbage collection does it all for you).

      It's telling that the Practical Memory Management page has a list of "common mistakes" that will result in memory leaks or undefined behavior -- the very mistakes that an automated memory management system is supposed to prevent. In well-designed system, these mistakes wouldn't be "common", because they wouldn't be easy to make. (Ideally, they wouldn't even be possible).

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    11. Re:If you're only going to learn one... by Anonymous Coward · · Score: 0

      Objective C has only a few extra keywords and special characters compared to C.
      It can be learned in a few days if you know C and objective programming.
      C++ on the other hand has a gazillion extra keywords and special characters compared to C. It has a totally bloated syntax.
      It will take a few years to fully master, and it is common practice in industry to use a subset to be able to work with it.

      Java has the promise to run everywhere. In practice it doesn't (iPhone) and if it does it runs poorly (even compiled) because of interpreting, garbage collection and poor API's.
      The resulting programs do stick out, but only because they are sub-par.
      Cross platform development doesn't work. Especially for devices with constrained resources like phones.

      And I do agree that it is plain stupid that you have to buy hardware to be able to build apps for android.

      J.

  45. Palm didn't license their OS by Rix · · Score: 3, Informative

    If you're talking about the old PalmOS. The original Palm company was sold to 3M with the provision that Handspring (composed of the people who originally built and ran Palm) would get a license to continue building products with it. Third parties were never allowed to produce PalmOS devices.

    It's not just Microsoft's strategy. All the old UNIX vendors withered under Linux, which could be run on commodity hardware.

    There will never be one hardware vendor to rule them all. It just doesn't work that way. If you insist on tying a platform to a single vendor, it will die.

    1. Re:Palm didn't license their OS by Anonymous Coward · · Score: 0

      Sony licensed PalmOS for the Clié.

    2. Re:Palm didn't license their OS by RaymondKurzweil · · Score: 1

      Third parties were never allowed to produce PalmOS devices

      http://www.janam.com/xp30-handheld.php

      There are numerous other examples. (Symbol, which became Motorola, etm).

    3. Re:Palm didn't license their OS by adolf · · Score: 1

      If you're talking about the old PalmOS. The original Palm company was sold to 3M with the provision that Handspring (composed of the people who originally built and ran Palm) would get a license to continue building products with it. Third parties were never allowed to produce PalmOS devices.

      Palm was initially independent, then bought by US Robotics, and was sold to 3com (not 3M). Handspring wasn't founded until about a year after the 3com acquisition. Eventually, Palm was spun off on its own again, Handspring was recombined, then Palm split into separate hardware and software groups, and then reuinited. Most recently, the mess was bought by HP.

      Meanwhile, even Fossil once made a wristwatch that ran PalmOS. They even, allegedly, sold some at some point. Others have provided additional references to other PalmOS devices produced by third parties.

      Other than that, your paragraph is spot-on!

    4. Re:Palm didn't license their OS by CharlyFoxtrot · · Score: 1

      Huh, how did you get modded up for that ?

      Some of the companies on the List of PalmOS devices : Acer, Sony, Lenovo, Samsung. Granted none were very successful (though the Sony Cliéhad a small but dedicated following) but then that was my point.

      All the UNIX vendors withered but they made a shed-load of money before they did, some still do in their niche. I doubt Apple will want to dominate the smart phone business forever, just make money while there's still a lot of it to be made and then move on to the next thing. Then a platform can flower and die naturally instead of becoming an entrenched empire run by bureaucrats like MS.

      --
      If all else fails, immortality can always be assured by spectacular error.
    5. Re:Palm didn't license their OS by Anonymous Coward · · Score: 0

      If you insist on tying a platform to a single vendor, it will die.

      Based on what exactly? It's already been demonstrated to you that this in fact isn't the case at all. Just continually saying it won't make it anymore likely to happen either!

  46. Books and videos to get you started ... Ios by mikeskup · · Score: 1

    For ios.

    "beginning iPhone development" pub by apress. Might be a litlle out of date but a good starting book, it is easier to develop that shown in this book now, maybe a new version out now...
    " more iPhone development" by same ....

    " the iPhone developers cookbook" pub by adison welsy

    Some great videos on YouTube...

    Some great Stanford college classes online free too, if you sign up for the developer program then you can get many more videos free too from iTunes... And the beta tools and info...

    It's really quite simple, just a little different to get your head around....

    --
    locked out of this slashdot account for 10+ years... Im back
  47. Just pick one. by 91degrees · · Score: 1

    iOS is locked down which many geeks have issues with, and requires investment in Mac hardware (not an issue if you already own a mac). Android has a slightly smaller community and doesn't have the iTunes app store of you do want to sell your stuff.

    So there's a certain amount of give and take here. There's really not a lot in it unless you have strong objections to the issues with apple's hardware.

  48. Research your market first. by Freddybear · · Score: 1

    Figure out who you're going to be selling your first products to, and research what their preferences are. Then learn that platform, but also learn how to keep your options open so that you can port to other platforms as your expertise (and your potential markets) grow.

  49. HTML 5 by Anonymous Coward · · Score: 0

    Am I the only one who thinks it is obvious?

  50. Not sure if anybody's brought this up... by Anonymous Coward · · Score: 0

    Adobe AIR is cross platform... the regular arguments for and against AIR are basically the same as the age old Java vs. C++ discussion.
    If you're not writing a high-end 3D game or something, AIR will let you maintain one set of code for both platforms.

    1. Re:Not sure if anybody's brought this up... by profplump · · Score: 1

      "Cross platform" as in "closed source, closed spec, happens to have a runtime for certain version of linux on certain hardware running certain distributions"

  51. Re:Jesus phone by chartreuse · · Score: 1

    Andrew Orlowski really has a nasty attitude about Apple, doesn't he?

  52. My standard reply. by TodLiebeck · · Score: 1

    From a technical perspective, I'm impressed by both platforms.

    Be aware however that deployment of iOS applications to the general public may only be done with Apple's approval of your specific application. And unless you are targeting jailbroken phones, all revenue must pass through Apple. They may choose to reject an app for reasons stated in their developer agreement, or for unstated reasons: http://www.macworld.com/article/151680/2010/06/myframe_rejection.html

    The Android market's terms are more lenient than Apple's, and the Android market does not have a formal approval process of any kind. Apps may however be removed for violations of the Android Market developer agreement.

    But even then, Android phones allow the installation of apps from sources other than the Android market.

  53. You should probably go with Android by Anonymous Coward · · Score: 0

    If you are just trying to get back into programming and want to learn how to program again, I would go with Android. Programming in Java is easier than in Objective C for a beginner. Objective C, managing memory, etc = pain.

    If you want to start making money from writing your own apps right now, the money is in iOS. There are simply more iOS devices out there buying apps compared to Android.

    If you are going to take a while to get going writing your own apps, do Android. After Christmas there will be "enough" devices to make it profitable to write Android apps.

    If you want to make money writing apps for other people, learn iOS. Once you have an app or two published you can easily get a high paying job writing apps for a company. There are a moderate number of iOS jobs out there and *nobody* to fill them. There are no Android development jobs out there that I see. I would expect the Android jobs to show up in the next four to six months.

    - An experienced iOS developer

  54. Target The Web by TwinkieStix · · Score: 1

    The vast majority of applications you COULD write would work just fine as web applications. If you want to reach the largest audience with the least API-lock-in, think HTML/Javascript. Frameworks like Sancha, Worklight, Sproutcore, Phonegap, Rhodes, and jQueryMobile are providing an extremely good API that allows you to target the web browser so that you not only can have users on iOS and Android, but also Blackberry, Symbian, Windows Mobile, webOS, and any other touch-based web browser.

    These frameworks allow you to take advantage of the new features of HTML5 such as local/offline SQLight storage, canvas, drag/drop, OpenGL, etc. The main downsides are that you DON'T get listed in the various markets, you don't have access to many platform-specific features - notifications are still a little tricky, but I'm sure that there will be an open source app to handle web-based notifications in a multi-platform way in the future.

    I wish most of the apps in the Android/iOS Markets would just go away and become web sites, because they have no purpose as downloaded apps, including many games.

    1. Re:Target The Web by Mandrel · · Score: 1

      Yes, why not the Web.

      Some questions:

      1. Smartphone apps seem to be displayed in a grid, making them easier to launch than a website. Is a launcher app available that presents an app icon, but can be configured to launch a specific address in a specific browser? If not available, would a native app that just acted as a launcher for a particular website be accepted by the various app stores?
      2. Are browsers that expose JavaScript APIs for platform-specific features, like accelerometer data, available for the various phone OSs?
      3. Could you explain what you mean about notifications.
      4. Could you explain the advantages of writing a web-app in one of the mobile-specific frameworks you mention, rather than in a standard web framework that allows mobile-sized screens and touch input to be specially targeted.
    2. Re:Target The Web by Anonymous Coward · · Score: 0

      I agree, I would also add, learn HTTP properly. The is a mass of features in HTTP 1.1 that most seem oblivious to, only to try and re-invent these features in the Apps. Wrong!

  55. Anirudh Ranganath by Anonymous Coward · · Score: 0

    Tell you what...
    Screw them both. Dont learn a new language. Program for symbian. works fine on c++. And symbian is the market leader! And offers a million dollar prize for the best app for n8!!!

  56. It depends - perhaps neither by Anonymous Coward · · Score: 0

    This is the normal Apple vs Microsoft question, just with Apple vs Android.
    In the beginning, Apple had more market than Microsoft, but their corporate methods and 30%+ higher prices was lost on the masses.

    The same is happening with Android. It will be 90% of the market, but it will take a few years. Android isn't just portable devices - it will be in TVs, toasters, ice boxes, microwaves, AND portable devices like tablets, phones, eReaders. Soon your watch will be running Android.

    Ok, I don't like either choice, so I develop websites that only work with Nokia Linux-based portable devices. i-Whatever are specifically dumped to a page about consumer rights. Android phones are dumped to a page about computer privacy. My web site would probably work just fine with both systems, this is a personal statement.

  57. Go iOS. by MikeFM · · Score: 2, Funny

    I'd suggest iOS because it is harder to learn meaning you have less competition and more is a more unified platform meaning more potential customers will have easy access to buying your app.

    Also people who buy Android tend to be cheaper, thus buying the cheaper Android devices, and are less likely to spend a lot of money on apps.

    Of course why not learn both. Android is pretty easy to learn and most of the time it isn't difficult to port an app from iOS to Android or vice versa. Sure they're different languages but the app logic can be very similar and Java and Obj-C aren't horrible dissimilar. Tools exist to make the job easier too. Or if you're geeky you can write your own programming language that can compile to Android/Java and iOS/Obj-C. I've been playing with my own toy language which is similar to Python in syntax. Also did a little Brainfsck one but that isn't really practical. Was amusing myself with the idea of allowing users to script certain elements of a program in Brainfsck.

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    1. Re:Go iOS. by SiChemist · · Score: 1

      Also people who buy Android tend to be cheaper, thus buying the cheaper Android devices, and are less likely to spend a lot of money on apps.

      That's funny, because the best selling android phone costs exactly the same as an iPhone 4 with the same capacity. Maybe android phone buyers aren't cheaper, but more picky.

  58. Program on your own terms by Anonymous Coward · · Score: 0

    Neither. Both platforms force you to use a specific programming language. They don't give you choice of development tools. Apple limits how you distribute your programs. Both platforms actively try to make it harder for developers.

    Stick with the PC or find a mobile platform that is developer-friendly. I used to recommend Windows Mobile but it seems Microsoft thinks that developers had it too good and is locking Windows Phone 7 down.

  59. play the field by Anonymous Coward · · Score: 0

    HTML5 seems to the safest, long term way to go. Accessible from most things. Android and iOS will change, and fade away, while non-platform specific stuff like Java, HTML, etc hang around like a bad smell.

  60. Go with both for sure. by Gri3v3r · · Score: 1
    I made an application on Android and i checked Objective-C recently for a project.The target app is required to be written for Android and iOS. I was checking about applications' publication on the two platforms' stores and i stumbled upon the fees that are required for developer's registration. Android : 25$ iOS: 99$.(I admit i did not expect these fees.I am student and the project is an open source one for clearly educational purposes.I got disappointed a little.) Don't forget that owning a Mac is supposed to be a prerequisite for iOS development, since Apple does not support Windows (Although i found an IDE called Titanium Developer, that i am going to use).

    One is open source and the other is enough closed. However,I think approaching both platforms is the way to go.The more platforms you support ,the wider your potential customer base will be. Android = Java , iOS = Objective-C. Both have C as a base. I think you will be just fine.

  61. A four step decision process by shutdown+-p+now · · Score: 2, Informative

    If you want the money, go for iOS.

    Otherwise, if you are a FOSS adept, go for Android.

    Otherwise, if you have a Mac already, go for iOS.

    Otherwise, go for Android.

    1. Re:A four step decision process by baddybian · · Score: 1

      hehe,i have no idea about what you said

    2. Re:A four step decision process by Anonymous Coward · · Score: 0

      This is rated as informative? It's the stupidest advice anyone could get: "follow the money". First know what you like, then do it. Don't mind the money or you are screwed for life.

    3. Re:A four step decision process by shutdown+-p+now · · Score: 1

      Note that it starts with "if you want money". I generally trust people to be able to decide such things for themselves.

  62. Mods: WTF?!? by znerk · · Score: 1

    You've got to be kidding me.

    The parent is modded off-topic, then troll? A link to a method of accomplishing both the OP's objectives is totally on-topic.
    I could understand a lack of moderation due to apathy, but wtf is wrong with you, mods? The parent is on-topic, and I don't see how pointing out a system that functions on both android and iOS is any kind of troll.

    Perhaps there is something I don't know about sencha touch, which causes it to be an abomination of some kind?
    In that case, the proper response is to reply with the missing information, not moderate into oblivion.

    The only reason I can see for giving the parent any kind of grief is that it wasn't a clickable link.

    --
    Whoops, there went my karma...

    --
    This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  63. Not true by aclarke · · Score: 5, Insightful

    I hear people on /. saying this all the time and I simply don't think it's true. I've been coding post-university for > 14 years so I consider myself a "senior developer". I used to know c way back in the day, and have done some Java coding and a bit of C#, but Objective C still to me isn't "a few late nights" simple.

    Sure, a few late nights will let you pick up the syntax, but the real value of a platform, whether it's JEE, .NET or iOS development, are the libraries and everything that goes beyond the bare syntax. Understanding what method to use where takes a LOT more than just a few late nights. Additionally, every language brings with it its own pitfalls, security issues, etc., that a newbie developer is just not going to pick up right away.

    Sure, after a couple weeks of hard studying you can start to program in a new language. I'm not debating that. Additionally, some languages and environments are going to be easier than others. But the vast majority of developers are not going to be even nearly up to speed on a new language without having a severe impact on the timeline of a project.

    1. Re:Not true by thoughtsatthemoment · · Score: 1

      Sure, a few late nights will let you pick up the syntax, but the real value of a platform, whether it's JEE, .NET or iOS development, are the libraries and everything that goes beyond the bare syntax.

      I am a Windows developer who knows win32 and .NET very well and I am recently working on cocoa (the GUI framework on OSX and iOS). I can tell you cocoa is something between win32 and .NET, closer to the .NET side. If you understand a GUI framework on a abstract level, you'll quickly go from one platform to another within days, or hours if you find someone to tell you the most important stuff, like NSView is the base widget in cocoa terms. The problem I have is with Xcode, which opens way too many windows in the workflow, and it feels like a file manager on steroids, not really an IDE.

    2. Re:Not true by tgatliff · · Score: 1

      I am not going to disagree that some platforms are easier than others, but when you are paid to develop software for a living, if makes learning allot easier. Meaning, if you are not good at it, then you don't eat. :)

    3. Re:Not true by xtracto · · Score: 3, Insightful

      Spot on.

      I have been programming since I was 9 years old (LOGO, GWBASIC, Pascal, C, then C++ then Java) around 1988) and if someone asks me in what languages am I fluent I would just say Java, and C, because these are the ones I have used *for work* in the last 5 years (granted, I have also used a plethora other languages ,like PHP, python, ASM, some SQLs and whatnot).

      Some time ago I read an article by Joel Spolsky regarding this topic (can someone whore some Karma by posting the link? plz). The problem is that "newbie" programmers think that knowing a programming language is just a matter of knowing the control flow instructions, memorizing the keywords and maybe learning one or two library functions.

      However, the truth is when using a language for *production* code, there really is a difference between a guy who knows the ins and outs of the language, the subtleties, and just reading a book and doing a bunch of hello worlds.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    4. Re:Not true by Anonymous Coward · · Score: 0

      The problem is that you're focussing on languages.

      Just as a programmer who understands the fundamentals of variables, control structures, loops and so forth can easily switch between languages, someone who knows the fundamentals behind some specific concept can just as easily switch between frameworks. If you've done MFC with Zend and with Spring, then switching to ASP.NET MVC should be absolutely trivial. Similarly if you've worked with say, MFC and Swing, then you shouldn't strug to get to work developing for Android, or using Windows Forms and so forth. The same extends to security issues, security fundamentals are generally platform neutral, and methods for applying different security concepts can similarly be pretty standardised (i.e. use of ACLs).

      In a modern IDE, knowing what method to use is less of an issue, intellisense (or equivalent) will let you rapidly find the method you need, but it's amazing when you do jump into a new library how sanely named the methods actually are, more often than not you can guess. In the absolute worst case, just use the library documentation, but it's not a massive hurdle.

      It's a mistake to focus too much on the language and to belive all APIs are unique- sure, some are, but a GUI library will just about always share concepts with others you will have used previously.

      It becomes easier the more libraries and languages you use of course. If you you've learnt different paradigms like OOP, FP and so forth, and if you've used a few different frameworks then you should be able to use others of that type. The real limitation is of course time, it's unlikely someone will work with large numbers of GUI frameworks, large numbers of MVC frameworks, large numbers of web services frameworks, large numbers of NoSQL frameworks, large numbers of ORM frameworks and so on, and in combination with OOP, FP and so forth certainly, but there's no reason someone can't get pretty clued up on Zend, RoR, and Spring and then find the jump to ASP.NET MVC a fairly quick trivial task for example.

      You don't learn how to use JEEs crypto API, you learn how a crypto API in general works and about different encryption options, then you wont find any suprises when you suddenly try and use .NET's crypto API for example.

    5. Re:Not true by LongearedBat · · Score: 1

      A skill can be taught.
      An art is a skill that's been honed with alot of practice.

      I agree; too many people underestimate, or even fail to understand, the value of experience/practice/art.

  64. winmo 7 dude by Nyder · · Score: 1

    You know, MS is the company of the future.

    They have products that make everyone say "meh" (i think that means good, but i'm not sure yet).

    And since it already has a base of everyone in MS (that didn't throw it away of course, or sell it on craigslist), then

    ah, nm, I was going to be funny, but shit, MS sucks so bad, it's not even funny anymore.

    So if you have to ask, I suggest you don't bother. You've missed the boat.

    --
    Be seeing you...
  65. I used to think MS was evil... by Anonymous Coward · · Score: 0

    Until I bought my iPhone...

    Surprise, surprise! I cant write software for a device I own, unless I:
    - buy a fscking iMac or something
    - pay Apple an annual fee
    - get Apples approval to have my software available at Apple Store
    - buy a license for the software I wrote

    The thing isnt even capable of recording a phone conversation! A throwback to the 90's !

    I used to think Windows sucked and decided to give an Apple product a try. My feeling today is that Windows sucks because MS people dont have a clue of what goes on inside their OS. iStuff sucks BY DESIGN!

    I understand the iPad suffers from the same ailment. And you have to sit with your feet on your table to use the thing! Now, thats some user interface...

    Sorry, offtopic, I know, but I cant see the iPhone living too long with such ill-conceived (dis)funcionallity.

    1. Re:I used to think MS was evil... by jjohnson · · Score: 1

      I cant see the iPhone living too long with such ill-conceived (dis)funcionallity.

      And yet over 33 million iPhones have been sold to date. The iPad is closing in on 6 million sold. iTouches outnumber both. So conservatively, better than 80 million devices have been sold for which the app store is a reliable and reasonably secure facility through which to sell your apps.

      You're right, the whole thing is just a fad. No sense spending $60 on a programming book for it.

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  66. Bollocks by edxwelch · · Score: 3, Insightful

    There's something stinky about flash on mobiles. They tried to make it the next big mobile platform before (aka Flashlite) and it flopped.

    Three big flash developers Nitrome, Semi Secret Software and Astro Ape Studios, are rewriting their games for iPhone natively rather than using CS5, because flash is too slow.

    http://www.gamasutra.com/view/news/30368/InDepth_iOS_Flash_Devs_Cautiously_Optimistic_Of_Apples_New_Tools_Policy.php

    1. Re:Bollocks by object404 · · Score: 2, Insightful

      No. The main problem with Flash Lite was that it was always 1 or 2 generations behind the desktop version and it was a real headache as this left Flash Lite crippled in functionality (Flash Lite 1.x had no arrays - frikken arrays man! wtf?, Flash Lite 2.x had no cacheAsBitmap which would speed up performance, etc) and because of the different implementations, this left the mobile landscape very fragmented, and it was a real headache. I still get a lot of trauma flashbacks when I think of Flash Lite 1.x

      Now, since the desktop and mobile versions of Flash are essentially the same, this is no longer as bad a problem.

      As I mentioned before, you'd get optimal performance results on native code, but depending on the needs of your App, Flash should be enough. The Eco Zoo, a really cute and impressive full-3D Flash site with N64-level polygon graphics (built by Masayuki Kido aka ROXIK on his custom Sharikura 3D Engine) runs pretty fast on the Google Nexus One (and this is surprising because it wasn't targeted at mobile at all! See what real optimization can accomplish? Those Japanese coders are really crazy good!). This videoblog review by Thibault Imbault will show you actual Flash 10.1 performance on the Nexus One.

      Also, you mentioned you're doing this in the context of K-12. You can't go wrong with Flash then as it's the de facto standard for building multimedi animated and interactive e-learning content.

  67. jqtouch & phonegap by Anonymous Coward · · Score: 0

    I'm surprised nobody has mentioned jqtouch and phonegap yet.

    Amazing project. This is the future.

  68. phonegap by jessb · · Score: 1

    Phonegap works well on both. You can learn JavaScript, CSS and HTML and be done.

  69. Web by jon3k · · Score: 1

    Learn HTML5/CSS/Javascript. The web (and all the flexibility that HTML5 brings) will become the defacto, platform agnostic tool for mobile devices, just like it has for the web.

  70. If you know C, then iOS by gig · · Score: 1

    If you know C, then iOS, which is C. Android is Java. With Xcode you can make apps for iPhone, iPod, iPad, Mac, and potentially AppleTV. They are desktop class native apps, not applets that run in a virtual machine.

    As far as the market, Apple's App Store has 50 times the revenue of Android Market, operates in many more countries, and has a much larger installed base of users. iOS users specifically buy iOS devices and like to buy apps and accessories for them.

    It is also cheaper to develop for iOS, because you can buy an iPod touch for $229 with no contract and have the latest handheld hardware. That combined with the simulators in the dev tools is all you need because there is little hardware variation. The SoC in the iPod touch is also in iPhone, iPad, and AppleTV. With Android, you are talking about $500 devices and you'll need a few of them at least.

    Android's Dalvik engine is also under a patent suit from Oracle, and HTC is under a patent suit from Apple. On the Apple side you are working with an app platform with 20 year heritage back to NeXT and hardware platform with 10 year heritage back to iPod and 20 years back to Newton. It wasn't just cloned yesterday.

    1. Re:If you know C, then iOS by angloquebecer · · Score: 1

      It is also cheaper to develop for iOS, because you can buy an iPod touch for $229 with no contract and have the latest handheld hardware. That combined with the simulators in the dev tools is all you need because there is little hardware variation. The SoC in the iPod touch is also in iPhone, iPad, and AppleTV. With Android, you are talking about $500 devices and you'll need a few of them at least.

      Except you forgot to mention the cost of buying a Macbook/iMac..both of which are significantly more than $500. And if you really want to test for iPad, you'll need one of those too. Oh and the yearly license, so you have permission to run the apps YOU wrote on the devices YOU bought. I'm an iOS dev, but it is not cheaper to code for iOS.

      Android's Dalvik engine is also under a patent suit from Oracle, and HTC is under a patent suit from Apple. On the Apple side you are working with an app platform with 20 year heritage back to NeXT and hardware platform with 10 year heritage back to iPod and 20 years back to Newton. It wasn't just cloned yesterday.

      What does heritage have to do with it? I learned Obj-C using the NeXT library and modern iOS programming has nothing to do with those libraries, other than they are both (virtually the only) users of the Obj-C language.

      If he's just getting into programming again, I recommend Android. It'll polish his Java skills which he can actually use in other places.

    2. Re:If you know C, then iOS by MogNuts · · Score: 1

      Gotta call you out on this one. And for someone with such a low UID, you should be ashamed of yourself for posting such FUD.

      If you know C, then iOS, which is C. Android is Java. With Xcode you can make apps for iPhone, iPod, iPad, Mac, and potentially AppleTV. They are desktop class native apps, not applets that run in a virtual machine.

      Just no. The two are not the same. IPhone, IPod, and IPad are the same. Development is not the same for the Mac. They are totally different. And don't even put Apple TV in. Don't make things up to bolster your argument. It doesn't do anything but stream your library.

      It is also cheaper to develop for iOS, because you can buy an iPod touch for $229 with no contract and have the latest handheld hardware. That combined with the simulators in the dev tools is all you need because there is little hardware variation. The SoC in the iPod touch is also in iPhone, iPad, and AppleTV. With Android, you are talking about $500 devices and you'll need a few of them at least.

      Cheaper?

      1) Android doesn't require you to have a Mac ($800 for the cheapest Mac Mini 4GB RAM option) or even a device to test it on! In what world is $800 cheaper than free???

      2) Android doesn't require paying a recurring fee of $79, versus Android's no fee or $25 *one time* fee to put it on the Market. And again, don't make stuff up in regards to Apple TV.

      What the poster really should do is spend the time not on platform choice, but on identifying his actual audience and then thinking of a solution, not app, for that audience. For example, his target is K-12 schools. They pay out the noise for anything and don't give it a second thought. Maybe he would be better of developing an HTML version of his app, which is platform agnostic, and integrating a subscription feature for payment? That would generate more money than ANY app ever would. Recurring revenues with no cut to Apple.

      Business plans and marketing strategies exist for a reason buddy.

      Android's Dalvik engine is also under a patent suit from Oracle, and HTC is under a patent suit from Apple. On the Apple side you are working with an app platform with 20 year heritage back to NeXT and hardware platform with 10 year heritage back to iPod and 20 years back to Newton. It wasn't just cloned yesterday.

      Please. OS X Snow Leopard has absolutely nothing to do with iOS. They are two totally different entities. That's the same BS like that recent ad with Saabs where they compare their car to jet engineered airplanes. Saab today has absolutely no tie with the airplane company 70 years ago.

      Every company has patent lawsuits against them. It's common practice. The only reason Apple is safe is because everyone knows how litigious they are. They'll sue you for sneezing the wrong way. It just doesn't make ROI sense to sue a company that devotes a quarter of it's time suing people, because they might actually win.

    3. Re:If you know C, then iOS by Dr.+Sp0ng · · Score: 1

      Just no. The two are not the same. IPhone, IPod, and IPad are the same. Development is not the same for the Mac. They are totally different.

      No they're not. They use the same development tools, language, and base APIs. The UI toolkits are different, out of necessity, and iOS is missing many of OS X's frameworks, but the two platforms are very similar.

      Please. OS X Snow Leopard has absolutely nothing to do with iOS. They are two totally different entities.

      Wrong again. iOS is essentially a stripped down OS X with a new UI:

      iPhone4:~ mobile$ uname -a
      Darwin Take-2 10.3.1 Darwin Kernel Version 10.3.1: Wed May 26 22:28:33 PDT 2010; root:xnu-1504.50.73~2/RELEASE_ARM_S5L8930X iPhone3,1 arm N90AP Darwin

    4. Re:If you know C, then iOS by MogNuts · · Score: 1

      No they're not. They use the same development tools, language, and base APIs. The UI toolkits are different, out of necessity, and iOS is missing many of OS X's frameworks, but the two platforms are very similar.

      Every development language and its respective environment uses the same basic stuff. That's like saying because you know C, the development is the same for XBox as it is MacOS X. It's just plain wrong. They are not similar, and not similar devices. They may share some common libraries, etc., but programming for one isn't like the other.

      Wrong again. iOS is essentially a stripped down OS X with a new UI:
      iPhone4:~ mobile$ uname -a
      Darwin Take-2 10.3.1 Darwin Kernel Version 10.3.1: Wed May 26 22:28:33 PDT 2010; root:xnu-1504.50.73~2/RELEASE_ARM_S5L8930X iPhone3,1 arm N90AP Darwin

      Please. Other slashdotters may be in the dark, but I see through it. Spouting out a uname command to make it appear valid doesn't prove your point. If you were correct, that means I can run the full OSX environment on my PC. But I can't.

      Try again.

    5. Re:If you know C, then iOS by MogNuts · · Score: 1

      Correction. I meant to say run a full OSX environment on my PC by just copying over the Darwin kernel.

    6. Re:If you know C, then iOS by Dr.+Sp0ng · · Score: 1

      They may share some common libraries, etc., but programming for one isn't like the other.

      It's not "some common libraries", it's a common kernel, base system, and the exact same core libraries. Far beyond POSIX - iOS is built on NextSTEP APIs just like OS X, because iOS is based on OS X. For nearly everything except the user interface, the APIs are not just similar, they are identical (though sometimes the iOS version has some functionality removed).

      Even the OS-level filesystem layout is the same. /Library, /System/Library, ~/Library/Application Support, and so on, are all there and all serve the same purposes as in OS X. Unix stuff is hidden under /private. Devices under /dev use the same naming conventions. Apps are bundles, with an Info.plist and all else that you'd expect, that live in /Applications.

      These are not coincidences, and Apple didn't go out of their way to make them appear similar, because all of this is hidden from your average user anyway. It's similar because it's a different version of the same OS.

      If you were correct, that means I can run the full OSX environment on my PC. But I can't.

      No, that has nothing to do with what I said. Android is based on Linux, but that doesn't mean it's a full desktop Linux system, or that you can run Android on a PC.

  71. From a Developers Persp.They're Not That Different by Taliesan999 · · Score: 1

    Oh FFS Slashdot... will you please remember my long winded comment if I forget my passord on a different PC... dang it.

    Well anyway my response pretty much boiled down to...

    iOS has the users... Android has the flexibility and the growing market, but is a pain...

    Depends on whether you're striking out on your own, or you're looking for work... if the latter... just look at the job market and decide, which has more job ads where you want to work and on what... if the former... well Android is likely to have the larger market long term... but it's a shit to support with all the different O/S and device combinations... and that's assuming the iPhone doesn't ever get off of AT&T in the US (which I assume from your comments is likely to be your major market striking out on your own).

    Programming wise... if you're a programmer... i.e. one who can actually hold down a job and get some work done as opposed to a religious asshat, it's more about the libraries than the language.

    Yes there are a few subtelties here and there, but Java and C (and Objective C) are reasonably alike (actually as a Java programmer of 10+ years I prefer Objective C)... Memory management is a bigger issue in Objective C than in Java, but frankly if you'd rather ignore memory management when programming in Java, I'd rather not employ you.

    If you have some killer app that you have in mind... go for BOTH platforms.... not that hard... from a programmers perspective they're not that different. i.e. understand each platform's lifecycle etc. ...and yes, the comment is a bit rambling, but it's late, there is alcohol involved... and I'm a programmer who's been around long enough (I've programmed in X86 assembler) to realise that asking which platform to program for is kind of like asking which type of bread should I learn to bake, or which plan of house should I learn to construct (yeah, probably not great examples, but you get my jist).

  72. code for what you have? by Anonymous Coward · · Score: 0

    Seems kind of obvious to code for whichever device you have, you wouldn't have both would you?
    if you have neither, code for whichever device you like/prefer/agree with.

  73. Learn HTML/CSS/Javascript by DustDevil · · Score: 0, Troll

    If you learn HTML/CSS/Javascript you can target Android/IOS and the Web.

    Tools you can use include:
    Appcelerator
    Sencha Touch plus Phonegap

    You can read this article for more information and other options.

  74. It's About Software by salesgeek · · Score: 1

    Here's a question for everyone:

    Why haven't any apps emerged that are a reason for buying an iPhone or Android in and of themselves? What really caused empires to rise and fall has been software. For example:

    Lotus 1-2-3 and WordPerfect simply drubbed every other spreadsheet and word processor in the 8/16 bit era. They were simply the reasons that people bought PCs. (Apple survived on a niche market diet powered by HyperCard, PageMaker and Quark)

    MS Office and QuickBooks were the reasons people bought Wintel PCs in the 32 bit era. (Apple survived on a niche market diet powered by PageMaker and Quark)

    The difference between platforms is smaller in the 64 bit era... but Windows enjoys a great

    What are the mobile apps that are so compelling that they drive sales of devices? The closest thing to a killer app I've seen is Google Maps + Navigation for Android... but it's still not at the level that say 1-2-3 was against it's peers...

    --
    -- $G
    1. Re:It's About Software by cheesybagel · · Score: 1

      Some of them come bundled with the device itself. The web browser, music player, maps, book reading apps, are examples. I still use Stanza for book reading and X Comics for comic book reading. But Apple has launched iBooks, so I suspect these 3rd party book apps will eventually die even if it just for the convenience of not having to install anything. The non-Apple apps I use most on my iPhone are probably VOIP apps like Skype and Fring.

    2. Re:It's About Software by BonThomme · · Score: 1

      Augmented Reality. Followed up with bluetooth eyeglasses.

  75. Use Flash by devilsdean · · Score: 1

    Using Flash and CS5 you can export to android and i(fill in the blank).

  76. WHY NOT BOTH? by toby · · Score: 1

    There is room in any normal humanoid brain!

    --
    you had me at #!
  77. native vs webapp by Anonymous Coward · · Score: 0

    The real dilemma nowadays is between writing native apps (for every single OS out there) or wrtting webapps for all of them.
    With the current advances in javascript performance and the advent of html5, it's way easier and more intelligent to make your apps all web based.
    Check jquery.mobile to see what's coming...

  78. Develop for both! by Anonymous Coward · · Score: 0

    Why not develop for both at the same time? : http://www.appcelerator.com/

  79. Thanks for your time by HW_Hack · · Score: 2, Informative

    I want to thank the Slashdot community for comments - suggestions - perspective - etc. And yes even the zingers - diatribes - and "in my opinion .." posts. I knew this could be considered a flame-bait post but i have to be honest here ... I don't even own a iPhone or smart phone or an android device. So parts of this market are not obvious to me. However I have been testing/using an iPad for our school district and it has impressed me. I'll also say Apple got as many things wrong in the iPad as they got right. And I have so far only cursory insights into the SDKs for either device.

    So this was a post to help me gather more input. While I was indeed swayed towards android briefly --- I will take a serious shot this Fall - Winter - Spring coding in iOS environment. This is partially driven by my current work in K12 (Apple and i-devices have a strong pull) but also because Apple understands that average consumers don't care whats "under the hood" (open or closed environments) they just want easy to use devices and a "safe" one stop shopping place for apps. For all their faults - Apple has had the "corporate fortitude" to build the iTunes realm and foresight to make the app store. This is the part of the android ecosystem I find most concerning. There is no doubt Google could pull such things off if they focused on it, but IMHO Google doesn't want to invest the effort into it.

    Thanks for the all the fish ...

    --
    Its not the years, its the mileage .....
  80. Phone protocol sucks, Google App Engine for me by beachdog · · Score: 1

    I also looked into developing a cell phone application. My application hopes are modest: I don't expect to make much money and I don't have much money, and I prefer a $15 a month cell phone, In this setting, the android or a Linux based phones are the platforms I considered.

    The problem is, the entire cell phone field is divided into little silos. The field is just transitioning from "charge all the market will bear and insist on 2 year contracts." to the slightly more price variability. But cell phones are still bound up because they don't have a visible TCP/IP networking layer and a uniform port 80 service. The cell phone world is like the computer world in the era of bulletin boards and Compuserve.

    Thinking of my long gone Turbo Pascal, Mix C compiler and Morrow CP/M and RS-232 interfacing and 2400 Baud dial up connections, I for one realized that computer networking required "something more" but I didn't know what. Like everybody else, I worked my way through Novell Netware, and AOL.

    For my educational application, I see it as something a teacher would run on her desktop. I am using the Google App Engine cloud computing system with the Python programming language. Attractions are: cheap to get started, modern programming language, open source, and a simple development environment. Plus, my app will run on most any computer that a user has.

    I have an idea for a ride-sharing cell phone application that needs access to a GPS sensor, like dozens of other cell phone applications, the siloing just eliminates an app from running on most phones. A two dollar ride sharing event has broken economics if you have to buy a specific $150 phone and pay $2 a day for wireless service to support the application.

  81. Re:Yes Fuck Flash iT's bullshit like DirectX by mkrista · · Score: 1

    Flash will never be fucken installed on my N1 ever

  82. Re:Jesus phone by Anonymous Coward · · Score: 0

    Shit is not bitter....

  83. Apple is dead. Long live Apple. by Anonymous Coward · · Score: 0

    Android is the New Linux; destined to endlessly entertain the geeks, but no one else. The Evils of Apple control of a single platform that does not require users to spend half of their work-day, and most of what's left, to figure out how to get their non-conforming hardware/software/corporate IT/service provider to get back to the same capability before the .01B update, is what makes Apple the only choice after getting burned by the "more economical" freebies. Android is the best thing that could possibly happen to Apple.

  84. Its android Longterm by srinathhs · · Score: 1

    I would say go with android, you have all the flexibility and freedom to do wat ever you want and seeing the number of android devices being released to market i would say now except nokia almost everybody has switched to android (off course there is apple), but if you compare apple vs (the rest - nokia) i would really go for android. Even i was in a similar situation , and android really rocks..!! And for the apple, well you can take it as a second option , but remember its all programming languages and api stuff if you learn one the rest are just find replace of specific api methods (tat's not as simple as it sounds, but still).

  85. bollocks by mjwx · · Score: 1

    That is completely retarded. Of course you still need to market your application unless you want it lost in the sea of mediocrity that is the ITMS and the Android marketplace

    There are simply too many similar applications, you can't just expect users to automagically find and install your application. You need to market it and make sure people can find it when they are looking for the functionality your application provides

    --
    Calling someone a "hater" only means you can not rationally rebut their argument.
  86. Study Both and Don't Quit Your Day Job by MichaelCrawford · · Score: 1
    There are more Android devices sold these days than iOS devices. Apple has a higher individual market share, but lots of companies are making Android devices.

    Both Java and Objective-C are easy to learn and work with.

    I've been searching for a mobile app programming job for a while. No one even wants to interview you unless you can provide the name of at least one App that is already in the App store.

    I'm working on an implementation of Conway's Game of Life for the iPhone. Here is the manual. Here is my call for beta testers.

    It's going to Alpha in a few days as it is stable and nearly feature-complete. I'll finish writing the manual during Alpha and Beta test, then as soon as I submit to the App Store, I'll write the whole thing over again in Java for Android.

    Both systems have limited resources and tiny screens. You often have to solve the same UI problems for both systems, but there are some differences that mean your UI solutions will be different between the two platforms.

    Android App Development is to be distinguished from Android Platform Development.

    Android Apps are written in Java, are directly visible to the user and are user-installable.

    The Android Platform includes the Linux kernel, the Dalvik Java VM and the various userspace middleware libraries. The kernel is written in C and assembly code. The middleware is written in C and C++. The Android API includes libraries written in Java.

    If you're going to develop for Android, you should learn both App and Platform development. Which one you do in the long run depends on your personal abilities and preferences, but even if you only develop Apps, it's useful and helpful to understand the Platform.

    As for documentation... Apple has always had the best developer doc. They also have very good developer mailing lists with active participation by Apple engineers. Thus if you have never done any mobile development at all, I'd start with the iPhone.

    However, iPhone development requires an Intel Mac. Android can be done on Mac or Linux. If you don't have a lot of money and don't own a Mac, start with Android while you save up the money for an Intel Mac.

    A Mac Mini works just fine for iPhone Development, but to sell yourself as a developer, especially if you want to do independent consulting, you'll need a MacBook Pro laptop. Those are way expensive.

    --
    Request your free CD of my piano music.
  87. Android by Anonymous Coward · · Score: 0

    * Which programming environment (iOS or Android) is easier to jump into from a technical perspective / number of languages needed to master?
        That's hard for me to decide. You need to learn Objective-C for iOS, and Java for Android. On iOS you can easily mix your code with pure C and even C++. On Android, native code requires a little more effort, but is also well supported. When it comes to languages, both platforms are pretty easy to master.

        Objective-C is somewhat tricky in that it manages object lifetime by explicit reference counting, and then garbage-collects objects with a zero reference count during the main UI run loop. Unfortunately any function you call can yield to the main run loop, making it simply unknowable whether an object you created in one line of your function exists a few lines down after a call to another function. In Java, memory management is less manual, and more predictable on the whole.

        My biggest argument for Android over iOS from a technical perspective is that the platform APIs are generally a bit saner, by which I mean they suffer a bit less from http://www.codinghorror.com/blog/2006/10/on-frameworkitis.html

        Other than that, both platforms have their flaws. I've found Android a bit more comfortable on the whole.

    * Which one has a better SDK ecosystem of documentation, programmer support, and developer community(s)?
        About the same. When you encounter a bug in the operating system code, Google is a tad more likely to respond, but they'll still take too long for it to be useful to you. At least you have open source code then that you can peruse and decide how to work around the bug.

        Really, I'd go as far and say that Android has vastly better documentation, simply because you have the code. But it's not everybody's cup of tea to solve their problems that way.

    * Where is the market and the money going?
        iOS apps still sell better, but the Android market is growing rapidly. If you buy what market analysists say, the future should belong to Android, but the present is firmly in iOS's hand (saying that, it depends a bit on where you look. The USA has a far larger Android market share than Europe, and Asia seems to be dominated by Symbian).

  88. Who is going to run your apps? by Duncan+Booth · · Score: 1

    So far as I know, you can't install an app on an iPhone unless either its a developer's iPhone or your app is in the store. You can install arbitrary apps on Android phones. If you want to write apps that will be of use to your colleagues or the students but not much use to anyone else then you may be best to learn Android programming just so you can distribute them locally without having to submit them to either app store (assuming of course a reasonable proportion of the potential users are using Android). Otherwise, if they're all iPhone users or you want to target both, you might want to stick with writing web applications (or use an environment like Titanium Mobile to develop for both).

  89. Most of them by Rix · · Score: 1

    Dell, HP, IBM (their PC division is quite healthy as Lenovo) are all going strong.

    How many of the old UNIX vendors that tied their implementation to overpriced hardware are still around? Sun is now Oracle's bitch, and SGI has been dead for years. IBM still supports legacy installations of AIX, but they're more about Linux, which is why they're still around.

    But yeah, Apple will be different. OK.

    1. Re:Most of them by Anonymous Coward · · Score: 0

      Dell, HP, IBM (their PC division is quite healthy as Lenovo) are all going strong.

      http://www.wolframalpha.com/input/?i=apple+vs+dell+vs+hp+vs+IBM With the exception of IBM, who no longer sells personal computers anymore, Apple stronger than them all.

    2. Re:Most of them by itsdapead · · Score: 1

      (Late reply - I've been away)

      Dell, HP, IBM (their PC division is quite healthy as Lenovo)

      1. Dell weren't involved in the "Early desktop market" referred to in the GP post. They're young whipper-snappers, founded in 1984, making PC clones. We're talking about the early desktop market, the contemporaries of the Apple II - Commodore, Radio Shack (they're gone in the UK, if they still make PCs US they're just PC clones), OSI, Exidy, Sinclair/Timex...

      2. Lenovo isn't "IBM's PC division". Lenovo bought IBM's PC division. IBM bailed from the PC market, despite being the "winning" platform of the 1980s platform wars.

      3. I'll give you HP as they did indeed have their own pre-IBM desktop platform, although it was targeted at scientific and technical use rather than the general desktop market.

      Of course, you could argue that Apple switched to making PC clones in 2005 - but they're still running their own OS and firmware.

      How many of the old UNIX vendors that tied their implementation to overpriced hardware are still around?

      I think the key there might be overpriced. Apple make premium-priced hardware. Overpriced products cost more than people are willing to pay - premium priced products, people actually buy.

      Jobs' NeXT workstation was overpriced and he paid the price.

      Of course, makers of Unix workstations have also had their lunch eaten by generic PCs with cheap, high-performance graphics cards (graphics was Sun and SGI's USP) and free Unix-like OSs.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  90. Rhomobile? by adamgolding · · Score: 1

    I don't know much about programming, so I'm wondering:

    To what extent does Rhomobile solve this question?

    http://en.wikipedia.org/wiki/Rhomobile

    It claims you can write something that compiles for all devices. What are the limitations to this approach?

  91. Righhhhht. by Mathinker · · Score: 2, Informative

    Insightful? I rather doubt that "Angry Birds" is the average development model, especially for someone who looks to Slashdot for free advice:

    The initial cost to develop Angry Birds was estimated to exceed €100,000, not including money spent on the subsequent updates.

    Don't know about you, but I'm not about to put up $134K of my own money for a chance to make it rich from the iOS marketplace. (Yes, they sold ~6.5 million copies --- in this case.)

  92. learn to program by Odinlake · · Score: 1

    Should I Learn To Program iOS Or Android Devices?

    Learn to program instead.

  93. Forget native apps by Transfinite · · Score: 1

    For the long run forget native apps. Learn HTML5, the API's properly and most importantly HTTP properly. Yes HTTP. for example CORS, HTTP Upgrade / 101 response. Imagine what you could start to do with that. We are entering an era of proper, dyed in the wool, web applications, Real ones, not just 'websites'.

  94. Having written for both... by FellowConspirator · · Score: 1

    To the best of your ability, write in HTML5 and JavaScript, which is more or less 100% portable between the two platforms. Now, that's not going to get you all the capabilities of a native application, but for many things it's more than sufficient and cuts out a huge amount of grief.

    Failing that, I'd say learn both, but pick one to start and don't go with the other until you've fully mastered the first.

    Chance are that you probably already have Java skills and no particular familiarity with Objective C. In that case, Android (programmed in Java) is likely to be easier to pick up. The key to either platform are the libraries, and those, not the language, are where the learning curve is. You'll find that each platform removes tedium from one part only to put tedium somewhere else. If you are really comfortable with iOS and Objective-C, I'd say developing a quality native-feeling app for it is much faster and easier. Getting to that point, however, involves a huge investment of time.

    Android buys you a much wider array of devices and platforms that look like they will probably surpass iOS is market (unless something drastic happens with iOS exclusivity). That variability does add a little extra effort on the developer's part - particularly because many versions of Android are in play at the same time (in part because vendors don't always make it possible to upgrade -- whereas iOS is a little better in that respect).

    Anyway, I'd advise using the browser rather than native apps whenever possible. Failing that, learn both to hit the biggest audience, learn Android if you have no particular devotion to iOS, and learn iOS if you know that the demographic you target is more likely to purchase your app on iOS. I wouldn't say that Android or iOS development are particularly difficult to learn, but both take time, and the effort learning provides no help in learning the other. That said, we are so much better of today than we were before Android and iPhone hit the market.

  95. OT: Slashdot should have a "careers" section by walterbyrd · · Score: 1

    Certainly careers are a major concern to slashdot's core audience. And such a section would be far more relevant than many of the obscure and/or obsolete sections that slashdot maintains.

  96. Learn the platform that works best for your market by Anonymous Coward · · Score: 0

    What market are you going to write for? Corporate? Gamers? Gen Pop?.,,, Write for that market

    Personally I think that IOS has a better chance than android at being adopted by corporations. iPads, in my opinion, have a lower total cost of ownership and are more secure.

    For regular folks, it's a total toss up. I'd still recommend picking one and getting good at it.

    I'm in the process of learning IOS and could not imagine trying to learn another platform at the same time.

  97. Re:very sarcastyc by Anonymous Coward · · Score: 0

    very sarcastic.

  98. Let's not forget the biggest villian - Verizon by Lysol · · Score: 1

    For those of you that don't remember developing a Brew or J2ME app for a Verizon device, let me refresh your memory.

    * $15k submission fee - *non refundable*
    * A 2-4 weeks biting your nails period to see if you app 'qualifies'
    * If not, bend over, submit $15k again, repeat

    Or, bail on Verizon all together.. Which I know many devs who did.

    Now, that being said, it's amazing how much the big V is never discussed in regards to all this open/closed stuff. I guess many people just never had to deal with them. They're not the shining white knight that people think they are. Crippled phones, crazy fees for stupid stuff. I dunno, if the iPhone does come out for Verizon, I'd have to really read the contract before I switched. While their cell service is far superior to AT&T (and yes, AT&T is teh crap), their policies are worse.

    And right now, it is Verizon, not Google, that controls Android...

    1. Re:Let's not forget the biggest villian - Verizon by EvilJoker · · Score: 1

      And right now, it is Verizon, not Google, that controls Android...

      Umm, what? Android is readily available on all major carriers, and a few regional carriers.
      Furthermore, Verizon is contractually forbidden from crippling the original Motorola Droid.

      If anything, it's the handset makers that control Android- HTC and Motorola are the ones in a position to exert some real influence. The only way any carrier can really throw their weight around is to not allow devices that don't meet their requirements (e.g. AT&T not allowing sideloading) but it's still on the shoulders of the device makers. Recently, there was a big deal about a Samsung Android phone that went with Bing. In the end, it was a decision by SAMSUNG, not VZW, although I'm sure there was a lot of money changing hands.

      Yes, VZW used to be unbelievably bad about all of this stuff (main reason the iPhone went to AT&T- Apple demanded to keep control of it, VZW at the time was absolute in controlling everything on their network) but they have made improvements, at least on smartphones.

  99. HTML 5 - choose the eventual winner by Anonymous Coward · · Score: 0

    Skip both platforms and learn to develop for the web. There is very little a native app can do that an HTML 5 app can't. Apps are a fad that will quickly be replaced by the ubiquitous approach of HTML 5 - develop once, run on all platforms. Developers want this and will start to push harder for it now that HTML 5 is gaining wide platform support. We've seen the pattern before.

  100. Re:Jesus phone by Anonymous Coward · · Score: 0

    MOD PARENT UP INSIGHTFUL

  101. Linux Power Management by michaelok · · Score: 1
    Maybe, we'll see I guess. Think there are definitely some advantages for Apple to maintain tight control over the licensing, that means Apple is in this case, the company that is more nimble.

    One thing you are seeing now is the proliferation of versions of Android out there. In other words, maybe Google is making the same mistakes Microsoft did with "DLL hell", only much worse. This would seem to me to make it difficult for the third party vendors out there. With Apple, I have to test for iOS 4.1, 4.0, 3.2, 3.1, maybe iOS 2.0. With Android, throw in more versions, and more hardware, and you've got some additional complexity.

    Another interesting advantage of iOS is that Apple doesn't have to convince Linus, as Google does, to make a change to Linux to support devices vastly different from the typical hardware Linux runs on, from big iron like IBM mainframes, to powerful Unix servers, to laptops. There was a fascinating thread on the Linux Kernel a while back about Linux Power Management, all about sleep mode, etc. Fascinating in that it gives insight into the tremendous amount of thought that goes into what might seem a trivial problem, but then you realize how this might impact other systems, well, it isn't so simple. Is this due to Linux monolithic kernel, vs. the mach kernel used in iOS? Just a thought. Anyway, it occurred to me reading this thread, that Apple has a significant advantage in not having to convince a third party to make a change like this.

  102. Quickconnect is easy by Anonymous Coward · · Score: 0

    You could try this,
    http://sourceforge.net/projects/quickconnect/
    it lets you write the app in html, javascript and css, then you can have it work for several platforms (ios, android, blackberry, etc.)
    It's super easy and works great.

  103. Commodore 64...? by BatGnat · · Score: 1

    It is the Biggest selling computer of all time.....

  104. historical note about Objective-C by peter303 · · Score: 1

    Back in the 1980s Steve Jobs started his workstation company NeXT. His staff was pretty forward-looking and deduced the cutting edge software would be written in an Object Oriented paradigm. However there was almost nothing commercially supported out there, with exception of Objective-C. Many people thought a "C"-like language would be the future. C++ was mainly a slow, buggy research lab project at the time. But because it mostly free and you could see the source, the open-source community gravitated toward it and improved it. And the rest is history. Save Apple still stuck in the 1980s.

  105. Re:Apple is dead. Long live Apple. by Anonymous Coward · · Score: 0

    Idiotic. As the Android market saturation accelerates, the iProducts will be seen as an expensive niche for people who see them as a lifestyle choice, just like they are in the desktop/laptop arena.

  106. It's madness NOT to learn iOS by jondpearson · · Score: 1

    You ask a great question, but it seems to be two questions:

    1) Should you upgrade your skills to programming applications with one of the popular smartphone OSes?

    2) Which OS?

    To the first, the overwhelming answer is ABSOLUTELY YES. I recently ( AUgust 30) wrote on my blog for embedded microcontroller designers my own feelings on this subject: why someone designing/programming in an unrelated field should learn to develop iPhone apps (PSoC Design Methods and Madness).

    My answer to the second question is choose iOS and learn to program for iPhone. The main reason for is that I believe Apple has the bar-setting tools and they reinforce learning how to develop great applications. For instance, in the interface tool there are automatic guides that support laying out buttons so they are well-placed: not too close to edge or each other and not too small.

    The disadvantage of iOS is that to distribute apps you need to pass the review board and get them into the app store. This is not, in my mind a disadvantage. It means that there are a set of minimal requirements that need to be met before distributing an app, and that when you get an app yourself off the app store these requirements have been met. And if you can get friends who trust you to let you disposition their iPhone or iPod Touch for testing, then you can load your app on their device before it gets in the app store.

  107. Android pod touch by tepples · · Score: 1

    Gartner groups predicts that by 2014, Android based phones will outsell iOS phones - simply because it will be on more platforms.

    At what point did Gartner predict that Android based MP3 players will outsell iOS based MP3 players (iPod touch)?

    1. Re:Android pod touch by Anonymous Coward · · Score: 0

      Around the same time as they predicted that Android based ebook readers would outsell iOS based ebook readers, and Android in-flight-entertainment systems would outsell iOS ones.

  108. If you want to make money iOS hands down by llZENll · · Score: 1

    Andriod users like free stuff, its easy to hack Andriod, its an open platform, therefore it attracts all those who think all software should be free, weather its authors believe so or not. Do some searching about iPhone vs. Andriod conversion rates, software sales, piracy. I remember reading an article about a #1 selling iPhone app developer making Andriod versions of their games, full sales data released, they had the #1 Andriod game and made 1/20th of what they make on the iPhone. Piracy rates on iPhone are 5-50%, on Andriod is more like 95%.

    1. Re:If you want to make money iOS hands down by hazydave · · Score: 1

      Ok, Steve, settle down and stop spreading FUD. People will still buy your devices even after Android has permanently secured the #1 spot for handheld devices.

      --
      -Dave Haynie
  109. For your application, neither by foxylad · · Score: 1

    In the education sector, the apps you will be developing will be probably be informational, and your clients will most likely have wifi network access. In which case I'd suggest you developing web apps, so you only need to develop a mobile and a standard interface. Then they'll be available to everyone, and you only have to learn one very well-understood platform.

    --
    Do as you would be done to.
  110. Not the same at all by SuperKendall · · Score: 1

    On the same premise he should be doing Android period. Android also has an ndk which allows C/C++.

    But that's really different than being able to code in the primary language and slip into C, or being able to easily make any API call they like with no obtuse bridging involved - you could add just a single ObjC call in the middle of a C function if you like, but for the NDK you'd have to call some C variant of the Java call, if the call even exists...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  111. Close, almost... drop the "as many..." by LostMyBeaver · · Score: 1

    As a developer you'll be far more valuable if you're able to deliver and app no matter what the platform is.

    The idea is, the platform, the language etc... is entirely irrelevant for an engineer. My personal definition of an engineer is either "A person who can produce the most complex solution for the simplest problem" or more applicably to the discussion "A person who can identify a problem, break it down into smaller easier problems, posit solutions for each one, design and/or implement each solution therefore solving the problem".

    Writing an application is a big problem. You need to identify "Do we need it?", "What should it do?", "Desktop, mobile, specialized device?", etc... once you've identified that you're interested in writing a mobile application, you can then identify whether it should run on just one platform or be platform neutral. If it's platform neutral, can a "core functionality" be identified and written as a library which will compile for any device of interest. Then you can implement the UI for each device as needed.

    Problem is, unless you're using Adobe tools or maybe Unity3D (for the moment, which means you'll have to reinvent some major wheels at times) there isn't a common programming language for the mobile platforms. Apple has C/C++ support (then stick it in a ObjC wrapper), Android has C++ support... with effort, then make a Java wrapper. Windows Phone 7 tries to pretend like C/C++ doesn't exist, but I've heard of success of using it through managed extensions. Symbian if you actually consider that platform worth bothering with has C/C++ with Qt which is kinda nice. And Blackberry (another annoying waste of time) will require a bunch of rewriting everything for Java. (I hear you can use C/C++ but at your own risk). Brew doesn't even count, that platform is a programming disaster.

    People are trying to make cross platform solutions for phones, but Apple, Google, RIM, Nokia etc... are making this as complicated as possible. MonoTouch is okish and Air is also okish, but you'll have limits on them both as opposed to programming natively for each.

    What I have been doing is to write all my core libraries in C#, but "typedef" all your types to something native to your code. Then for strings, subclass String and add functionality to it to make it work like the one from Qt. C# is great because it borrows so heavily from C++ AND Java. If you code like this, then you can make a simple script that will convert your C# to either C++ or Java without any intervention and then porting is EASY!!!!

  112. ROTFLMAO by ymenager · · Score: 1

    Ha ha ha ha ha ha

    ha ha ha ha

    *ROTFLMAO*

    HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA

    *Snif*

    Ha, good joke, that was a really good one. *wipes tear of laughter from eye*

  113. From someone who's done both... by Carpathius · · Score: 1

    After 371 comments, you probably don't need one more, but since I do development for iOS, as well as a bit for Android, my take on the matter might be worth a few sentences.

    Probably the most important thing you should know is that if you're going to use the Apple dev kit as your primary development platform, you'll be using Objective C. Unless you already know Smalltalk or Obj C, it may well be difficult to get a handle on. It's very different than C++ or Java or pretty much anything else in both syntax and method. If you're thinking your C skills will get you through, well, not really. You'll still need to learn a whole new syntax, and that syntax is, let me say again, *very* different from most other languages.

    Android uses Java, and if you haven't already used Java, you've probably used something close to it.

    There are also several platforms out there that allow you to write once then compile for both. I happen to use Corona SDK which uses Lua as it's development language, but it's certainly not the end-all of development for iOS.

    If you're looking to actually make money, I suggest writing for Android. It's easier to get seen on Android than on the App Store, and response seems to be a little better.

    Sean.

  114. Neither! by tandelaf · · Score: 1

    I read somewhere that only 1% of iOS developers make more than $500/month. I'll take my chances at the casino or the stock market.

  115. Neither by Anonymous Coward · · Score: 0

    They both suck. Use QT on Nokia if you actually care about, you know, market share and powerful programming environments.

  116. Thats is their business model ... by giorgist · · Score: 1

    That is their business model. They are desperately trying to hold on to that.
    They are trying to inovate faster than open devices. It seems like they might loose the lead.
    iOS will continue to make money. In fact alot more for a long while as their margins are much higher.

    Apple create an environment that attracted developers and a particular type of app.
    Google created a different environment that competes in attracting developers and creates aparticular type of app.

    For example, my iPhone bearing friend showed off his ringtone app. He has a song he likes, he brings up his app.
    He edits the song and saves it as a potential ring tone.
    When he goes home, he will be able to sync it and be able to select it as a ringtone.

    I (android phone) said .. hmmm ... so I brought my equivalent app, I proceeded in the same manner without the go home and sync part.
    The whole thing worked in front of him in 2 mins

    His next phone will not be an iPhone now although he will forget, because he is an apple fanboy