在droidcon国际会议上,共同撰写了这篇文章,它有点特别,因为不仅讨论了Android,还讨论了它的竞争对手之一——Windows Phone。将从开发者的角度对这两个平台进行比较。
首先,将讨论应用商店以及开发者赚钱的机会。接着,将看看两个平台支持的设备。然后,将比较Visual Studio和Eclipse。还会查看每个平台的模拟器,以了解它们的响应性和帮助性。之后,将看到Google与Microsoft的设计指南。最后,将讨论平板电脑。
让从应用商店开始,看看Google为提供了什么?Google的应用商店被称为Google Play,它包含七十万个应用程序,全球下载量达到250亿次。Windows Phone的应用商店有多少应用程序?Windows Phone Marketplace拥有超过13万个应用程序。虽然这个数字没有Android那么庞大,但仍然可以找到所有需要的应用程序。
为了在Google Play上发布Android应用程序,需要拥有一个Google Play账户,这将花费25美元。对于Microsoft,需要支付多少费用才能获得一个账户?有两种类型的账户:开发者账户将花费49美元,企业账户将花费99美元。
为了在Google Play上发布应用程序,必须通过一个验证过程,这个过程只需要15到30分钟。这在Microsoft上完全不是这样!验证过程将花费大约5天的时间,如果应用程序被拒绝,将得到一个错误报告,告诉需要更改应用程序中的哪些内容。
感谢上帝,Windows Phone Marketplace没有恶意软件。这是一个值得信赖的商店!
现在让转向设备。知道Android拥有最多的设备吗?这些设备由许多制造商生产,如三星、LG、Motorolla、Google等。因此,从低端到高端,有各种各样的设备运行在Android上。任何人都可以获得Android设备。Windows Phone的情况如何?
有一些知名的公司将Windows Phone嵌入到他们的设备中,如诺基亚、三星、HTC、LG等。微软希望为客户提供良好的用户体验,这就是为什么Windows Phone只在高质量的设备上运行。结果是成本有点高。
到目前为止,已经讨论了应用商店和设备,让看看IDE。要开始开发Windows Phone8应用程序,需要Visual Studio 2012 Express for Windows Phone。这是一个免费的IDE。Eclipse怎么样?
Eclipse是开发Android应用程序最常用的IDE,它是免费且开源的软件,没有太多的要求。要运行Visual Studio 2012 Express for Windows Phone的要求有点困难。事实上,对硬件和操作系统都有要求:对于硬件,需要一台支持硬件虚拟化的计算机,这只在新PC上可用。对于操作系统要求,需要拥有Windows 8,它不适用于Windows 7或Windows XP。此外,还需要拥有Windows 8的64位版本,而不是32位版本。
所以意思是,需要非常幸运才能满足这些要求,而Eclipse的情况并非如此,因为Eclipse唯一的要求是在操作系统下有一个JVM。事实上,一旦Eclipse有了JVM,它就不在乎操作系统是Windows还是Mac还是Linux...
Visual Studio以其为开发者提供良好的体验而闻名:调试简单且高效,这有助于快速识别和修复错误。但是,最喜欢的Eclipse的一点是它拥有大量的插件。有了Eclipse和一些插件,可以做几乎所有想做的事情。VS有插件吗?
当然!VS有许多插件,其中许多是开源的。这里的一个好处是,可以在VS中搜索、安装和更新扩展。这是一个节省时间的好方法。
好的,现在让转向另一个开发者工具,即模拟器。Android模拟器并不快,许多开发者都遭受了它的慢速。但是Google在快照选项和新机器的硬件加速方面取得了很好的进展。此外,还有一个名为Android x80的开源项目,在虚拟机下运行非常快,可以成为模拟器的绝佳替代品。让看看Microsoft的家伙为提供了什么?
Windows Phone模拟器运行得很快。它使用hyper-v进行虚拟化。这对其响应性产生了良好的影响。
好的,承认Android模拟器很痛苦,Windows Phone的情况并非如此。也承认Microsoft的产品总是设计得很好!
是的,欣赏诚实。事实上,Windows使用一种新的图形样式,称为现代UI设计。它基于将“内容置于镀铬之上”,这意味着更关心内容,而不是主题、颜色、形状等。现代UI设计有限制性的设计指南,但有一些模板和控件可供使用,它们为应用程序提供了很好的外观。此外,如果是Windows Phone开发人员或设计师,将喜欢使用Expression Blend。Blend是一个专门为不喜欢在VS中包含开发人员工具的设计师设计的IDE。一旦开发人员熟悉了这些指南,他就能够进行设计,而不需要使用设计师。另一个提高设计体验的事情是设计时数据,它在设计时为设计行为提供了一个概述。
在Android上,设计并不受开发人员的欣赏,必须编写大量的XML来获得需要的东西,拖放工具并不那么好。但是一旦掌握了XML的设计,那么限制就将是天空!Google也有他们的指南,但它们并不像Microsoft那样限制性。
到目前为止,已经讨论了应用商店、IDE、模拟器、设计和设备。在设备方面,不仅意味着智能手机,还有平板电脑。
Windows平板电脑不运行Windows Phone操作系统,而是运行在Windows RT上。Windows RT是Windows 8的“轻量级”版本,专门用于平板电脑。它不运行.exe文件,只运行Windows商店应用程序。但是有Surface Pro运行Windows 8和.exe文件。应该提到,80%的Windows Phone API来自Windows 8 API。所以可以在Windows Phone和Windows 8之间轻松共享代码。
Android在智能手机上运行,也在平板电脑上运行。从3.0版本开始,Google为更大的屏幕添加了一堆API,以便应用程序在平板电脑上更有趣,主要添加的组件是ActionBar和Fragments。