Android and iOS that good? Which of the above resources should be put on first? Many times have been asked this kind of question, I happen to own project also need to consider the iOS version. Just a few research, so this article (this time does not discuss jailbreak iOS)
First of all, emotionally, whichever you like, like Pepsi and Coca-Cola, of course, this metaphor is not very appropriate, because cola tastes almost the same, but Android and iOS are very different.
iOS comes from Apple's OSX, a UNIX system, and OSX has a history of almost 10 years, from the bottom of the kernel to the software architecture has evolved. iOS uses the old language of OBJECTIVC to do development. And Android is Google Linux-based, strictly speaking, Android is not a Linux system, it does not have Linux Xwin, no glibc, lack of a set of standard Linux programs. Most Android apps are developed using Java and run on Dalvik virtual machines (a small portion of the NDK). Google has also changed a lot of things at the bottom. Android is a brand new operating system. So:
- Android using Java, easy to get started a lot, if there is a good Java lib, the development efficiency will be higher
- iOS has no virtual machines, no GC, better performance, and of course the difference will be smaller as Google improves
- The development framework of iOS is very mature , and the same knowledge system as the Mac, but also the development of MAC applications, Android is a new framework, and will continue to evolve.
iOS and devices are tightly integrated. Hardware and software a company-owned. But Android can't do it, and the usual scenario is that Google releases the source code. Chip manufacturers need 1-3 months to do their own chip solutions, mobile phone manufacturers from the chip vendors to buy programs and code, to do their own integration, custom work, and sometimes need to be customized for the operator. So:
- iOS device integration and driver optimization are the best. Power Management is a piece of evidence, and Android manufacturers are a mixed bag. It may be better to have a flagship machine for the top of the queue, but because Android is generally shorter than iOS (see the speed of HTC and Samsung out of the machine), there is a gap between the overall and iOS.
- Android has a natural upgrade cycle delay problem, and vendors do upgrade is also a cost. The handset makers can't take care of the entire ecosystem, and this is no solution until Google does something.
- Because there are a number of manufacturers to do their own customization, Android also exists device splitting problem (fragmentation), as an experienced, I tell you this is a very headache, and regardless of commissioning time and manpower, buy a lot of equipment cost is not small. The key is that it will hurt the artist/ue heart.
iOS is a system that is tightly controlled by Apple. In most cases, third-party applications are not able to get all the APIs. This means that many of the features at the system level are only available to Apple (such as making calls and intercepting text messages). In addition, some APIs that involve user privacy also cause the System popup dialog to ask the user. The same third-party runtime to do application development is basically not feasible (Flash was also rejected by this article). In turn Android is completely different, first Android is open source, in the design of Android will allow free replacement of system components, Android also does not enforce restrictions on the API, (hidden API can also call, no one will find you trouble). System-level permissions are delegated to the manufacturer, and the third-party developer can do anything if the vendor is willing to give it. The authorization of the general application is also completed at the time of installation. Users will not be harassed afterwards. So:
- Android platform can do things far more than iOS, you can do phone management, address Book, SMS management, you can run the background service yourself. Replacing the components of the system is very easy
- Android platform can also run other system runtime, such as Flash, with the NDK, you have to access a virtual machine yourself is also possible. Google doesn't care about you.
- Anyone can use Android to make a separate system out of it, perhaps the meaning and prospect of doing so is problematic, but again, no one limits your
The only way to download apps on iOS is AppStore, where developers do apps online and through Apple audits, and even if they do, Apple can get out of the rack at any time if trickery or calls an API that shouldn't be used. Management is very strict. In turn very lax on Android:
- Manufacturers can build apps. Often throw some inexplicable software preinstalled on the phone, the author of the company in the time of profound experience to choose software is a very fun thing. And we're not going to let you get rid of it.
- Google's official market does not do application review, developers upload software is very casual, this is a free markets.
- There are also a large number of third-party software markets in China. and similar to the pea clip pc-side management software.
- If the user chooses to allow "unknown source", it is also possible to download or install the software on the card via the Web. It seems that domestic users are allowed. So:
- There are many high-quality software on iOS, competitive but orderly, and developers are easy to make money.
- There are also fine software on Android, but more junk software, even malware. Because there is no threshold, basically the software is free, can not afford to sell money, most rely on advertising.
- Android also has a bunch of anti-virus software, which is typical of "no difficulties, manufacturing difficulties to be on" spirit.
- Android also has a bunch of placebo software, such as can help you to save power or to help you kill the background process to improve performance, the author as the bottom of the development of people, laugh without words.
Have you written so many analyses and conclusions? In fact you are what kind of role, decide to use who better.
- If you are a normal user, please close the post, this article is not used for ordinary users to select the machine.
- If you are a personal software developer, iOS is right for you, market specification, do application worry.
- If you are a software and services startups, iOS is also suitable for you to do the demo and the first product, product reliable, users in use, someone gave money, and then go to the Android is also feasible. Unless you're doing an app that involves hardware or requires very high system permissions, you'll only have to choose Android if that's the case. Because the domestic manufacturers must be easier to talk about than Apple.
- If you are a company that wants to do hardware and system customization, then basically you only have android to choose from. The cost of Android solutions is also declining.
- If you are a company with Chinese characteristics, want to engage in mobile business to play, but also to deceive users to do a lot of things. Then Android is also better, even if you do not evil, control in their own hands will be convenient to operate a little.
iOS and Android