1. 开发环境
在我接触iOS编程前,我已投身Java编程很长时间。我已适应那些令人望而生畏的编程IDE(即集成开发环境),如IntelliJ IDEA、 Eclipse或NetBeans。我个人偏好IntelliJ,不仅因为它具有非常丰富的功能组,还因为此工具非常重视这些功能。同maven/ant无缝隙整合,文件名用色码标记,快速而简便的代码重组……如今功能数量已不足以区分IDE,能够区分IDE的是“生产性功能”。
这就是为什么当我首次采用Xcode 3.x时,其落后程度令我颇惊讶。它给的感觉就像是在2000年的Visual C++ 6.0上编码。我没有开玩笑!此工具具备所有必要功能——能够编译、编辑,包含源代码管理,能够进行代码重组。但完全没有“生产性功能”!你得传输多个等级的菜单方能完成“SVN添加”;最糟糕的是,你无法判断文件是否添加,或者你只有等到点击菜单后才能知道!代码重组通常会改变错误文件。因此我们很难搜索到文件。虽然我已采用Xcode 1年多,现在重新回到Java/IntelliJ,我依然觉得非常自在——因为我需要的所有工具都近在手边。
相比Xcode 3.x,Xcode 4无疑是一大进步。从中我看到更多现代IDE的痕迹,其添加更多方便的功能。但总的来说,Xcode 4依然落后于其他现代Java IDE。据说,IntelliJ IDEA开发公司JetBrains目前正在制作一款名为AppCode的IDE,主要服务iPhone编程。听到此消息,我非常高兴——至少他们能够在此领域中创造些许竞争。
但另一方面,我也非常欣赏苹果让开发者免费利用整个开发包——但需要支付100美元会员费。开发包包含许多工具,例如Interface Builder和Instruments,这些工具非常强大,Java平台中的类似工具通常都要数百或数千美元。在此方面,iOS开发者非常幸运,能够享有此一体化开发包。
在此方面,我们很难判断谁更胜一筹。Java IDE更优质,但苹果提供更好的补充工具,在IDE方面更新很快。
2. App Store vs. Android Market
我最初基于iOS平台编制程序,因此我见证App Store应用的惊人发展过程。“App Store” 的诞生令所有人都受益匪浅——开发者现在可以在中心地带呈现自己的应用,覆盖全球上亿用户;用户只需投入99美分就能享用到顶尖的游戏/应用,这在App Store之前的时代我们完全无法想象。苹果在App Store所坚持的理念和执行方式是用户软件行业的一大进步。
谷歌在iOS App Store诞生后不久也推出自己的Android Market,从那以后Android应用的数量就快速增长。但从很多方面来看,谷歌Android Market依然落后于iOS App Store。
Android Market存在的主要问题是缺乏功能性,一个典型例子就是平台缺乏推广新应用的渠道。而在iOS App Store,新应用能够呈现于许多特殊类别中,从而吸引用户眼球(游戏邦注:例如“New and Noteworthy”、“What’s Hot”和“Staff Favorites”)。虽然这些分类不是特别重要,但它们能够创造额外机会,让优质新应用得以脱颖而出。若这些应用足够优秀,它们就会受到广泛传播。但在Android Market,应用发行后的唯一推广方式就是通过“Newly Released”类别。由于每天各类别中涌现的新应用成千上万,你的应用很快就会淹没其中,无论其质量如何。
所以在此方面,苹果无疑是赢家。
3. 基础设备
我这里的“基础设施”是指,App Store/Android Market或iTunesConnect/Publisher Console背后的流程/软件,这些服务器每天不停地运作,以跟进网站,更新数据。你看不到它们,但只要你变更应用(或发行新应用,或只是更新描述),你就会感觉到它们的存在。它们是隐居幕后的超能量。
不久前,我在App Store发行自己的《PenguinLinks 2》。这是个糟糕经历。这款免费游戏的发行非常顺利,但其相关“In-app Purchase”没有跟进,直到2周后才出现。于是,在游戏推出付费版本后,我决定周末进行免费促销。遗憾的是,在同周苹果针对33个国家添加了App Store服务。我所进行的价格调整并没有起到任何作用,直到周日早晨。最糟的是,游戏只是短暂地免费1小时,然后就变回原来的价格。显然整个发行过程遇到小故障。但这对我来说是场灾难:起初看到价格发生变化,我以为操作已顺利完成;所以我向许多网站和好友发送出促销邮件。1小时后,我收到许多邮件抱怨称游戏并非免费产品。
关于这点,我并没有怪苹果。我自己是后端开发者,我知道平台有时难免会出错。但就此发生机率来看,可以说,苹果支撑App Store和iTC的后端基础设施非常陈旧。想想看,你多久会遇到其他大型网站暂停运作数小时进行平台维护?相比其他网站,iTunes的运作速度是不是很缓慢?
目前App Store依然缺乏许多在我们看来理所当然的服务。若用户提交应用评论,Android Market会立即呈现;但App Store则要几小时后才会呈现。在Android Market的发行商控制台,你可以即时看到销售情况;但在App Store,有时到了隔天,我们还无法看到总销售数据。我不会将iAd报告同谷歌的adsense汇总进行比较——二者没有可比性。
将苹果和谷歌就此进行比较也许有些不公平。毕竟,谷歌是全球数一数二的技术公司,能够快速而高效地处理众多数据。多年的搜索和数据挖掘经验让谷歌能够轻松处理Android Market的这些数据。但对苹果来说,这是全新的领域。苹果也得清楚这点。他们目前正在创建新数据中心,聘请数据处理专家。我相信他们会越变越好,但就现在来说,谷歌显然更胜一筹。
那么究竟哪个手机平台更好呢?这实在很难判断。我喜欢这种局面,因为有竞争是件好事,是吧?
<!--EndFragment-->
<!--EndFragment-->
<!--EndFragment-->
相关推荐
根据给定的内容片段,可以提取以下知识点来解析Android与iOS两大移动操作系统的优劣: 1. 应用生态与分发平台:文中提到了App Store和Android Market(后来更名为Google Play商店),这是两个平台在应用分发上的...
智能手机操作系统的安全性是当前信息化社会中的重要议题,尤其在Android和iOS这两大主流操作系统之间,安全性的比较和研究显得尤为关键。本文将深入探讨这两个操作系统各自的安全特性、潜在风险及应对措施。 首先,...
Android 和 iOS 各有优劣。 Android 系统以其灵活性和应用程序的多样性为主要优势,但同时也面临着安全性和碎片化的问题。 iOS 系统以简洁直观的用户界面和严格的安全审查赢得了用户的青睐,但其封闭性也限制了应用...
本项目“SwiftKotlination”正是对这一趋势的探索,它通过实现在iOS Swift和Android Kotlin中构建相同架构和设计模式的应用程序,来对比和研究两种语言的优劣。 一、MVVM架构 MVVM(Model-View-ViewModel)是一种...
Xamarin是一个流行的开源框架,由Xamarin公司创建,它允许开发者使用C#编写代码,并将其编译为不同平台的本地代码,包括iOS、Android和Windows Phone。这本书由Xamarin公司首席技术官推荐作序,说明了它的权威性和...
标题中的“benchmark-android”是一个项目,旨在通过对比分析在Flutter、Android原生(Kotlin)以及iOS平台上的性能,来衡量各个平台的优劣。这个项目对于开发者来说具有很高的价值,因为它提供了客观的数据,帮助...
此外,论文还比较了Android与其他手机操作系统的优劣,突显了Android在市场上的竞争力。 在具体的应用场景中,论文以一个基于Android的手机商城为例,阐述了如何利用Android平台开发移动购物应用。这个商城系统允许...
Android手机操作系统,作为全球最受欢迎的智能手机平台之一,以其独特的开放性和丰富的个性化设置赢得了广大用户和开发者的心。这个由Google主导研发的系统,不仅提供了丰富的应用市场,还与Google的各项服务实现了...
**二、WebApp与Native App的优劣比较** 1. **原生应用优势** - 运行速度快:原生应用直接编译成机器码,执行效率高。 - 更新困难:由于需要经过应用商店审核流程,因此更新相对繁琐。 - 兼容性好:针对特定平台...
它基于JavaScript、Android和iOS SDK,支持多种平台。 **主要优势** 1. **易用性**:Google地图API具有直观的文档和丰富的示例,使得开发者能够快速上手,轻松实现地图功能。 2. **功能强大**:API提供了各种功能...
对于智能手机操作系统而言,Android和iOS无疑是事实标准,其庞大的用户基础和开发者生态系统使其在市场上具有显著优势。 iOS是由苹果公司开发的封闭式操作系统,以其出色的用户体验、强大的硬件集成以及严格的App ...
本文主要对比分析了当前主流的三种智能手机操作系统:Android、iOS和Windows Phone,从用户界面、任务管理、性能、软件资源以及人工智能等方面进行深入探讨,并针对存在的问题提出未来发展趋势的预测。 1. 用户体验...
总结来说,iOS和Android在系统性能上各有优劣。iOS以其一体化的用户体验、稳定的性能和丰富的应用生态占优,而Android则凭借开放性、硬件多样性及价格选择赢得了市场的广泛接纳。选择哪种系统取决于用户对设备个性化...
源码通常包含了程序的结构、逻辑和实现细节,对于那些想要深入理解移动应用开发,特别是Android或iOS平台的开发者来说,这是一个宝贵的参考资料。 源码的核心部分可能包括以下几个关键知识点: 1. **框架选择**:...
本实训网站专注于手机操作系统,涵盖了Android和iOS两大主流平台,旨在为用户和开发者提供详尽的手机系统知识。通过这个网站,你可以了解到这两个系统的特性和差异,以及如何在实际应用中充分利用它们。 Android...
总结来说,五大操作系统各有特色,Linux以开源和低成本吸引开发者,Symbian曾以高效管理闻名,Android则凭借开放生态占据主导,Windows Phone追求无缝跨平台体验,而webOS则以创新设计短暂闪耀。在选择操作系统时,...
【Visual C++】游戏开发笔记十九:DirectX与OpenGL的博弈 在游戏开发领域,DirectX和OpenGL是两个至关重要...了解并掌握这两个API,对于扩展C++游戏开发的范围,涵盖iOS、Android和Windows Phone等不同平台至关重要。
在当前的IT行业中,移动应用开发技术繁多,如Android、iOS、React Native、Flutter、Ionic等,每个平台都有其独特的优势和应用场景。对于开发者来说,如何选择合适的开发技术是至关重要的。这篇博客将深入探讨如何...