设为首页 收藏本站
查看: 578|回复: 0

[经验分享] 智能手机软件平台 Android VS iPhone OS: 平台对比分析 (1/4)

[复制链接]

尚未签到

发表于 2016-5-18 10:53:45 | 显示全部楼层 |阅读模式
  
  
  A new batch of smartphones based upon Google's Android platform have started to arrive, finally fleshing out what users can really expect of the platform. This article is the first in a series examining how Android stacks up in comparison to the iPhone as a smartphone software platform.
  Android doesn't really compete against the iPhone directly; Android is a flexible platform that can be put to use with a lot of implementation leeway by any company, not a specific product tightly managed by a single company in the way the iPhone is.

However, with the wholesale collapse of nearly every other viable smartphone platform --including the old PalmOS, Linux distros like OpenMoko and GreenPhone, Windows Mobile, and even the leading Symbian -- Android has assumed the position as the lead candidate for producing a potential rival to the iPhone, and lots of hardware vendors are hoping to use Android to do just that. New Android phones from HTC, Motorola, and Sony Ericsson are clearly taking aim at the iPhone, each in unique ways.

Comparing
specific implementations of Android phones against the iPhone is problematic because Android is only one component of the package. Individual Android-based phones may be exclusively tied to a specific mobile network with different price plans, service coverage, carrier restrictions, or technology limitations that have nothing to do with Android itself. Similarly, different phone manufacturers may have their own design or quality issues, support problems, features or pricing that contribute to or distract from the overall ownership experience but which also don't involve Android itself.

For these reasons, this series will focus exclusively on Android's strengths and weaknesses in comparison to Apple's iPhone as a software platform, rather than being limited to any specific phone model. The issues presented here will broadly apply to all Android phones on the market, as well as those still in production. In addition to the factors presented here, there are lots of issues external to the software platform that users will want to consider when actually choosing a phone.

However, because the core phone platform so deeply impacts usability, expansion options, third party software capacity and feature support, examining the differences will provide a lot of illumination on what kind of experience Android users will have over their phone's lifetime compared to the iPhone. This comparison is analogous to comparing Windows to Mac OS X, rather than the features of a specific Windows PC against a specific Mac model.

Android vs. iPhone: under the surface

The Android or iPhone software platform is more than just a core operating system. And really, the differences in their core operating systems are one of the least important factors to users. Both use a Unix-derived kernel and operating system environment that few users will ever even see. Android phones happen to use a Linux kernel while the iPhone uses the same Mach/BSD Unix kernel as Apple's desktop Macs.

In the big picture, this doesn't really matter much because neither smartphone platform provides any real access to this layer (either to users or developers), and neither phone platform is designed to run desktop software developed for Linux PCs or Macs. Both systems are examples of well regarded technology that is fully capable of supporting the needs of the smartphone environment above the core OS.

The actual platform environment that matters to users on Android and the iPhone exists well above the core operating system kernel. This is where applications run, where security is enforced, and where the business model behind the smartphone impacts what users can and can't do.

Platform environment: Android

Rather than running desktop Linux PC software (which is built using the X11 "X Window System" paired with a window manager like KDE or GNOME) like Nokia's N900 running Maemo Linux, Android supplies a modified Java Virtual Machine similar in many respects to the BlackBerry OS and Symbian phones designed to run Java ME apps. Google has modified Android's Java bytecode interpreter (which it calls Dalvik) to avoid having to pay Sun licensing fees for the official JVM in Android. This enables Google to offer Android for free, and without any interference from Sun. It also effectively makes Android a Java platform, not a Linux platform.

Existing Java ME software is easy to port to Android, which is an advantage both because it makes delivering new third party Android apps easier for developers familiar with mobile Java programming, and because it forces developers to do some minimal porting rather than just make their old Java ME apps available as is. The majority of existing Java ME apps are simple and low quality and can't actually run across the wide range of phones that are supposed to run them. Java ME competes against Adobe's Flash Lite, which is also broadly licensed to phone makers but which, like Java ME, hasn't done much to result in broad availability of quality mobile software.

Sun's mobile Java platform is purported to be a "write once, run everywhere" platform, but in reality it only serves as a lowest common denominator for very minimal functionality. BlackBerry and Symbian users want to obtain software custom designed for their phone OS and model, not a basic generic applet that can potentially run on any phone but which does not take advantage of any special features on any model.

The "run everywhere" premise of Java ME is also complicated by the fact that different phones (even from the same vendor) implement the Java virtual machine differently. This results in user confusion as each app has to be tested and optimized for each new phone model, something that simply hasn't happened. That's why Sun's Java ME platform, despite being touted as "the most ubiquitous application platform for mobile devices across the globe," hasn't resulted in a popular, successful market for smartphone software.

Google has purposely broken compatibility with Java ME to introduce Android's Dalvik alternative as a new development platform that leverages all the developer experience and familiarity of Java, without allowing or intending Android software to run on BlackBerry or Symbian phones. The hope is that Android's single, standardized implementation of Java technology will do what Sun's broadly licensed Java ME failed to do: deliver a viable mobile software market across hardware vendors' offerings.
DSC0000.png
  
This all happened before

Android's goal is somewhat similar to the world of desktop computers in the late 70s, where various vendors adopted CP/M as a common way to write software that could work on more than just one computer model. Microsoft introduced its own modified copy of CP/M under the name MS-DOS, partnered with IBM to widely deploy it, and then became very successful in selling a standardized, proprietary version of what had been a loosely open standard (open in the sense of being widely used by multiple companies, not in the sense of open source or an open specification).

When other software vendors began copying MS-DOS, the new market for DOS PCs enabled hardware makers to bundle any DOS with their hardware, and customers could subsequently run any DOS software on their PCs. However, Microsoft subsequently worked to suppress and eventually killed off all MS-DOS software clone competitors with the introduction of Windows 95 in order to maintain monopolized control over the software platform sold on every PC globally.

In contrast, Google says it intends to allow manufacturers to use Android any way they like. Phone makers and even mobile operators can introduce their own modified versions of Android that all use the same Dalvik bytecode interpreter. This will result in the Android software market being much more like DOS PC world of the late 80s than the Windows world of the past fifteen years.

This is an important distinction because Google's Android is being frequently compared to Microsoft Windows by pundits, despite the fact that Google has little in common with Microsoft in terms of how it runs its new platform and how it plans to make money from it.

Platform environment: iPhone

Apple has taken an entirely different approach to delivering its mobile software platform. Rather than building a bytecode interpreter based upon a specific, customized implementation of Java ME, Apple introduced the iPhone running a scaled down version of its desktop Mac OS X Cocoa development environment. This leverages the installed brain trust of the company's Mac developers rather than the installed base of Java ME coders in the existing smartphone market.

It's still possible to port Java code to the iPhone, but it requires more translation work as Apple only supports Objective-C/C as an iPhone development language in its own tools. Rather than allowing iPhone developers to easily port over desktop Mac apps to the iPhone, the great overlap between iPhone and Mac development tools appears to have been more of strategy to draw developer attention to the Mac. Apple already sells about twice as many iPhones as it does Macs, and the iPhone certainly casts a larger mindshare net than the Mac platform does itself.

The differences between developing for Android and for the iPhone are not a clear win for either camp. Both offer somewhat similar tools in terms of capability, with Google's being more familiar to open source or Java developers and Apple's being nearly identical to its desktop Mac platform tools. Apple has a minor lead in having deployed its platform about a year and a half before Android reached the market, and because it has been actively working on its Mac OS X platform for over a decade; Google is new to the platform development business.

However, the team Google acquired to put Android together has been working within the company for about as long as Apple's own efforts on the iPhone; both got started on their current strategies around 2005. Outside of Google, the original Android project dates back to 2003, and was largely built upon on operating system technology that started at Danger in 2000, around the same time as Mac OS X's modern development. So in many respects, Android and iPhone are contemporary platforms, as opposed to Symbian, BlackBerry OS, and Windows Mobile which had their core foundations designed in the mid 90s to serve very different purposes as simple PDA or pager operating systems.

Android vs. iPhone: the business model

In addition to their internal technical differences, Android and the iPhone platform also differ in many other more significant respects that will more directly impact users. It's possible to use inferior technology to create a good product, and to use excellent technology to deliver a terrible product. More than technical specifics, users will be most impacted by platform factors such as:

· User restrictions and/or freedoms accorded by the platform's business model.
· The potential for rapid advancement of new features, increased sophistication and greater performance delivered in software updates.
· The usability of core bundled applications and the availability and affordability of useful and desirable third party software.

Upcoming segments will look at how Android and the iPhone compare in these respects.
  
  http://www.appleinsider.com/articles/09/11/05/inside_googles_android_and_apples_iphone_os_as_core_platforms.html
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-218637-1-1.html 上篇帖子: 在MacBook467中的Mac OSX体验-虚拟机篇 下篇帖子: 在mac下32位和64位运算之间的切换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表