Compare Windows Phone with iOS, Android development [go]

Source: Internet
Author: User
Tags sqlite database

Windows Phone is the smartphone operating system released by Microsoft in 2010, and the latest version is Windows Phone 8.0, which is available on the market with Windows Phone 7.5 (Mango and Tango), below, from the developer's perspective, Compare their differences in several ways.

First, the hardware

iOS and Windows Phone systems are closed-source operating systems, and for hardware solutions, Microsoft and Apple have stringent requirements, Apple designed its own CPU, and then find OEM manufacturers, and communication chips are not high-pass, which is also China Mobile has been unable to introduce the Apple custom machine is an important reason.

In Microsoft, Microsoft's CPU solution is all from Qualcomm, the device running Windows Phone 7.5 Almost all use Qualcomm msm8255t, and from the current release of the device running Windows Phone 8, the basic is also the use of the Qualcomm Snapdragon Dragon S4 dual-core processor.

Apple and Microsoft do this for developers and users are very good, from the developer's point of view, to ensure that the device hardware unified, easy to test. From the user's point of view, so that the quality of the equipment is guaranteed, will not appear "I can use the software, he cannot use" phenomenon.

And Android due to open source, the major equipment manufacturers are a set of their own hardware solutions, such as Samsung has Exynos,nvidia have Tegra ... And many of these CPU solutions, there are many architectural versions, some based on ARM9, some based on arm A15 ... This makes the Android platform hardware can not be unified, although the "contending" scene is good, but for developers, testing software is very bad. Some Android software may require dozens of kinds of Android devices to be considered development, and sometimes a device running problems, you need to modify a lot of code. For the user, the first purchase of equipment is enough, when used, also often appear "your Galaxy S3 can play this game, my one x how not to" phenomenon.

Second, operating system kernel

iOS Unix-based, similar to Apple's Mac OS X, but the kernel is not exactly the same, Android based on Linux, two platforms can be collectively referred to as Unix-like (Unix-like) system. While Windows Phone continued in the 7.0 and 7.5 era, Microsoft's own embedded operating system--windows CE (Compact Edition) was adopted by Windows Mobile, although on mango and tango windows The Phone's slide performance is excellent, but some new features, such as multi-core processors, HD-level screens, and so on, are not supported, so Microsoft is using Windows Phone 8 directly with the same kernel as Windows 8--windows NT 6.2, while Windows RT (Windows 8 arm edition, for tablets) also uses this kernel. So Microsoft to a certain extent to achieve the core of the 3 platform of Unity, this for developers, the process of porting software becomes simple, C # backstage +xaml foreground, the development mode of WPF will be the latest choice of the future development of Microsoft Platform!

The kernel of iOS and Windows Phone is not open, the security is also better than Android, but for developers, because the system is not open, many interfaces are not available, natural and system-related features will not be implemented. At present, iOS is good to use more people, there are specialized hacker organizations to crack, so ordinary users and developers can be more deep customization of the system, and Windows Phone is not so lucky, up to the free deployment of applications, the system is nothing to change. In this respect, the advantages of Android is obvious, the development of Android applications are completely free, deployed on their own mobile phones do not need any fees, online publishing is more free, of course, there are many on Android can do, on the other two platforms do not have the software is developed, Even the domestic mobile app development contest is just the work of Android platform.

Iii. Conditions of development

In order to develop the application of the three major mainstream platforms, should understand their pre-preparation, of course, Android is the lowest cost, a random configuration said the past of the computer, Eclipse,android SDK, can meet the basic development needs, if need to publish, there is no fixed market, There's no need for developer accounts, but it's a disadvantage to developers ' revenue, and it's almost impossible to rely on software for software, most of which is advertising.

Windows Phone needs a pc,visual Studio (with Express free version for developers), the Windows Phone SDK, if you need to post to Microsoft Marketplace, you need a developer account, a regular developer account $99/ Year, but as long as you can get the university mailbox ending in. edu.cn, you can apply for a student account for free, but the revenue share for Windows Phone software is good, developers: Microsoft =2:8, and Apple is 3:7.

iOS development is a bit cumbersome, you must be able to run Mac OS X, plus the associated IDE for iphone sdk,objective-c, to meet basic development needs, but to upload to AppStore, $99 per year of developer fees and no Microsoft-like student accounts, Let some people be deterred.

Iv. operation mode of software

In iOS and Windows Phone platforms, each program has a sandbox (sandbox) and other programs separated, enhanced security, and Windows Phone and iOS are no real background exists, so system optimization can do very well, To ensure the smooth software. And Android is with real backstage, so sometimes the machine will be relatively slow, coupled with the new Android system updates, although the smoothness has improved, but still eat resources enough ruthless, so the hardware performance of Android phone is constantly improving, is hoping to improve the hardware level to enhance the user experience, the other two platforms do not need to do so.

Android and Windows Phone One in Java, one in C # or vb.net, they run all need a virtual machine-like platform to support, Java needs jvm,c# and vb.net need the. NET framework and the CLR, The iOS program uses OBJECTIVE-C, which is similar to the operating mechanism of C + +, so it might be a bit more efficient.

For different systems operating mechanism, as a developer, should also be different mechanisms to make different development planning, to ensure that the application is suitable for the relative system, in line with their characteristics.

V. Development of language and development efficiency

(i) for normal applications

The iOS platform uses objective-c, an object-oriented language developed by the C language, developed by Apple itself, in addition to being used to develop iOS applications and as a language for Mac OS x desktop applications, although the language style is much different than standard C. Need to have some time to adapt, combined with less specialized training courses in China, for developers, development efficiency may be affected by some, in addition, some people use Mono-touch, on the iOS platform using C # for development.

Android platform with Java,java cross-platform, can be on Linux, Windows and Mac OS x almost unimpeded porting, running, is a completely object-oriented language, but Java execution is inefficient, the program runs slowly, So the app on the Android platform is often less experienced than iOS. However, many people in Java, Android classes are also relatively hot, learning, getting started should be very easy, in the development of more efficient than iOS.

The Windows phone platform can only be developed using the C # and VB.net languages in the 7.0 and 7.5 era, and the SQLite database is not supported, 8.0 of the system is not mature enough, there are many features not supported, and on the 8.0 system, not only can continue to use C # And vb.net, can also be used for localization development in C/D + +, you can write some class libraries to use. Although we all think that. NET platform is inefficient, but in Windows Phone such as Microsoft's own platform, Microsoft's optimization is still doing very well, I have been using the Windows Phone phone, and did not feel the phenomenon of lag, experience good. and C # is the simplest and easiest language to develop in these languages, plus a good combination of Windows 8, and the development of Microsoft platforms will be more convenient.

(b) For games

iOS and Android both use OpenGL to design 3D games, OpenGL Open source, more places to use, and iOS and Android currently have a large share, so OpenGL learning is also relatively easy.

And Microsoft uses the DirectX-based XNA Architecture for developers to use, and the most common desktop games we play are rarely used in the DirectX framework, which makes it easier for developers to work.

Vi. Development Prospects

At present, AppStore has released about 700,000 of applications, Android applications have reached 600,000, for the new developer, the pressure is larger, and the Windows Phone is only more than 100,000 of the number of applications on the marketplace, there is a long way to go, Bring more opportunities to new mobile developers.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.