1、 ESEP 2011: 9-10 December 2011, SingaporeAn Analysis and Comparison of Open and Closed MobilePlatformsAndroid vs. iPhoneYinglu ZOUa, Hao WU b, Jianxin HUANG a,ba Information Engineering College,7 JianXue Road, JinShui District, ZhengZhou, 450001, ChinaAbstractWith the release of Android 2.2 Froyo an
2、d iPhone 4, the war between open and closed mobile platforms tends to befiercer. Being the representatives of the two parties, Froyo and iOS 4 are quite different at system framework, newfeature, application market and integration model. According to the company spirits of Google and Apple, we do so
3、me analyses and comparisons of the above points, explain the differences of Android and iPhone from the shallower to the deeper, then conclude the characteristics of open and closed mobile platforms, aiming at providing an objective reference for researchers of mobile platforms, helping them see cle
4、arer into mobile industry. As a result,both Froyo and iOS 4 have their advantages and disadvantages, still they are far from being perfect, theres room forfurther improvement.Keywords: Android;iPhone;Froyo;iOS 4;smart phone;mobile platform1. IntroductionIn recent years, the popularity of smart phone
5、 kept going up. More and more smart phones are sold anda lot of people are embracing them. Smart phones brought great convenience to users, as well created opportunities for smart phone researchers. Thats to say, the wide spread of smart phones benefited both sides. At the same time, developing of s
6、mart phone OS becomes one of the smartest industry. To be a smart phone OS, the system should: 1. Provide services like a PC. 2. Work with a GPU for better visual effects. 3. Allow the user to surf on Internet freely. And apparently, therere also some weaknesses:1.Limited battery. 2. Poor CPU perfor
7、mance against PC CPU. 3. Small storage. 4. The use of RAM may leads to loss of data when the phone runs out of batteryNow the 2 giants of smart phone OS are Android and iPhone OS. On one side, Android is based on Linux kernel and Dalvik virtual machine, and it is open sourced. The upper layer of And
8、roid is Java based,allowing developers to develop Android applications with Google SDK and sell their software in Android Market. On the other side, iPhone OS, which bases on Unix kernel and Darwin model but is closed sourced,evolves from Mac OS X and is the default OS of iPhone, iPod Touch and iPad
9、. Objective C based software can run in iPhone OS, and just like Android, you can develop your own iPhone applications and upload them onto Apples App Store for sale 1 2 3 4.By comparing the latest Android and iPhone OS, Android 2.2 Froyo and iOS 4, we can take a glimpse at the main feature of open
10、and closed smart phone OSs. While the 2 OSs are designed in rather different mentality and functionality, its a little early to tell which one is better.2. Smart Phone OS2.1. AndroidThe system architecture of Android consists of 5 layers, which are Linux Kernel, Android Runtime, Libraries, Applicati
11、on Framework and Applications, from bottom to top.Android provides core services like security, memory management, process management, network stack and drivers, basing on Linux 2.6. Being the abstract layer between software and hardware, the layer of Linux Kernel hides the implementing details of h
12、ardware and provides integrated services for upper layer.Dalvik virtual machine and Java core libraries are included in the layer of Android Runtime, providing most functions in Java core libraries.The layer of Libraries contains a class of C/C+ libraries for Android components. Those libraries are
13、integrated by the layer of Application Framework and then provided to developers.The layer of Application Framework provides all kinds of modules for program initialization to simplify the use of components, allowing developers do whatever they want and provide services for other softwares, under th
14、e limitation of security, of course.Mainstream applications are located in the layer of Application, including e-mail, SMS, calendar, Google map, Web browser and contacts. Users interact directly with this layer 1 2.The latest version of Android, Android 2.2 Froyo, puts on some new features. They ar
15、e: 1. Support Flash 10.1, enables user to watch flash on the phone. 2. V8 JavaScript engine in web browser leads to faster Internet data transportation. 3. Big advance in network sharing. You can use the phone as a 3G NIC,or convert 3G signal to Wi-Fi. 4. Automatically software update. 5. Softwares
16、can be setup in SD card to extend file storages.2.2. iPhoneiPhone OS is consist of 4 abstract layers: Core OS, Core Service, Media and Cocoa Touch respectively.Layers of Core OS and Core Service are designed in C language to handle core system services, enabling developers to perform file access, so
17、ckets calling and data handling. CFNetwork and SQLite are also parts of these 2 layers.The layer of Media, according to its name, this layer is used to control video and audio, as well handle 2D and 3D images. The Open GL-ES Quratz part of the layer is coded with C language, while the part of Core-A
18、udio and Core-Animation is Objective C based.The layer of Cocoa Touch builds a basic framework for all kinds of programs in iPhone. Most programs run in Cocoa Touch layer, and its surely Objective C based 3 4.The latest iPhone OS is iOS 4. It includes the following new features: 1.Software classific
19、ation. Thisfeature enables user to place sorted softwares into different documents, making it clearer to manage. 2. Email integration. One account is for all e-mails from different providers. 3. iBook, originally from iPad, is built in iOS. 4. A brand new Apple Game Center makes iPhone a tremendous
20、entertainment platform.2.3. Android vs. iPhoneBeing the top 2 smart phone OSs, were sure that both Android and iPhone have their own advantages and disadvantages. Now lets take a look at each of them, and see what unique feature they have.Android 2.2 Froyo fully support multitask, which means you ca
21、n listen to music while writing blog. And iOS 4, officially announced to be multitasked, is in fact a play of concept. Only a few of softwares which are authorized by Apple can run simultaneously, whose principle is much easier that multitask:when an application is switched out, its current state is
22、 saved and then the system just closes it. And when its switched in, were back to the previous snapshot 5 6 7.During the publication of Android 2.2 Froyo, Google announced it has the most fluent web browser,because the use of V8 JavaScript engine. V8 is a brand new engine, designed for running big s
23、ize JavaScript application. In some kind of tests, V8 is much faster than JScript from Internet Explorer, SpiderMonkey from Firefox and JavaScriptCore from Safari. It all owe to 3 key parts of V8, theyre fast attribute access, dynamic code generation, effective trash cleaning. 2.3.1. Fast Attribute
24、AccessJavaScript is a kind of dynamic language, which means attributes can be added or deleted at runtime, and theyre frequently changed. Most JavaScript engines use a dictionary style structure to store the attributes of an object, so it requires a whole dictionary search to find the position of at
25、tributes in memory.Its quite inefficient and its slower than Java and Smalltalk.To solve this problem, V8 discarded dynamic search and realized it in a different way: Create hidden classes for objects dynamically. In JavaScript, every time when were adding a new attribute to an object,we create a su
26、bclass with the new attribute from a hidden class as the super class. Its a recursive course and the above performance happens only once when we first do this. Later we just use the previous hidden subclass when were in the same situation. So theres no need to repeat operation and create a dictionar
27、y. This leads to the save of time and energy, as well make it easier for the implementation of class optimization and inner cache 4.2.3.2. Dynamic Code GenerationWhen JavaScript is running for the very first time, V8 translate it directly into local machine code, rather than explain it to bytecode.
28、Attribute access is done by inner cache, which is often translated into instructions by V8 at runtime.When it comes to the code where certain object is accessed, V8 tries to find the current hidden class. Meanwhile, V8 assumes that all objects in the snippet are described by the same hidden class, s
29、o V8 willmodify corresponding inner cache to make the direct use of the hidden class more convenient. If thisassumption is correct, the access of attributes can be all done in only 1 instruction. Even if the predictionfails, inner cache is modified again by V8, which wont take too much time and reso
30、urce. When one hidden class is shared by a lot of objects, the access speed can be close to most dynamic language access speed. Inner cache and hidden class, mixed with dynamic code and class optimization, improve the efficiency of JavaScript at a large scale 4.2.3.3. Effective Trash CleaningV8 does
31、 memory recycles automatically. To guarantee the speed of object distribution, as well cut the time of trash cleaning and clear fragment up, V8 will interrupt the running application when performing trash cleaning. Mostly, only a small part of object stack is involved in trash cleaning cycle, so the
32、 interruption caused little. All location of objects and pointers are logged by V8, so the system wont take object for pointer and memory overflow is avoided 4.Besides the most fluent web browser, Google collaborated with Adobe and Android 2.2 Froyo fully supports Flash. Thats to say, not only flash
33、 media, but all flash web pages can display perfectly on Android. To the contrary, Apple turned down Adobe and take HTML5 as iPhones web protocol, making it unable to show some flash based animation.Android 2.2 Froyo also leads the way in network sharing. Smart phone with Froyo can be connected toa
34、PC as a 3G NIC, and can also conveniently convert 3G signal to Wi-Fi. iOS 4 can do the first too, butfailed to convert 3G to Wi-Fi.Video conference is both supported by Froyo and iOS 4, but the conditions are different. You can see aFroyo user via camera as long as you get a camera also. However, iO
35、S 4 user can only do video talk toanother iOS 4 user, which is a big limitation.While Android is ascendant in network interaction, Apple is unique in its friendship and entertainment.The added feature of software classification enables user to place sorted softwares into differentdocuments, making i
36、t clearer to manage. Whats more, therere hundreds of thousands applications inApp Store, meaning that iPhone can have up to hundreds of thousands functions. This is a ratherremarkable feature that Apple publicizes.And the most convincing point given by Apple, is that Android looks exactly familiar w
37、ith iPhone. Although its just a subjective sense, the born of iPhone really brought big revolution to the phone industry, and the name Apple itself is a world famous brand 7 8.3. Open and Closed platforms3.1. SDKThe most important part of every developing platform is SDK, enable 3rd party developers
38、 to make software for the platform. Usually, libraries, debug tools and emulators are included in SDK. Different platforms distribute their SDKs differently. Some SDK is complete free and open, while others are strictly limited.Developers of open platforms can get and modify part or all of the sourc
39、e code. Google and Linux are leaders of open platforms; they publicized the whole source code of Android and Linux. The good point is that, platform owners can save a great amount of time and energy developing and maintaining the platform, because 3rd party developers will do this for them. With les
40、s money spent on development and maintenance, a relatively low price can attract more and more phone users.Contrarily, closed platforms lock their source code in the safety and forbid 3rd party accesses. Apple and Microsoft are the representatives of them, they are both closed sourced, but some diff
41、erences do exists. 3rd party iPhone applications are restricted within narrow limits, for that Apple will look through every application which is uploaded onto App Store, and a lot of applications are turned down.Microsoft dont check Windows applications at all, it all depends on the users themselve
42、s. You installed the mareware, you suffer the loss.3.2. Application MarketMarket is the medium between developers and users, hence its very important. Some predicted that there will be more and more application markets while some dont think so. In current markets, both do exist. Some specify only on
43、e market for their products, while others sell their softwares in various markets.Softwares from Nokia, Microsoft and Linux Mobile are sold in every market. Developers of these platforms can release their own application in whatever markets, so markets have to compete with each other for a living. T
44、his is good for users. However, the lack of universal management may lead to mess and chaos, softwares that have the same functionality exist in different markets, which confuses users a lot.Correspondingly, sole markets claim that most applications should be sold in them. This kind of monopolizatio
45、n leads to no competitor. App Store and Android Market are deputy of sole markets. Normally, iPhone applications can only be found in App Store, and Apple will check every one of them by itself. Good news is that every application in App Store is officially tested, its safe; Bad news is that a lot o
46、f pretty good softwares are rejected for various reasons. And a big unofficial mechanism is built by hackers, that is jailbreak and SIM unlock.Jailbreak is a process that allows iPad, iPhone and iPod Touch users to gain root access and unlock the operating system thus removing any limitations impose
47、d upon them by Apple. Once jailbroken, iPhone users are able to download many extensions and themes previously unavailable through the App Store via installers such as Cydia. A jailbroken iPad, iPhone or iPod Touch is still able to use the App Store and iTunes 9.And a SIM lock is a capability built
48、into GSM phones by mobile phone manufacturers. Networkproviders use this capability to restrict the use of these phones to specific countries and network providers.Generally, phones can be locked to accept only SIM cards based on the International Mobile Subscriber Identity. SIM unlock make it possi
49、ble to use a mobile phone without considering countries and networks specified by mobile phone manufacturers.However in Android, Google doesnt test every application at all, so although theres an official market for Android applications, you can still release your product anywhere you want. Considering security problems, Google banned the use of some components. Like