10 ms·
Here is a nice comparison. Buy a mobile device and try to use the standard developer tools to put Hello World on it. Android: Download Eclipse (Windows, Linu
by rogerbinns 14y ago
Here is a nice comparison. Buy a mobile device and try to use the standard developer tools to put Hello World on it.
Android: Download Eclipse (Windows, Linux or Mac) and the Android SDK (Windows, Linux or Mac) - no accounts or registration needed for either of these. In your phone menus enable development and connect via USB. In Eclipse make your hello world project, and hit Run or Debug. Enjoy.
Apple: You must buy a Mac. In the App Store (requires an account) or the developer site (requires an account and registration) download Xcode. Create your project. Connect the phone via USB. Right click to enable it for development and then do some song and dance with Apple to get permission to use "your" device for development. (I haven't yet worked out the exact dance required and how much it costs.)
I don't know what it looks like for WP7 but assume it is substantially similar to Apple.
- Rudism 14y agoThe Apple song and dance involves creating developer certificates, project-specific code-signing certs, installing them all on your Mac and your device, and then setting up XCode to use the correct certificate combinations for the correct projects in the correct environments when signing the code (I can't say for certain how this all works because I basically trial-and-errored it until it miraculously started working). It is free (with your account) as long as you don't want to distribute your application on the app store, or even use it on your own device without having to renew your code-signing certificates every few months. Otherwise it's $100/year.
- rogerbinns 14y agoI still haven't figured out how to do the song and dance. (All I want to do is run hello world on "my" device.) You eventually end up at this technical note, which of course leaves out any links: http://developer.apple.com/library/ios/#technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-REQUIREMENTS_FOR_CODE_SIGNING http://developer.apple.com/library/ios/#technotes/tn2250/_in... How I become a team (of one) admin, or where to find this "iOS Provisioning Portal" are of course left out.
- eludwig 14y agoThis process is truly the most cryptic thing to ever come out of Apple from a developer standpoint (30 years developing Apple software). Amazing that this comes from the company for the rest of us. Believe it or not, it is super streamlined now compared to what it was like when it first opened for business! All of this effort to keep you from writing software for something you bought. I can understand the hoops if you want to sell your app on the official Apple store, but I think it would be very reasonable to allow devs to create and sideload apps. It's your device, your risk. That seems like a post-Jobs compromise that everyone could live with.
- rogerbinns 14y agoThe net result is that if anyone just wants to play home hobbyist I sure won't be recommending going the Apple route. Then again I suppose Apple is keen on keeping the riff raff out! Even installing Xcode was a nightmare for me. It was a brand new Mac so there were a whole bunch of system updates. I told it to go ahead and do those. In App Store I found Xcode and said to install that. You don't get any indication of progress at all. A while later I came back to the machine to discover it wants to reboot, so I let it. Can't find Xcode anywhere so I look back in the App Store. There is an install button but clicking it has no effect. My best guess is that it never occurred to anyone at Apple that a 1.8GB download could be interrupted by a reboot (from Apple's own system update tool) and that being able to continue would be useful. I had to do lots of Googling before figuring out I wasn't the only one and I could do a manual Xcode download from Apple's developer site. Then it took a lot of faffing around to figure out /Developer versus /Applications and how things were looking for it. I'm still not sure it is right, why I have to create symlinks but at least everything works. For me the single most amusing thing about Macs and the legendary attention to detail is how the first thing I did was use Finder to go into Applications. Despite being on a 1920x1200 screen the default Finder window size is smaller than the Applications view so there were both horizontal and vertical scrollbars to look around the contents. Why can't the icons auto-arrange based on window width? If using a fixed area, why default to a window size smaller than the fixed area? Why default to postage stamp sized window on such a large screen?
- LinXitoW 14y agoI had to learn Objective-C, how to use a Mac and Xcode inside of a month, because the company we normally outsourced this kind of development to didn't have time. Never in my wildest dreams would I've guessed that the actual programming would be the easiest part.
- oldschooltaper 14y agoPrecisely. Apple is all about hoop jumping. Remember your first iPod? Chances are you were forced to use something called iTunes. Now people do not think twice about iTunes. But back then there was just no sensible reason, from the user's perspective, not to let a user add/remove music from an iPod without jumping through an additional hoop. People had to spend countless hours deciphering the protocol in order to build programs that could do what iTunes did: add/remove music. Out of the box, the iPod was literally unusable without first installing some Apple software. No matter how wonderful the design of an Apple device, the hoop jumping just becomes increasingly tiresome. I'm too tired to do the Apple dance.
- Tloewald 14y agoThe alternative at the time was to buy an mp3 player with no way for normal people to load or buy music. It's precisely because of the lack of hoop jumping that iPod took off. Don't confuse the customer experience with the developer experience. Apple has always considered ease of use for end users a top priority and ease of use for programmers to be a distant nth.
- userdeveloper 14y agoWhat if a developer is also a user, or vice versa?
- user-developer 14y agoWhat if a user is also a developer, or vice versa?
- jiggy2011 14y agoDragging something onto a removable disk is hoop jumping?
- userdeveloper 14y agoThe hoop is not using the software. The hoop is having to install the software. Why can't the iPod work without iTunes? (It can, but only with a lot of work.)
- swedenborg 14y agoyeah . in WozOS it cost 10 or whatever he says ... only ...
- Tloewald 14y agoInstalling xcode is staggeringly more pleasant than installing eclipse in my experience. The developer certificate song and dance is a total pain in the butt, but note that you can test and build your hello world for iOS without a device at all, no hoops to jump, and it works really well.
- myko 14y agoReally? The App Store makes Xcode installs fairly easy (though upgrading from pre-App Store Xcode breaks things in my experience), but what could be simpler than downloading Eclipse's zip, and then unzipping it? Or do you mean it's a pain setting up the Android SDK within Eclipse? This could certainly be more stream lined (though I think it's fairly simple to setup as well).
- bad_user 14y agoInstalling xcode is staggeringly more pleasant than installing eclipse in my experience People saying that don't really know what they are talking about. Installing Eclipse involves these steps: 1) install Java, which on my Ubuntu is just "sudo aptitude install openjdk-6-jdk" and that's it 2) download an archive from Eclipse.org and unzip it somewhere 3) there is no step 3 Installing the Android plugin is equally easy. Then there's always IntelliJ IDEA which is probably the best IDE and comes with Android integration built in. The community version was recently open-sourced too.
- Arcanum-XIII 14y agoXCode : open the app store, search xcode, click install. Done.
- glogla 14y agoAfter you registered on the app store, which requires giving them name, sex, email, address, phone number and going through the account validation email and "password must contain X special characters and you need six different security questions" hoops. Last time I checked, Java SDK or Eclipse didn't want my A/S/L.
- wluu 14y agoFor WP7: - Download the SDK (free), which includes Visual Studio (For Windows Phone) Express IDE. It also includes an emulator tool. http://create.msdn.com/en-us/home/getting_started http://create.msdn.com/en-us/home/getting_started Obviously only runs on Windows. - To deploy to your phone, you'll need to become an app hub member ($99 per year). Or there's numerous ways to unlock your phone for app deployment (if you search hard enough). And then you can just deploy from within Visual Studio to a USB connected device. http://msdn.microsoft.com/en-us/library/ff928362(v=vs.92).aspx http://msdn.microsoft.com/en-us/library/ff928362(v=vs.92).as... There's probably more to it, but I personally have yet to deploy a WP7 app to a device. I've written a few test apps though. Also, found this blog (first in a series of a few) that attempts to develop an app using Visual Studio (for WP7 dev), Mono Touch (for iOS dev) and Mono Droid (for uh, Android dev)... Might be of interested to some: http://nicksnettravels.builttoroam.com/post/2011/04/04/Windows-Phone-7-Android-and-iOS-with-Mono-I-Getting-Started.aspx http://nicksnettravels.builttoroam.com/post/2011/04/04/Windo... And the rest of his articles are easier to get to via the archives - http://nicksnettravels.builttoroam.com/archive.aspx#Mobile http://nicksnettravels.builttoroam.com/archive.aspx#Mobile
- ConstantineXVI 14y agoWP is utterly painless re: deployment; plug it in, give it a dev certificate (automated, you only sign in to apphub), and hit run from MSVS. What I was more impressed with, they handle signing your xap for release as well; it's all automatic (slightly less so on Android, much less so on iOS).
- rogerbinns 14y agoWhat specifically do you have to do to get that dev certificate? Is that for you or for the device? (Note I'm only talking about the case where you want to put you own app on your own device, not about publishing it to the general public.) Hopefully my original post inspires someone to try this with all the platforms. I'm particularly aware of the requirements to create accounts and registrations, the size of downloads, how limited your choice of host environments is etc. The next fun step is how do you get your hello world onto a friend's device without using a cable or requiring them to be in your presence.
- rsiqueira 14y agoThe original Woz's Apple II was by default optimized for developers, just boot the computer (about 1 second to boot) and type: 10 PRINT "HELLO WORLD" RUN
- jinushaun 14y agoI hate when people list "buy a mac" as the first step for iOS development. Some of us already have one. In order to develop for Eclipse, I'd have to buy/own a computer as well.
- hristov 14y agoAnd some of us don't. It is presumed that you need a computer to run an IDE, but it is not presumed that you need a Mac. So saying that you need to have Mac to do something is quite an informative statement.
- saintfiends 14y agoCould you elaborate a better first step?
- bad_user 14y agoI own 5 personal computers, out of which 3 are desktops and 2 are laptops, with 2 of them running Windows, 2 Ubuntu and 1 of them Mac OS X. Eclipse and Java work on all 5 computers. XCode works on only one. And because that OS X machine is a desktop, I barely ever use it, which is why I bought an Android instead of an iPhone.
- peterkelly 14y agoHow many of those machines will run visual studio?
- bad_user 14y agoNone for me, because I have no interest in Visual Studio, or any Windows-related development in general. However, at least I could make it run on all 5, by means of VMWare. That's not an option I have with XCode.
- zanny 14y agoDo note they are working on IDE's for Android itself that would let you make apps on the device without the need for a secondary system.
- grannyg00se 14y agoYou (ahem) forgot Blackberry. It has been a while for me but from what I can recall you are ready to go once you download the blackberry IDE. There may be an eclipse plugin for that now so you don't have to download the whole monster.
- rogerbinns 14y agoI didn't forget Blackberry. I tried to develop for it in the past. There were a never ending series of downloads. You had to keep registering, repeatedly filling in the same detailed information before they begrudgingly handed over anything. After filling up my machine with bloatware I was unable to even get hello world to appear in an emulator. The chance of getting anything on my device was zero, and they required all sorts of extra certificates and payment to use any of the useful APIs. This whole process is part of RIM's DNA. A year ago when they were doing the whole Playbook thing it repeated: http://blog.jamiemurai.com/2011/02/you-win-rim/ http://blog.jamiemurai.com/2011/02/you-win-rim/ Quite frankly I know many former Blackberry users but I don't know a single current one. I have no idea why anyone would even consider the platform.
- jiggy2011 14y agoI've never quite understood why they require a Mac for development. Surely it wouldn't be insurmountable to port the tools to Windows/Linux? They might sell a few more Mac desktops this way but I can't see it being a large number in the grand scheme of things. One of the reasons I bought an Android instead of an iPhone was because I can develop for it using the computer I already have.
- ricardobeat 14y agoPorting XCode and emulators to windows/linux is probably a huge undertaking, the technology stack is completely different. In addition, the cost of a Mac for development ($599 for a mini) is not stopping anybody, and most iOS developers will already have one, so there's little return to be had.
- jiggy2011 14y ago$599 for a mini would be stopping me for me one. Since I'm not getting paid to do mobile development $599 is money that could get me a holiday or a used car, I'm not trying to make angry birds here; just a few tools to make my life easier. Besides it seems silly to spend all that money on a low spec Mac when I already have a perfectly serviceable workstation that I have invested in. Even if it cost them a fair amount of money to port it all over, they're Apple so they have the money in the bank. Plus I can imagine the ROI would be fairly significant when you consider how many more people could get into casual iOS development and then potentially make it into a full time thing.
- anextio 14y agoNope. Xcode and the entire stack behind it do not run on Windows or Linux. It would take a team of engineers months to pull it off, then another team to continuously support it. In those months, the feature set of Xcode and the compilers will have improved again and there would never be a stable version for a different platform. Porting Xcode to Windows or Linux would probably be the worst idea Apple ever made.
- ricardobeat 14y agoThat's a brutal over-simplification of what you need before developing for Android. "Downloading the Android SDK" is actually a dozen steps of installs, updates, add-ons, setting up emulator devices and so on. The Apple dance takes a couple minutes to do and costs $99/year.
- bad_user 14y ago"Downloading the Android SDK" is actually a dozen steps of installs, updates, add-ons, setting up emulator devices and so on. That's not true. The first time I did it, it took me something like 10 minutes. I must say that I was already familiar enough with Eclipse to install the plugin without much struggling (though it can't get any easier, unless it came built-in). Beginners should also try out IntelliJ IDEA which comes with Android integration built-in. The Apple dance takes a couple minutes to do and costs $99/year. That's also not true. It took me somewhere between 2 and 3 hours. And you don't have to pay $99 for getting the Hello World on your phone, but you do have to fuck around with certificates for signing the binary and you also have to read a lot of documentation.
- z92 14y agoThe certificates cost $99/year. You can't put hello world on your iPhone without those.
- gnufied 14y agoAhem, if you are registering from something like India. You will have to fax some documents to them for review. There is no option to even pay online. In fact, this song and dance is so time consuming that, I haven't bothered to register an account myself.
- ricardobeat 14y agoI'm from Brazil. Just fill the form and use any free fax web service. Your CC will be billed on approval.
- megablast 14y ago
- nl 14y agoIf you think the Apple dance is bad for getting an app on your own phone, try distributing for beta testing! People have written Apps to help you work around how difficult it is (eg TestFlight), but even then your beta testers have to download & sign up for some random 3rd party app, then request your app just to be able to test it. Compare that to Android: enable 3rd party apps via the settings menu, then email them the app.
- anextio 14y agoYou should still be using something like TestFlight. Emailing builds arounds is nice but reaches critical levels of headache after the 5th or so beta.
- peterkelly 14y agoThey've now made is possible to do "over the air" distribution, whereby you put up your .ipa file on your website and email your users a link. They can then go to this link on their iPhone or iPad and it will install from your site. There's instructions on how to do this at: http://nachbaur.com/blog/building-ios-apps-for-over-the-air-adhoc-distribution http://nachbaur.com/blog/building-ios-apps-for-over-the-air-... Although it saves you from having to email large files, you do still need to collect your users' UDIDs and add them to your provisioning profile (embedded in the app).
- dave1010uk 14y agoMaemo (as used on the Nokia N900) : On the device, tap the menu button, then tap "Xterm" Type in 'nano helloworld.py' Enter the text 'print "Hello, World!"' Ctrl-x, ctrl-s to save the file Enter 'python helloworld.py' and press enter Of course, as Maemo is based on Debian, you can easily install Ruby, PHP or even a C compiler.
- nickik 14y agoTo bad nokia is fucking stupid, they had pure gold there.
- bnr 14y agoToo bad no consumer cares for that kind of gold.
- tobiasu 14y agocitation needed... WP: Despite a modest launch and a limited distribution in terms of markets, Nokia's N9 model has reached sales estimated between 1.5 and 2 million devices. According to Nokia's own quarterly report and analyst company Canalys analyses, the combined deliveries of the comparable Lumia devices summed to approximately 1.2-1.5 million in the last quarter.
- pilsetnieks 14y agoN900 is a completely different device, unrelated to N9.
- Geee 14y agoN9 uses basically the next version of the same OS, so they are very much related.
- pessimizer 14y agoThe N9 is the next in the series after the N900, and aside from a lot of very cute UI changes, and a lack of a keyboard (which was relegated to the N950), it still runs on Maemo (though branded MeeGo) and is a Linux phone. Oh, and they switched to rpms from debs, I think. I can see how that would make you think they were unrelated:)