Joke Collection Website - Public benefit messages - [High score] Which is more promising, iOS development or Android development?

[High score] Which is more promising, iOS development or Android development?

First of all, which one do you like emotionally, just like Pepsi and Coca-Cola. Of course, this metaphor is not appropriate, because cola tastes almost the same, but Android and iOS are still very different.

IOS comes from Apple's OSX, which is a UNIX system. OSX has a history of 10 years, and it has gradually developed from the bottom of the kernel to the software architecture. IOS is developed using the ancient language ObjectivC. Android was developed by Google based on Linux. Strictly speaking, Android is not a Linux system. It doesn't have xwin of Linux, glibc and a set of standard Linux programs. Most Android applications are developed in JAVA and run on Dalvik virtual machine (a few use NDK). Google has also modified a lot of things at the bottom. Android is a brand-new operating system. So:

Android uses JAVA, and getting started is much easier. If there is a good JAVA Lib blessing, the development efficiency will be higher.

IOS has better performance without virtual machine and GC. Of course, with the improvement of Google, this difference will become smaller and smaller.

The development framework of iOS is very mature and universal with MAC. The same knowledge system can also develop MAC applications. Compared with Android, it is a brand-new framework and will continue to develop.

IOS and devices are tightly integrated. Software and hardware are shared by one company. But Android can't. Usually, Google releases the source code. Chip manufacturers need 1-3 months to make their own chip solutions, while mobile phone manufacturers buy solutions and codes from chip manufacturers for their own integration and customization, and sometimes they need to customize for operators. So:

IOS has the best device integration and driver optimization. Power management can be viewed from one aspect, while Android vendors are uneven. Perhaps the flagship opportunity of leading manufacturers is better, but because the duration of Android is generally shorter than that of iOS devices (please check the speed of HTC and Samsung), there is a gap compared with iOS as a whole.

Android system naturally has the problem of delayed upgrade cycle, and the cost of vendor upgrade is also high. Manufacturers selling mobile phones can't take care of the entire ecological chain. At present, there is no solution unless Google takes measures.

Because many manufacturers make their own customization, Android still has the problem of device fragmentation. As an experienced person, I tell you that this is a headache, and regardless of debugging time and manpower, the cost of buying a lot of equipment is not small. The most important thing is that it will hurt the artist /UE.

IOS is a system strictly controlled by Apple. In most cases, third-party applications cannot get all APIs. This means that many system-level functions can only be completed by Apple (such as making phone calls and intercepting text messages). In addition, some APIs involving user privacy will also cause the system to pop up a dialog box to ask the user. Similarly, it is basically not feasible for third-party runtime to do application development (Flash was also rejected by this clause at first). On the other hand, Android is completely different. First of all, Android is open source. In design, Android allows free replacement of system components, and Android has no restrictions on APIs (hidden APIs can also be called, and no one will bother you). The system-level authority is delegated to the manufacturer, and if the manufacturer is willing to give it, the third-party developer can do anything. Permission authentication of common applications is also authorized during installation. After that, users will not be harassed. So:

Android platform can do far more things than iOS. You can do phone management, address book, SMS management, and run background services yourself. Replacing system components is very easy.

The Android platform can also run the runtime of other systems, such as Flash. With NDK, you can also access the virtual machine yourself. Google won't care about you

Anyone can take Android and turn it into an independent system. Perhaps the significance and prospect of this is questionable, but again, no one is limiting you.

The only way to download applications on iOS is the Appstore. Developers must go through Apple's review when they go online. Even if they pass, if they sell dog meat or call an API they shouldn't use, Apple can take it off the shelf at any time. Management is very strict. On the contrary, Android is very loose:

Vendors can have built-in applications. I often throw away some inexplicable software pre-installed in my mobile phone. When I was in the factory, I deeply realized that random selection of software is very fun. We won't let you delete it.

Google's official vegetable market does not conduct application review, and developers upload software at will. This is a free market.

China also has a large number of third-party software markets. And PC-side management software similar to pea clip.

If users choose to allow "unknown sources", they can also download or install the software on the card through the network. Domestic users seem to be allowed. So:

There are many excellent softwares on iOS, which are fiercely competitive but well managed, and developers can easily make money.

Although there are high-quality software on Android, there are also more junk software and even malware. Because there is no threshold, basically the software is free and can't afford to sell money. Most of them rely on advertisements.

Android also has a bunch of antivirus software, which is a typical spirit of "no difficulty, make it difficult".

There are also a bunch of placebo software on Android, such as those that can help you save electricity or help you kill background processes to improve performance. As a person who has done the bottom development, the author smiles without saying a word.

After writing so many analyses, what is the conclusion? In fact, what kind of role you are determines who is better to use.

If you are an ordinary user, please post. This article is not used to choose a machine for ordinary users.

If you are a personal software developer, iOS is suitable for you, the market is standardized, and you can do applications without worry.

If you are a software and service startup, iOS is also suitable for you to do demo and the first product. The product is reliable, users are using it and someone has paid for it. It is also feasible to go to Android. Unless the application you are making involves hardware or requires very high system privileges, you can only choose Android in this case. Because domestic manufacturers are definitely better than Apple.

If you are a company that wants to customize hardware and systems, then basically you only have Android to choose from. The cost of Android solutions is also falling.

If you are a company with China characteristics and want to do some mobile services, you must do a lot of things without telling users. Then Android is better, even if you don't do evil, the control will be easier to operate in your own hands.