Which is more promising, iOS development or Android development? How should I choose?

Just solicited some research, so there is this article (this does not discuss the jailbreak iOS) First of all, emotionally, you like which is good, like Pepsi and Coca-Cola, of course, this analogy is not very appropriate, because Coke drink almost the same, but Android and iOS is still a big difference.  iOS from Apple's OSX, is a UNIX system, OSX has almost 10 years of history, from the kernel layer to the software architecture are gradually developed. iOS use ObjectivC this old language to do development. Android is Google based on Linux to get, strictly speaking Android is not a Linux system, it does not have Linux xwin, no glibc, lack of a complete set of standard Linux program. android application is the vast majority of the use of JAVA development, running on the Dalvik virtual machine ( a small part of the use of NDK). A small portion uses NDK). Google also modified a lot of things in the bottom layer. android is a brand new operating system. So: Android using JAVA, get started easy a lot, if there is a very good JAVA Lib support, development efficiency will be higher iOS no virtual machine, there is no GC, performance to be better, of course, the difference will be with Google's improvement more and more small iOS development framework is very mature, and MAC on the common, the same knowledge system, you can also develop MAC The same body of knowledge, you can also develop MAC applications, Android compared to a new framework, will continue to evolve.  iOS and devices are tightly integrated. Hardware and software from one company to another. But Android can't do that. The usual situation is: Google releases the source code. Chip makers need 1-3 months to do their own chip program, cell phone manufacturers from the chip makers to buy the program and code, for their own integration, customization, and sometimes also need to be customized for the operator. So: iOS has the best device integration and driver optimization. The power management piece is a good example of this, whereas Android vendors are a mixed bag. Maybe the flagship machines from the top of the line vendors are better, but since Android lead times are generally shorter than iOS devices (see how fast HTC and Samsung put out machines), there's an overall disparity with iOS.  As a result of a number of manufacturers to do their own customization, Android also has the problem of device fragmentation (fragmentation), as a person who has been there, I tell you that this is a big headache, not to mention the debugging time and manpower, just buy a lot of equipment costs are not small. The most important thing is that it will break the hearts of artists/UEs.  iOS is strictly controlled by Apple. In most cases, third party apps don't have access to all the APIs. This means that there are many system-level functions that only Apple can do (e.g. making calls, intercepting SMS). In addition, some APIs that involve user privacy can cause the system to pop up a dialog box asking the user. Similarly, third-party runtime for application development is basically not feasible (Flash was rejected by this clause). On the other hand, Android is completely different, first of all, Android is open source, in the design of Android allows free replacement of system components, Android is not forced to limit the API situation, (hidden API can also be called, no one will find you trouble). System level permissions are decentralized to the vendor, and if the vendor is willing to give them, then third party developers can do anything. Permission authentication for common apps is also done with a one-time authorization at the time of installation. It doesn't harass the user afterward. So: Android platform can do far more than iOS, you can do phone management, address book, SMS management, you can run their own background service. Replacement of the system's components is very easy. Android platform can also run other system's runtime, such as Flash, with the NDK, you want to access a virtual machine is also possible. Google will not care about you Anyone can take Android to change their own independent system out, perhaps the significance of doing so and the prospect of a problem, but again, no one to limit you iOS on the only way to download the application is the Appstore, the developer to do the application on-line through the Apple audit, even if it passed, if the sheep head to sell the meat of the dog to mess around or call should not use the API, Apple as well as any time to downgrade If you pass, if you are a crook or call an API that shouldn't be used, Apple can take down the app at any time. Management is very strict. On the other hand, Android is very lax: vendors can build in apps. Often throw some inexplicable software pre-installed on the phone, I am in the manufacturer's time y appreciate the chaotic selection of software is a very fun thing. And we won't let you delete it.  Google's official market does not do application review, developers upload software is very casual, this is a free market.  There are also a large number of third-party software marketplaces in China. As well as pea clip similar PC management software.  Downloading or installing software from the card via the web is also possible if the user chooses to allow unknown sources. It seems that domestic users are allowed to do this. So: there's a lot of fine software on iOS, it's competitive but well managed, and developers make easy money.  Android also has fine software, but there is more junk, even malware. Because there is no threshold, basically the software is free, can not sell money, most of them rely on advertising.  Android also has a bunch of antivirus software, which is typical of the spirit of making difficulties without difficulties.  Android also has a bunch of placebo software, such as to help you save power or help you kill background processes to improve performance, the author as a person who has done the underlying development, laugh but do not say.  If you are an ordinary user, please close the post, this article is not for ordinary users to choose the machine.  If you are a personal software developer, iOS is suitable for you, the market standardization, do applications to save heart.  If you are a software and service startups, iOS is also suitable for you to do demo's and the first product, the product is reliable, the user in the use, someone to give money, and then go to Android is also feasible. Unless you are doing an application that involves hardware or requires very high system privileges, in which case you will have to go with Android, because domestic vendors are certainly easier to negotiate with than Apple.  If you are a company that does hardware and system customization, then basically you only have Android to choose from, and the cost of Android solutions is coming down.  If you're a company with Chinese characteristics that wants to do some mobile business for fun and hide a lot of things from users, then Android is a better choice. Android is also a better choice, even if you don't do anything bad, it's easier to operate with the control in your hands.  By how to choose, I do not need to say more, these two are the direction of today's mobile Internet development, but an open source to learn more easily, do things faster, there is absolute control. One does not open source, can only do the upper layer of the application, but also can live very well, that's it.