仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1144|回复: 9
打印 上一主题 下一主题

[学习教程] IOS制作之DHH 谈夹杂挪动使用开辟仓酷云

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在python中的函数__xxxNSString字符串NSArray数组NSDictionary字典这些都需要弄很清楚其他的类都是一个套路NSMutableArray这样带Mutable的类代表可变的David,RubyonRails作者,37signals合股人
滞销书作家、演说家、赛车手、专业拍照师、顾家好汉子
37signals在2013年2月公布了Basecamp的iPhoneapp,在此之前我们就利用原生开辟(native)仍是夹杂开辟(hybrid)做了很多实验。在2012年项目启动的时分,年夜多半人都偏向于原生开辟。
Facebook在2012年公布了他们新的iOSapp,为了取得更好的用户体验,他们保持了本来的HTML5夹杂开辟体例。思索到2010~2011年的时分,HTML在挪动真个功能的确不尽善尽美,这个决意在事先看来也在道理当中。2010年的时分我们以为iPhone3G/3GS够眩够快,但依照如今的尺度来看它们就太慢了。因而在为挪动使用开辟做架构计划时,我们必要思索新的挪动设备的盘算才能,而不是那些老的过期的设备。
挪动开辟架构计划不必要过量思索设备的功能

我们从一些测试中得出的一个结论是:如今的挪动设备盘算才能都很强,运转原生使用和HTML使用的效果不同不年夜,而HTML开辟的本钱则要比原生开辟小很多。
固然这个结论在某些范畴其实不太合用。假如你要开辟一个3D游戏,原生开辟体例可以带来更好的游戏体验。但假如你的挪动使用象Basecamp一样偏重信息处置,为了下降开辟本钱,你就能够思索夹杂开辟体例。我们就是云云,上面是我们三代挪动产物的开展轨迹:
第一代产物:原生外壳(nativeshell)+嵌套WebView


<br>
这个版本就是一个复杂的原生外壳卖力界面导航,嵌套一个WebView来显现BasecampRailapplication,显现的基础上都是我们挪动网站页面,再加上一些特别的款式。
在挪动网站的页面上嵌套一个原生的壳,听起来仍是Web页面,但实践带给用户的体验确长短常分歧。用户能够在AppleAppStore找到我们的app,他们一旦登录app后能够不再用从头登录(挪动版本的Safari仿佛会常常清空cookie,让你不能不从头登录)。我们的app年夜受接待,用户评分在4和5之间。
全部app由一位程序员和一位计划师开辟,本钱不高,由于我们能够在已有的挪动网站的基本上开辟。
假如我们现在开辟完整原生的app,用10团体的团队1年半的工夫也一定能完成。
第二代产物:原生外壳+原生导航界面


<br>
几个月前公布的BasecampAndroidapp是我们的第二代产物,我们在个中做了大批的改善。
从第一代iPhoneapp中我们感觉到了原生导航界面的能力,以是在Android版本中,我们由HTML页面导航转向了原生导航界面。我们从HTML页面熟成原生导航界面,用户体验加倍流利,原生界面和HTML页面的体验不同愈来愈小,乃至很难辨别哪些是原生部分,哪些是HTML。
Android版本是由一两个程序员和一个计划师开辟(50%投进)完成的。我们重用了挪动站点和iPhoneapp中利用的一切webview,年夜年夜进步了开辟效力,同时用户也很买账,凌驾1000名用户打了4.5~5的高分。
良多公司在埋怨他们的iOS挪动项目停顿迟缓,Android项目仿佛更是云云。也许他们已习气了iOS项目标开辟流程,大概是由于Android的屏幕碎片化成绩,可是这些对我们来讲那都不是事。我们推出的Androidapp体现优秀,重用了95%的代码,开辟团队也一向坚持在小范围。
量体裁衣地使用原生开辟体例

今朝我们正在开辟第三代产物,公布的平台临时保密,不外你应当也不难猜到。在前两代产物中,我们增添了原生导航界面的利用,同时进一步断定了以webview为中心的全体架构。在第三代产物中,我们将量体裁衣地选择必要利用原生开辟的功效,好钢要用在刀刃上。
从之前的100%HTML,到如今的90%HTML+10%原生,我们会选择最值得做原生开辟的那10%的部分,终极目标是让app原生部分和HTML部分的体验没有太年夜区分。
夹杂开辟形式利用的手艺

夹杂开辟形式在手艺很复杂,次要是处置webview的集成、Web页面的加载,和原生内容和HTML内容之间的交织链接,实在大概比你想像的还要复杂很多。
HTML方面,我们的RailsWeb使用撑持Web和挪动两年夜平台,个中Rails4.1featureofvariants起了很年夜的感化。
这也很年夜水平上有助于我们公布新功效。假想一下假如我们每次必要更新这么多平台:Railsdesktopapp,aRailsAPIapp,aclient-sideMVCapp,amobilewebwrapperapp,anAndroidapp,andaniPhoneapp,像我们如许只要10个程序员和7个计划师的公司基本有力承当云云伟大的事情量。
除事情量的加重,bug修复效力也进步了,由于年夜部分的代码逻辑是在Web服务器端,我们能够随时修正代码并公布,不必经由过程AppleAppStore的审批流程。以是我们的挪动app和Web使用一样,也是延续部署。
就如我之条件到的,夹杂形式开辟其实不合用于一切情形。在2010年之前,当时手机的处置才能都不强,以是HTML/JS的体验其实不好,用户也不喜好。可是一成不变,如今手机的处置才能年夜年夜进步了,HTML/JS的功能也不再是一个成绩。
夹杂开辟形式对原生开辟形式的应战

夹杂开辟形式在下降开辟庞大度方面有它的上风,假如你的产物是以显现和处置信息为主,我以为都能够分歧水平地接纳这个形式。
关于小型团队和公司而言,其实不必定必要接纳iOS原生app先行的形式。利用夹杂形式,不必要你重头开辟一个app,如许能够下降保护本钱,未来扩大到其他平台也更加便利。
固然我晓得会有良多人质疑这个形式,也许由于他们的app中有良多中央必要原生开辟(大概仅仅是他们本人如许以为而已)。又也许他们已花了良多工夫让app里的UITableView看起来十分大度,乃至假如其他中央不如许的话显得不是太完善。再也许至公司就是喜好耗时耗力的原生开辟,有钱就是这么率性。
不管如何,夹杂开辟当下应当可以成为我们挪动开辟战略的一个选择。假如你以为这是一个好的选择,那末祝贺你,恣意兴奋地游玩吧!
原文链接:Hybridsweetspot:Nativenavigation,webcontent
上面增补一些David答读者问:
MikeWaite@2014-05-08:我很猎奇你是怎样决意哪些功效要用原生开辟?
David@2014-05-08:次要靠感到,这究竟不是一门迷信。假如你感到你app的某一部分假如用原生开辟会更好些,能够实验做疾速原型(spike)。良多时分我们经由过程这类体例证实我们的设法实际上是错的。固然假如你必要利用得手机上的功效如:摄像和其他设备时,HTML今朝还不太合用,不外永久也不要把话说逝世。

你可能还需要学习使用Xcode这个开发环境,接著你需要掏钱向苹果注册开发者权限,基本的帐号是99美金。本视频为“斯坦福大学iPhone开发教程”,51CTO将不断关注本视频教程的更新进度,为大家提供最新的视频。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-21 06:49:07 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
小女巫 该用户已被删除
板凳
发表于 2015-1-30 10:02:33 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
飘灵儿 该用户已被删除
地板
发表于 2015-2-6 09:47:25 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
不帅 该用户已被删除
5#
发表于 2015-2-7 03:50:44 | 只看该作者
好处就是运行速度会变快,ios6针对系统的优化进一步加强了,很多网友测试ios6,第一感觉就是速度快,而且ios69会有一些新功能,新浪微博,facetime支持3G网等等。。弊端就是,现在的ios6只能算是正式版本的第一个版本,bug很多,不少人刷完ios6都出现了很多毛病,开不开机,缺少图标等等。。最好现在不要升级,等官网放出下一个版本的时候,再选择升级。。。
再见西城 该用户已被删除
6#
发表于 2015-2-20 07:27:51 | 只看该作者
其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。
谁可相欹 该用户已被删除
7#
发表于 2015-3-6 16:37:23 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
爱飞 该用户已被删除
8#
发表于 2015-3-12 15:26:59 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
透明 该用户已被删除
9#
发表于 2015-3-19 23:26:56 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
分手快乐 该用户已被删除
10#
发表于 2015-4-3 04:48:03 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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