In spring 2011, I decided to start developing on iOS. Because I am a maker rather than a pure learner, I set a goal for myself to create an app that is useful for almost any iDevice user and publish it on the App Store. After about three months, Battery Watch Pro 1.0 was published on the App Store. Later I added a free version – Battery Watch Plus that includes In App 34372
Purchase.About a year later, I published three language apps De Het, Der Die Das and Le La. These apps help users to learn and practice the grammatical articles in Dutch, German and French. De Het got pretty famous in the Netherlands. I had several radio interviews. There are Facebook posts and tweets about De Het. And, of course, I regularly received a question whether the apps are available on Android. In November 2012, I had some spare time and was ready for several weeks of exploratory learning. So I decided to port the language apps to Android. De Het for Android got published in February 2013. Der Die Das and Le La followed few weeks later.While developing for the two major mobile platforms, I accumulated quite some knowledge and learned some lessons, which I decided to share in this article. I focus on native development – Objective C on iOS and Java on Android. To setup the right expectations, my preference is still iOS. However, I consider some aspects of Android development better.You need a mobile device, a PC or a laptop, an IDE and SDK. If you just want to play around, a PC/laptop with an IDE and SDK are sufficient. If you are serious about publishing your apps, get the devices as well. You need a Mac in order to develop for iOS. If you don't have a Mac, you'll need to purchase one and you probably won't regret it. The default IDE choice is Xcode by Apple. Part of Xcode distribution is the iOS SDK and iOS Simulator. For a long time, Xcode was the only IDE for iOS development. Since April 2011, Xcode has a competition – AppCode by JetBrains.You can develop for Android on Windows, Mac OS and Linux. Easiest way to start with the development is to download Android Development Tools. In a single bundle, you will get an IDE (Eclipse), Android Development Tools Plugin for Eclipse and the essential Android SDK components. If you want to use another Java IDE, such as IntelliJ, you need to download just Android SDK Tools. Use the SDK Tools to download additional packages. Then make IntelliJ aware of Android SDK location. Community Edition of IntelliJ is sufficient for Android development.iOS is mature platform. Its origins in the NeXTStep system from the early 90's (if you know the iOS API, you have certainly noticed that many class names are prefixed with ‘NS’). The NeXTStep platform later progressed into Mac OS. iOS is a minified version of Mac OS. iOS receives enhancements with every new release. Porting to higher versions of iOS is usually pretty straightforward. Occasionally, behavior of existing APIs changes between versions.
First Android alpha releases appeared in 2007. The look and feel went through quite some transformation so far. The first alpha releases were partially inspired by Blackberry. Later releases looked more like iOS. Android 3.0 seems to have taken inspiration from Windows Metro with lot of black/while spaces and sharp corners. Android 3.0 also scraped four hardware navigation buttons and replaced them with navigation bar and action bar on the touch screen. Other parts of Android go through major enhancements as well. This places extra burden on developers. If they want to offer the best user experience for recent and not so recent Android versions, they need to often write separate code each major release.Google publishes the data about Android version distribution at Platform Versions. The figure below shows the distribution of Android versions in the period between 22nd January and 4th February 2013.
In this period, still more than half of Android users own devices with Android 2.x. What contributes to this situation? Each device manufacturer has to release their own Android upgrade. If mobile operators install Android on the devices, they also need to provide an upgrade, which sometimes does not happen or ithappens late. Android OS upgrades go sometimes wrong. Many Android users are generally reluctant to upgrade.What does it mean for an Android developer? Be prepared to support a wide range of Android versions (in addition to wide range of devices). On the other hand, the overall Android version distribution is different from the distribution of Android versions with most installed apps. Users with newer devices are more likely to download apps. For my apps in March 2013, more than 75% of installations were done on devices with Android 4.x although these devices have about 33% overall market share. So ditching support for older Android IOS APP Store英文文献和中文翻译:http://www.youerw.com/fanyi/lunwen_31851.html