android 和 ios的优点和缺点

合集下载

了解电脑操作系统的不同类型及其优缺点

了解电脑操作系统的不同类型及其优缺点

了解电脑操作系统的不同类型及其优缺点在本文中,我们将探讨电脑操作系统的不同类型以及它们的优缺点。

电脑操作系统是计算机的核心软件之一,它管理着计算机的各种硬件和软件资源,为用户提供友好的界面以及良好的用户体验。

不同类型的操作系统在功能、性能、易用性等方面存在差异,接下来我们将一一介绍。

一、Windows操作系统Windows操作系统是由微软公司推出的操作系统,广泛应用于个人电脑和企业级服务器。

Windows操作系统的优点包括:1) 广泛的软件与硬件兼容性,用户可以选择大量的应用程序和设备;2) 直观的用户界面,易于使用和学习;3) 强大的图形处理能力和多媒体功能;4) 完善的技术支持和持续的更新。

然而,Windows操作系统也存在一些缺点,例如:1) 安全性相对较低,容易受到病毒和恶意软件的攻击;2)性能相对较低,需要较高的硬件配置才能保证流畅运行;3) 需要支付较高的授权费用。

二、Mac操作系统Mac操作系统是由苹果公司开发的操作系统,主要用于苹果电脑和移动设备。

Mac操作系统的优点包括:1) 优秀的用户体验,界面简洁美观,操作流畅;2) 强大的性能和稳定性,能够有效利用硬件资源;3) 高度的安全性,较少受到病毒和恶意软件的威胁;4) 系统升级方便,苹果公司提供了免费的操作系统更新。

然而,Mac操作系统也有一些缺点,例如:1) 较高的价格,苹果设备相对其他品牌较昂贵;2) 软件与硬件兼容性相对较差,选择面相对较窄。

三、Linux操作系统Linux操作系统是一种开源操作系统,由全球开发者共同维护和推进。

Linux操作系统的优点包括:1) 开源性质,允许用户自由修改和定制系统;2) 高度的稳定性和安全性,能够长时间运行而不需要频繁的重启;3) 良好的性能表现,能够有效利用硬件资源;4) 多样的发行版选择,用户可以根据需求选择适合自己的发行版。

然而,Linux操作系统也有一些缺点,例如:1) 用户界面相对较为复杂,需要一定的技术能力才能使用和定制;2) 在软件和驱动兼容性方面相对较弱,某些应用程序可能无法在Linux上运行。

苹果手机与Android手机测试区别

苹果手机与Android手机测试区别

例如:1.Android:菜单键和返回键(几乎必带),应用在任意界面都应支持菜单和返回键的操作;iOS:只有一个home键,测试应用必须有进入应用菜单的入口,各界面必须有可返回上一级的出口(除首界面);错误案例:2.iOS系统习惯:应用需支持基本手势操作,如:向右滑屏退出,iPad抓握退出;点击title处回到list顶部;2、功能测试不同如:1.Push消息推送机制不同:Android为应用自己的消息推送机制,iOS为调用苹果系统的push服务(对应证书不一样,测试开发者证书和公司证书正式版均测到)。

2.手机存储空间和位置不同:Android支持手机本身存储空间和扩展SD卡(应用可选择存放位置),iOS只有手机本身存储空间不可扩展;iOS端需注意:苹果审核规则规定:“只有那些用户生成的文档和其他数据或者是那些不能被你的应用所重建的数据应当保存在<Application_Home>/Documents 目录内。

这些数据文件将会自动的通过iCloud备份。

”如果在没有用户生成数据的情况下,备份数据超过1M,将会面临被拒的风险,2M以上肯定会被拒1.适配性测试:A.手机不同分辨率及屏幕尺寸支持:Android分辨率及屏幕适配较多(市场机型多),3.5到7.0屏幕在UI显示的区别;iOS分辨率及屏幕适配较少,至今基本4种屏幕尺寸:3.5、4、4.7、5.5寸;B.手机不同系统版本的支持:Android主要:2.3 4.0 4.4 5.0 (定制系统:miui、阿里云OS、移动OS)等;iOS主要:5.0、6.0、7.0、8.0等系列;C.手机不同厂家系统的支持:不同厂家会有不同android系统,例如:小米,华为,酷派、三星、中兴对市面上主流手机的支持;iOS只有自家苹果iOS系统;2.安装、卸载工具测试:Android:1>.生成apk文件在真机上可以安装及卸载;2>.Android手机端通用安装工具。

ANDROID系统优缺点

ANDROID系统优缺点

Android优点:
1.开源特性,得到众多厂商的支持
由于Android的开源特性,所以得到了众多的厂商的支持,除了诺基亚和苹果之外,其他的手机大牌厂商悉数支持Android系统,通过厂商的努力开发,Android的界面非常丰富,可选择性很强。
▲定制界面丰富是Android的特点
2.软件发展很快
Android虽然只有只有两年的发展,但是也得到了开发者的青睐,目前Android Market的软件数量已经达到了10W多,对于一个新生的系统已经非常不错。
▲Android Market发展很快,还很多免费软件
Байду номын сангаас
3.界面UI、不错
Android来源于Google,目前来看,Android的UI设计和系统优化还是非常不错的,是除了iOS之外最受好评的系统,而且Android对于系统的要求并不苛刻,所以很多机型可以流畅运行。
▲Android还是很优秀
Android面临的烦恼:
1.版本过多,升级过快
由于Android的开放式特点,所以很多的厂商推出了定制的界面,如HTC Sense、MOTO Blur、三星Touchwiz等等,这提供给客户丰富选择的同时,也造成版本过多,升级较慢的特点,因为Google的升级速度很快,而厂商要推出新固件需要经过深度的研发,就造成升级滞后的问题,比如联想乐Phone还运行在1.6系统,里程碑也一直没有升级到2.2......
▲Android1.6还是很多手机采用
2.不一致
由于Android在不同的厂商,不同的配置下均有机型,所以造成有些机型运行Android系统流畅,有些则是缓慢卡顿等问题,就如《愤怒的小鸟》的开发商就表示,这款人气游戏在很多的Android机型上运行得不是很理想,不过就像我们用的PC也有的好有的坏一样,这倒是不必太多顾虑这个问题。

专业对比iOS和Android手机操作系统的优缺点

专业对比iOS和Android手机操作系统的优缺点

专业对比iOS和Android手机操作系统的优缺点iOS和Android是目前全球用户最多的两种手机操作系统。

iOS是苹果公司开发的专有操作系统,只适用于iPhone、iPad和iPod Touch等设备;而Android是由Google公司推出的开放源代码操作系统,适用于多种手机品牌,比如三星、华为、小米等。

本文将对比iOS和Android操作系统的优缺点,以帮助用户做出更明智的选择。

一、用户界面iOS操作系统以其简洁、直观和一致的用户界面而闻名。

它采用了统一的图标和系统菜单,易于上手,并且保持了高度的用户一致性。

用户可以通过滑动、捏合、点击等手势来操作界面,在操作体验上非常流畅。

相比之下,Android的用户界面更加灵活和自定义化。

用户可以更改主屏幕布局、图标样式,还可以添加小工具和自定义小部件。

Android的界面更加适应用户的个性化需求,但有时也会导致界面的一致性不够,可能会给新用户带来一定的学习成本。

二、应用生态系统iOS的应用商店,即App Store,是最大的移动应用平台之一。

在App Store上,用户可以找到丰富多样的应用程序,涵盖了几乎所有的领域。

App Store对应用的审核要求较高,确保了应用的质量和安全性,但也限制了一些开发者的自由度。

Android的应用商店是Google Play,它提供了更加开放的环境,允许开发者更容易地发布应用。

虽然这意味着在Google Play上可能会有更多的应用,但也难免存在一些质量不高的应用和安全风险。

三、系统定制与开放性iOS是一个封闭的操作系统,只能在苹果公司授权的设备上使用,并且不能轻易定制。

这种封闭性保证了系统的安全性和稳定性,但也限制了用户对系统的个性化需求和自定义程度。

与之相反,Android是一个开源操作系统,用户可以在授权范围内对系统进行自定义修改。

这意味着用户可以根据自己的需求更改界面、系统设置、默认应用等,使得Android系统更加灵活、适应性更强。

各类手机操作系统的优缺点比较

各类手机操作系统的优缺点比较

各类手机操作系统的优缺点比较在如今全球智能手机市场已成熟的情况下,各种手机操作系统层出不穷。

从最早的Symbian,到iOS、Android、Windows Phone、BlackBerry、Tizen等各种操作系统,它们都有各自的优点和缺点。

本文将对以上几种操作系统做一个详细的优缺点比较。

一、SymbianSymbian曾是智能手机界的佼佼者,曾经在国内市场叱咤一时,但现如今它已逐渐退却出手机界。

事实上,Symbian还是有一些优点的。

优点:1.多任务处理能力很强,在不影响系统运行流畅性的情况下,可同时运行多个应用程序。

2.提供系统自带懒人模式,该模式下,用户只需靠语音服务操作,无须点击屏幕,是极为方便的。

3.拥有独特的开机动画、主题壁纸等自定义等功能,深受许多老用户的青睐。

缺点:1.操作系统完全使用异步机制,导致使用起来极为复杂,对商业软件开发不友好。

2.界面设计呆板,使用体验较低。

3.网络连接速度慢,缺乏并短缺的Wifi网络接入支持。

二、iOSiOS作为Apple公司推出的系统,在其智能手机iPhone上最先得到了推广发展。

相比其他智能手机操作系统,iOS有许多特殊的优势。

优点:1.界面设计风格先进,美观度和便利性高,易用性极强。

2.支持多点触控操作,操作更为灵活。

3.系统的应用程序数量庞大,一般能满足用户的各种需求。

4.需要访问敏感操作时,系统将提示用户是否允许进行该项操作,这是其他操作系统所不具有的优势。

缺点:1.系统比较封闭,用户无任何折腾的余地,而且所有应用都必须经过App Store首先审核才能上架。

2.缺少文件管理系统,导致文件管理不便。

3.相比Android,iOS定制化程度较低,用户无法按照个人喜好进行自由设置。

三、AndroidAndroid是谷歌推出的一款操作系统,因其开源的特性,受到了开发者的青睐。

优点:1.系统源代码公开,支持开发者客制化,多用于大发棋牌app游戏内嵌。

安卓Android与苹果ios优劣与发展前景-文档

安卓Android与苹果ios优劣与发展前景-文档

安卓Android与苹果ios优劣与发展前景Andrews Android and Apple IosStrengths&Weaknesses and ProspectsWang Zhifeng1,Xue Yuan2(1.Shanghai Research Center for PolymerMaterials,Shanghai200333,China;2.Hongqiao International Airport and Shanghai Airport GroupCorporation,Shanghai200335,China):This paper describes Google's Andrew system with Apple's IOS system,introduced the application of two systems,detailed evaluation of the differences between the system and the pros and cons,and look at future trends and prospects.Keywords:Andrew Android;Apple ios;System前言:近几年最火的手机和平板电脑是哪个?很多人都会马上说iphone和ipad,问起哪个操作系统普及最迅速和最广的,大家都会想到谷歌的安卓Android系统,这个在2010年在手机以及平板的异常火爆的系统,直接挑战着苹果在手机以及平板系统的霸主地位,自iPhone在07年初次登台将智能手机直接带向移动互联时代后,一方面智能手机普及率直线上升,另一方面整个市场目前呈现了iPhone与Android手机两强争霸的局面。

一、简单介绍下这2个操作系统iOS是由苹果公司为iPhone手机开发的操作系统。

它主要是给iPhone、iPod touch以及iPad使用。

五大移动终端操作系统比较

五大移动终端操作系统比较五大移动终端操作系统比较1.操作系统简介移动终端操作系统是指用于智能方式、平板电脑等移动设备的软件系统,主要用于管理硬件资源、提供用户界面和运行应用程序。

目前市场上有五大主要移动终端操作系统,它们分别是Android、iOS、Windows Phone、BlackBerry OS和Slfish OS。

本文将对这五个操作系统进行详细比较。

2.Android2.1 操作系统特点- 开放源代码,允许开发者对系统进行自定义和修改- 应用程序丰富多样,Google Play商店拥有大量应用可供- 可以在多个设备上使用,具有广泛的兼容性- 提供强大的个性化定制功能,用户可以根据需求自定义界面和功能2.2 优点- 开放性和自由度高,吸引了大量开发者和厂商支持- 应用程序丰富,满足用户多样化需求- 可定制性强,用户可以根据个人喜好自定义界面和功能2.3 缺点- 由于开放性,存在一些安全问题和恶意软件的风险- 各个厂商对系统进行的定制不一致,导致用户体验不同- 系统更新困难,使用旧版本的用户较多3.iOS3.1 操作系统特点- 封闭的生态系统,只能在Apple设备上运行- 提供流畅的用户体验和一致性的界面设计- 应用程序质量较高,App Store审核严格,减少恶意软件风险- 提供良好的安全性和隐私保护机制3.2 优点- 系统流畅稳定,用户体验一致- 应用程序质量高,减少了恶意软件的风险- 提供良好的安全性和隐私保护3.3 缺点- 封闭的生态系统,只适用于Apple设备- 应用程序数量相对较少,选择范围较窄- 定制性较差,用户无法自定义界面和功能4.Windows Phone4.1 操作系统特点- 提供独特的平铺式用户界面- 集成微软生态系统,与Windows平台的其他设备无缝连接- 提供较高的安全性和隐私保护机制- 良好的多任务处理能力4.2 优点- 独特的用户界面,给用户焕然一新的体验- 与Windows平台的其他设备有良好的兼容性- 提供较高的安全性和隐私保护4.3 缺点- 应用程序数量较少,与Android和iOS相比有限- 定制性较差,用户无法自定义界面和功能- 相对较少的厂商支持和设备选择5.BlackBerry OS5.1 操作系统特点- 特别注重安全性和隐私保护- 提供全键盘设备,适合方式键盘用户- 支持企业级功能,适合商务用户- 集成了黑莓生态系统,包括黑莓Messenger等特有应用5.2 优点- 高度注重安全性和隐私保护,适合有高安全需求的用户- 全键盘设备,适合方式键盘用户- 支持企业级功能,满足商务用户的需求5.3 缺点- 应用程序数量有限,与Android和iOS相比较少- 用户体验相对较差,界面设计较老旧- 市场份额逐渐下降,厂商支持不如以往6.Slfish OS6.1 操作系统特点- 基于Linux开发的开源操作系统- 注重用户隐私和数据安全- 支持安卓应用兼容,可以在Slfish设备上运行安卓应用- 提供高度的自定义和个性化定制功能6.2 优点- 开放源代码,吸引开发者进行定制和创新- 注重用户隐私和数据安全,保护用户权益- 兼容安卓应用,扩大了应用程序的可用范围6.3 缺点- 市场份额较小,用户基数相对较少- 定制性和兼容性仍需改进- 设备选择有限,厂商支持较少本文档涉及附件:暂无附件。

android操作系统优缺点有哪些

android操作系统优缺点有哪些如今叱诧互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。

接下来是小编为大家收集的android 操作系统优缺点方法,希望能帮到大家。

android操作系统优缺点:一、开放性在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。

显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。

开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。

开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

二、挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。

从去年iPhone 上市,用户可以更加方便地连接网络,运营商的制约减少。

随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈,当你可以通过手机IM软件方便地进行即时聊天时,再回想不久前天价的彩信和图铃下载业务,是不是像噩梦一样?互联网巨头Google推动的Android终端天生就有网络特色,将让用户离互联网更近。

三、丰富的硬件选择这一点还是与Android平台的开放性相关,由于Android 的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。

功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,好比你从诺基亚Symbian风格手机一下改用苹果iPhone ,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移,是不是非常方便呢?四、不受任何限制的开发商Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。

ios和安卓操作系统各有什么特点

ios和安卓操作系统各有什么特点安卓和ios操作系统可以说是目前手机设备操作系统的两个巨头了,两者都有着举足轻重的地位,那么两个各有什么优势呢。

下面由店铺为大家整理了ios和安卓操作系统的特点介绍,希望对大家有帮助。

1 ios和安卓操作系统特点比较Android和iOS系统作为当今手机和平板电脑领域的主流操作系统很难说谁一定比谁更加优秀。

iOS凭借着优越的操作体验,以及丰富的应用将手机市场带入到了智能手机的时代。

原来手机领域的巨人诺基亚以及摩托罗拉则分别被微软和谷歌公司收购,而索尼爱立信则分道扬镳。

原先功能机的时代被乔布斯以一个苹果彻底击碎,又由Android对其进行了发展壮大。

凭借着Android的开源性的特点,各大手机厂商纷纷加入其阵容,推出了各自的Android系统的手机,将智能机的市场做大,进一步推进了智能手机市场的扩大。

2.1 Android系统分析以往Android给人的印象是一个模仿者。

在Android早期的时候有很多地方都有iOS系统的痕迹。

Android发展至今在很多地方都有了自己的创新之处,而这也使得Android系统不再背负着模仿者的骂名。

就比如说2013年7月25日推出的Android4.3 版本中的受限账户功能:根据不同的受限账户情况(儿童、访客和零售商店等),设备所有者可以进一步指派哪些应用有权使用所有者的身份和设置,更能够简单地禁用或隐藏他们。

而这一功能在iOS系统上就比较难以实现。

Android系统的源代码拥有良好的开放性,这一点能够吸引更多的开发者加入到其阵营钟来。

开发者对源代码进行,充分满足使用者的个人需求,符合个人的使用习惯。

但是Android系统使用对硬件要求较高,这也是为什么很多手机厂商在推出自身手机时总是对一些硬件参数要着重强调。

只有较高的硬件配置才能够更好更流畅的运行。

目前各主流手机生产厂商都开发了自己专属的Android系统版本。

较为知名的有小米公司的MIUI,三星的T ouchWiz 以及HTC的Sense 等。

Android系统和iOS系统的用户界面对比

Android系统和iOS系统的用户界面对比Android系统和iOS系统是目前市场上最为流行的两款手机操作系统。

使用这两款系统的用户都会对它们的用户界面有所了解,在外观、设计、交互等方面表现非常不同。

本文将对这两款系统进行比较分析,以期探讨它们的异同,并对其优缺点进行评价,为大家带来更为全面的比较。

一、外观设计Android系统和iOS系统在外观设计上有着根本性的不同。

Android系统注重的是个性化与自由,因此用户可以根据自己的喜好来自定义手机壁纸、主题和应用图标等,从而让每个人都能拥有独一无二的手机界面。

同时,Android系统也支持多种桌面和图标排列方式。

用户可以随意定制自己的桌面,自然度、清新度等的唯美设计也是其最为亮眼之处。

iOS系统也有自己的独特优势,其界面更加简洁、明了,整体感觉较为成熟稳定,没有Android界面那种过于花哨的感觉。

比如在锁屏界面上,iOS使用扁平化UI设计,圆形图标、小红点等元素的运用也让人感到非常清新,这些设计细节无形中给人带来了一种温馨的感觉。

二、交互设计Android系统和iOS系统在交互设计上都有着自己独特的风格。

Android系统注重的是自由度与个性化,同时也比较强调操作者和设备之间的互动性。

Android系统比较注重手势操作,比如长按、滑动、双指放大、双击等操作方式。

这种交互方式显得十分自然,因为人的大脑很容易接受此类操作方式,而且这种交互方式也让用户能够更加深入的探索、发现更多的手机功能。

相比之下,iOS系统则更加注重简洁、明了度。

它采用简单的交互手法,例如轻扫、拖动、点击等,无需额外学习,这也是Apple一直推崇的交互理念。

此外,苹果也非常注重声音和震动来反馈用户的操作,从而增强用户的交互体验。

三、设计哲学Android系统和iOS系统的设计哲学也完全不同。

Android系统更加注重开放性与自由度,这也是众多安卓粉丝所喜欢的原因。

Android开发人员可以自定义自己的应用,也可以在应用中加入更多的特色功能,给用户带来更多的选择。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android 和iOS 孰优孰劣:真实应用开发过程告诉你答案随便搜索一下“Android vs. iOS”,都会出现很多关于哪个平台更好的争论,大多数的争论点都是关于市场占有率、易用性和设备分化等问题。

当然也有一些“以开发者的角度”去比较这两个平台的文章,但是很少有从技术上做深入的比较,通常也只是用一个简单的示例应用介绍一些基本的特性。

缺少这种深入的比较其实是有原因的:一个公司要做一个足够复杂的移动应用,通常需要一个人或团队做Android,另外一个人或团队做iOS。

这两个平台使用不同的编程语言(Java和Objective-C),提供不同的SDK,使用不同的开发工具,所以人力资源分配上各做各的平台也就不奇怪了。

GQueues是一个在线任务管理器,之前只有一个HTML5版本。

最近我完成了GQueues for Android 和GQueues for iPhone & iPad 的开发。

虽然这两个应用的复杂程度不能和第一人称射击游戏相提并论,但也绝不简单–为用户存储和管理数以千计的任务信息、支持多账户、提供到WEB端的后台同步、复杂的过滤、排序和分组功能。

通过这次的实践,我希望透过独特的视角,分析和比较为这两个平台开发GQueues应用的过程。

统计概况Android App iOS App启动日期Sept 21, 2012 Mar 2, 2013第一个可测的Dec 22, 2012 June 10, 2013Beta版本应用发布日期Jan 31, 2013 July 18, 2013项目总耗时 4.25 months 4.5 monthsRamp Up Time 1 week 2 weeks开发耗时870 hours (approx) 960 hours (approx)Beta测试34 days 38 days&BugfixBeta测试人员92 people 48 people人数代码行数26,981 lines 23,872 lines应用大小 1.1 MB 3.5 MB视频预览GQueues for Android Video GQueues for iOS Video下载学习曲线我已经写了12年的代码,但这是我写的第一个Android应用,也是我写的第一个偏向数据处理的iOS应用(2010年我做过两个iOS 3上的游戏,但那两个游戏主要只涉及一些动画和蓝牙连接)。

我最后一次用Java是在研究生阶段,而我的Objective-C也仅限于那两个游戏。

所以对于这两个平台,我基本上可以算是从零开始。

简单讲,只需要花一半学习iOS的时间来学习Android,我就能开始Android开发。

对于Android,我花了一周时间用来看书、跟着一些教程做一些测试应用,这些测试应用包含了GQueues将会用到的一些核心功能。

做完这些,我基本上算是打好了为GQueues设计架构的基础,同时也可以开始为这个项目写代码了。

在接下来的一周我可以很轻松自如地基于Android做开发,而不再需要依赖某个资源去实现新特性了。

对于iOS,我同样按照上面的流程,但我花了两周时间做各种测试/实验,才让自己觉得可以开始为这个项目写一些基础代码了。

其中大部分的时间都花在研究CoreData各种复杂的API上面。

搞清楚怎么设置、怎么在线程安全的前提下,为每个用户集中管理PersistentStoreCoordinators和ManagedObjectContexts也花了些功夫,最重要的是要支持多账户(这个话题可能需要另一篇博客来单独讲讲)。

为FetchedResultsControllers开发一个可扩展的架构花了更多时间,FetchedResultsControllers用于支持可被用户查看以及操作的任务表单、队列和分类。

最后又过了两周(总共花了一个月)自己才能比较轻松自如地基于iOS写代码。

总的来说,Android的文档(官方文档、第三方教程、图书、代码示例、StackOverflow)质量都非常高。

我从一些著名的开源Android应用中学到了很多架构上的最佳实践,如Google开放给开发者的2012 Google I/O app。

此外,Android本身就是开源的,必要时我可以自己查看Android的平台代码,弄清楚一些疑难问题。

虽然iOS也有很多文档,但由于iOS5和iOS6相比之前的版本改动非常大,大部分文档都已经过时,其中包括ARC入门一文(introduction of Automatic Reference Counting)。

因此,大部分的示例代码(包括Apple官方示例)和一些问题的解决方法都是不正确的,需要使用新的方法取而代之。

搞清楚这些肯定也需要花更多的时间。

从上面的统计表中也可以看出,开发GQueues for Android要比开发iOS 版的快十分之一的时间,尽管在开发Android版的期间我重新实现了之前用于支持GQueues HTML5版的整个后端服务器同步代码。

而开发一个不采用原始iOS6风格UI的应用也需要多花些时间,单单比较这个数据,Android开发就是比iOS开发快。

用到的资源上面列出来的书其实用处很有限,因为跟大部分的技术类书籍一样,书的内容都有点过时了,而且大部分书只停留在入门级别的概念介绍。

不过,在一开始的前几天看一下这些书,能够比较快地理解平台上的一些核心功能。

就目前来讲,对于这两个平台,在线资源仍然是最有价值的。

工具接下来我只简单说一下这两个平台的开发工具,因为关于这个话题已经有很多的讨论。

我不是Eclipse或者XCode的脑残粉,它们有各自的强项和弱点(其实我最喜欢的还是Vim)。

Eclipse的搜索暴慢而且很繁琐。

XCode Organizer的文档搜索也卡爆了。

Eclipse中使用log tags(通过Android插件的logcat集成)过滤日志超级实用。

两个IDE的代码补全都很不错,XCode的Interface Builder一点用处都没有(后面细讲)。

不过XCode Instruments 就非常有用了,可以用它做优化分析、调试等等。

我开始做GQueues for Android的时候,Google还没发布Android Studio,不过在GQueues的后续更新版本中我会拿它来试试。

如果你一边写代码一边测试,用Android的模拟器简直就是浪费时间(真不敢相信它能慢成这个鸟样)。

在开发过程中,我都是直接部署到真机上测试的,用真机快很多。

iOS的模拟器则很不同,跟Android相比简直就是火箭跟蜗牛赛跑,这也让整个开发过程更加高效。

每写一小段代码我都会在模拟器上跑一下,等到整个功能完成了我就会部署到真机上玩玩。

对于Android,我有各个版本的测试机器(除了Gingerbread,即Android 2.3),除此之外,就要倚靠beta测试过程中各种设备的覆盖了。

对于iOS来讲就要简单很多了,我只需要拿GQueues需要支持的最旧的和最新的机器来测试就够了。

测试设备设计设计布局GQueues的其中一个需求就是必须同时支持任意尺寸的手机和平板,并且针对不同的表单元素进行优化布局。

由于各种各样的设备都运行着Android系统,Android也理所当然地有着成熟的UI组件帮助开发者支持各种尺寸。

例如从Android第一个版本开始,RelativeLayout提供了View之间相对布局的支持,可用于创建灵活、响应迅速的布局。

另外,在Android中所有的布局都由XML定义,这设计界面的方式非常简洁、简单并且高效,试过iOS中创建布局之后这种体会就更加深刻了。

相对于Android的RelativeLayout,iOS有Auto Layout,这种布局方式比较新(iOS 6新引入的),集成到了Interface Builder(IB)中,但是太难用了。

我花了好多天学习IB中怎么用Auto Layout,跟任何iOS 6开发者一样,仅靠IB为视图(View)设定各种精确的约束,完全改变了我自己的标准,这是因为IB所谓的“智能”系统时刻维持(纠正)着视图布局相对位置。

我学了很多技巧,想着弥补IB的短板,但是没啥作用。

最后我只能放弃IB,转而用冗长的代码实现所有布局。

如果你放弃IB和富有极客范的ASCII art style来写布局,使用Auto Layout来实现还是很强大、很直接的。

希望苹果在iOS 7中已经改善这些,不过我还木有试过。

如果一个应用需要同时针对小屏设备和大屏设备进行优化,最关键的就是基于屏幕的真实尺寸进行动态组合视图,这种方式被称作“适配性布局(Adaptive Layout)”,平板电脑可以在一屏中显示两个或三个视图,而手机上一屏则只显示一个视图。

Android通过Fragments支持这种设计,Fragment是一个独立的、自包含的的模块,能够在需要的时候直接丢到Activity 中去用。

通过使用Fragments,只需要调整几行XML代码就可以让GQueues的布局适配不同分辨率的屏幕。

对于我来讲,Fragments是一种非常自然的解决方案,因为它是基于面向对象里面两个众所周知的准则设计的 - 高内聚和低耦合。

通过Custom Container View Controller(你也可以用Master-Detail模板,当然这种方式宽度是固定的,也不支持个性化定制),iOS支持一屏使用多个ViewController。

对于这个不成熟的特性,我觉得Apple的文档显得很复杂和不完整,最好的资源还要数Ray’s iOS5 tutorials和WWDC视频。

我花了比预计要多的时间,终于搞好了在iPad上同时显示多个View、在iPhone上显示单个View的布局架构。

设备翻转简单说,在Android上支持设备翻转需要做很多工作,这些工作也是最终导致很多bug的源头,而在iOS上,支持屏幕翻转只需要做一点点工作,剩下就是系统帮我们搞定了。

在Android上,屏幕翻转会直接销毁现有整个视图栈(Activity栈),屏幕翻转完成后再重建每个视图。

所以在GQueues中支持屏幕翻转,我需要无时无刻保存好所有当前状态,随时保证翻转后能正常恢复状态。

而在iOS上,系统会帮你管理所有屏幕翻转相关的细节,唯一需要我关心的就是翻转之后,我需要调整那些没有被Auto Layout处理好的视图的位置。

“复杂”布局网页开发上有一些常见的布局在GQueues上实现起来非常困难,不管是Android还是iOS。

其中一个例子是在任务详细界面显示标签。

每个标签都是变长的,在必要时标签需要自动换行。

在网页上实现这个只需要设置CSS的float值就可以了。

相关文档
最新文档