exploitation environment
Of course, you can write code through text files as usual, but if you use the integrated development environment, programming will undoubtedly become more efficient.
Apple's development environment is Xcode, and working on Xcode is a very pleasant thing. It is quick to respond, powerful and very convenient. Its debugger can work seamlessly and respond very quickly.
What about Android platform? The current development environment is Eclipse, which is debugged with Android plug-ins, and its performance is quite poor. Slow, procrastinating, and at the same time, the operation is contrary to common sense, and it is a mess, which is far from Xcode. Not to mention the Android emulator, it takes several minutes to start each time, and half of it can't connect to the Android debugging bridge.
At present, Google has also realized the problem, and they are developing a brand-new Android Studio IDE:
At present, Android Studio has provided a preview download, and some functions have not been completed, so developers will encounter many bugs in the use process. If you feel uncomfortable using such semi-finished products, then maybe you can download ADT Bundle to replace it.
Although Google began to pay attention to the development environment, it still made developers feel gratified, but the response speed was still surprisingly slow. You know, it's been four and a half years since I bought my first Android phone, and the development environment is still a mess.
Winner: iOS wins a street.
deploy
Compared with Apple's Xcode, Android has a manifest file in which you can store or edit your application through Eclipse. When there is an error in the application operation, I still hope to get clearer error information. The configuration of Android applications is obviously simpler but more elegant.
Winner: Android
Interactive design
As you may have guessed, Apple will definitely win this round of competition. Apple's interface generator can quickly generate beautiful user interfaces. However, it also has a problem. The longer I try the interface builder, the less I like it. Although it has a profound understanding of simplification, with the passage of time and the evolution of applications, these simplifications have become more complicated and confusing, and I don't like the multi-screen function that Apple added to Storyboard a year ago.
Theoretically, Android has the same visual effect development tool. In practice, as long as you write an XML file, it will automatically adapt to different screen sizes and complete the layout after writing.
In this link, the competition is more intense than you think. Although I think the two systems have their own advantages, I still think iOS wins. First of all, it is more concise: only three screen sizes can be adapted, and Android is obviously much more complicated. Second, the default iOS visual elements are much better than those of Android.
Winner: iOS
language
The language of Android application is Java, while the language of iOS application is Objective-C. At the beginning of programming, I chose Java instead of objective-C because I was more familiar with Java at that time. But I soon found myself liking Objective-C more and more. It is easier to use and simpler than Java. It has category, but Java doesn't; It has a block, but Java doesn't.
Winner: iOS
application program interface
Both Android and iOS provide a large number of software databases for developers, and in general, these databases are very similar: some of these APIs provide the function of using mobile phones and some provide the function of network connection, and most of these parts are completed by controllers. For iOS ViewController, its function is equivalent to Android Activity.
But iOS has some frameworks and functions that Android doesn't have. Android does not have the powerful core data framework of iOS. This framework is very convenient to use and simple in design.
Winner: iOS
network
Network connections usually run in the background, so there is not much impact on the application itself. Android provides AsyncTask to detect whether the user is currently online. IOS also provides corresponding functions, but its performance is not ideal due to its low level.
But you can make this part easier through many open source databases. I can make the connection very simple through AFNetworking. But this tool doesn't support Android, because Java can't complete the block operation.
Winner: The first party of Android wins, but the third-party database of iOS is also excellent.
The final winner is ...
Although Android has its unique advantages in some places, generally speaking, it is much easier to write excellent applications for iOS than Android. Considering that iOS users tend to have healthier paying habits, developers will naturally choose to give priority to developing applications for iOS. The new Android Studio IDE may improve some Android development experiences, but it is not enough.