仓酷云

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

[学习教程] IOS编程之HTML5挪动App分析仓酷云

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:47:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Model的改变最好通过Notification来传播之前吃过这样的亏最好不要用delegate模式)UIViewController
<br>
已往的几年里,我一向在研讨HTML5挪动Apps。全体的印象就是HTML5为开辟者供应了一个跨平台的挪动apps开辟计划,而且该计划具有很好的扩大性和天真性。我一直以为web手艺将成为挪动设备上的开辟平台,只是今朝该手艺大概还没有成熟。
我很忧虑有些人还没有弄分明HTML5究竟是甚么,就自觉地入手下手在本人的挪动设备开辟中利用HTML5了。
在已往的一年中,我在勉力地改动人人对HTML5的了解,让他们熟悉到HTML5是一个挪动开辟平台。
人人都晓得HTML5可以做哪些事,可是你又是不是晓得HTML5是怎样做这些事的呢?
从我利用web手艺开辟的第一个挪动产物到明天,已有凌驾十年的工夫了。我见证了挪动web开展的全部汗青,我曾写过一本关于如何计划和开辟挪动webapps的滞销书。
究竟应当如何利用和对待HTML5呢?经由过程采访很多相干的公司,我们找到了关于这个成绩的谜底。
能够将这篇文章看作是懂得开辟跨平台的挪动webapps的引诱手册。为何开辟一个HTML5挪动Apps是一件坚苦的事变呢?由于一般,开辟者必要完成图表中展现的一切部分。即便你不亲身开辟它,你也必要借用其别人的计划,而且你仍是得对各个部分举行测试和调试。
设置服务器


<br>
客户端发送哀求在挪动web设备上检察某个内容。这个哀求一般是一个发送到某台服务器上的HTTP哀求。一般,会主动天生用户必要的内容。为了将内容到场到app中一般必要最少两件事变:数据和如何使数据变得成心义,大概是我们的HTML5app。
你是不是有一个设备检测计划?
因为各类设备存在很年夜的差别性,一切在服务器端最好可以有一个设备检测机制。完成这类检测机制的办法是良多的,乃至能够供应设备更多加倍具体的信息和容量功能方面的信息。
程序员能够对一切的设备一致举行处置,这关于复杂的使用是可行的。可是关于年夜多半久长运转的项目来讲,这明显是不敷的。
针对挪动设备处置办法,ScottGledhill给出了一些冗长的先容文档——MobileBits


  • ScottonMobileDevices
  • ScottonDeviceFragmentation

你盘算怎样处置离线数据
15%的挪动apps启动时设备是脱机。以是你的使用程序必要处置脱机的情形。最后的程序计划时页面的会见固然是必要经由过程Internet的,可是假如毗连端失落了,你的程序应当也可以持续一般运转。当设备毗连到收集时,使用程序怎样处置用户的数据?为了处置脱机会见的情形,是不是能够思索将一切的数据打包前往?
本文稍后会先容cachemanifest,可是不要期望cachemanifest可以办理一切的成绩。你还必要挪用RESTfulAPI,用来处置数据同步刷回的成绩。
HTML5App


<br>如今已有了处置数据和设备的办法了,接上去就能够开辟一个HTML5App了——这是个中最复杂的一部分。HTML5是由HTML演变来的,假如你已晓得HTML了,那末你能很快地懂得如何利用HTML5。
为了敏捷懂得HTML5中引进的新功效,你能够检察上面两个链接。


  • MarkPilgrim’sDiveinHTML5
  • ScottGledhill’sMobileBits
HTML5到场了很多好用的新功效,可是它并没有从基本上改动人人的编程体例。你能够在HTML5中利用Javascript和CSS3,可是它仍旧仍是利用标签订义内容的体例编写使用。
cachemanifest
HTML5最好的功效之一就是供应了cachemanifest,能够将它看做是app的一个缓存。cachemanifest实践上是一个文本文件,下面排列了必要在当地缓存的内容。利用该功效,能够便利地将经常使用的Javascript、CSS和图片文件缓存在设备的内存中。如许,即便设备处于脱机形态,用户仍是可以一般会见使用的界面。
除此之外,利用cachemanifest功效还能削减收集毗连的哀求次数。关于静态数据的缓存处置则必要利用Javascript刷回缓存的数据,而不是cachemanifest。
必要指出的是,年夜多半的apps都必要处置脱机会见的成绩。
Mark’schapteronofflineapplications先容了更多缓存的相干成绩
你的升级战略是如何的?
最初一点,必要指出的是各类设备存在着或多或少的差别。即便你只盘算撑持某一种平台,在这类平台上的各个设备也不是完整不异的。当使用没法依照料想的体例出现时,可以供应一组断绝代码是最好的撤回战略。换句话说,就是要使代码只管简便且不依附某些特别的边沿手艺——我们称之为文雅的升级。
HTML5开辟的代码最好严厉地遵守语律例定。起首不要在代码中到场任何的CSS或Javascript,一般这类情势最复杂的代码具有最好的通用性。
Javascript


<br>如今能够先容个中一个很主要的部分了,Javascript。在几年之前,跨平台的Javascript还没有遭到普遍的存眷(当时HTML5也没有引发人人的注重)。但就在这几年,Javascript的位置产生了分明的变更。在短短两年的工夫里,Javascript已成为为用户供应数据、逻辑和交互的次要办法了。
而Javascript上的这些变化都是陪伴着HTML5的促进而产生的,难怪人们老是将Javascript和HTML5视为一体。换言之,HTML5上有很多新的功效,可是假如没有Javascript,这些功效也没法使用。你可否找到用户的物理地位?假如有Javascript就能够。可否离线保留用户数据?有了Javascript就能够。
想一想Javascript之前的开辟框架:Scriptaculous,Prototype,MooTools和jQuery。我不以为有人是由于喜好Javascript才接纳它的——Javascript利用起来其实不便利。一切的这些开辟框架的确使得我们的生存变得加倍便利,而且改动了Web的相貌,很多开辟者假如没有其他这些框架的匡助,基本没法开辟出Javascript程序。
挪动webapps开辟中最坚苦也是最耗时的事情就是测试。你利用的一切手艺必需都是能够被检测的。假如你不懂得一个手艺的道理,那末你必要泯灭大批的工夫和精神来办理一个小小的bug。
假如你的使用只是针对某个特定的平台,大概这还能够容忍。但假如使用平台变得庞大起来,开辟和测试的事情量将会出现指数级的增加。
Murphy定律——“一个事变只需有大概堕落,那末它不久将会堕落”——是挪动webapps开辟中独一的原则。假如你利用了某个手艺,那末你必要确保这个手艺在你的使用中不会堕落。
上面将Javascript分红三个部分分离举行先容。
夹杂剧本
夹杂剧本能够将开辟职员编写的中心剧本与设备SDK毗连起来。假如你想利用当地封装器(如UIWebViewPhoneGap.)将HTML5app封装起来,那末你必要利用夹杂剧本。必要针对分歧的平台编写分歧的夹杂剧本(phonegap.js是独一一个撑持多个平台的剧本)。
中心剧本
中心剧本是app在一切平台上的通用部分。假如app是经由过程扫瞄器会见的,中心剧本也应当使得app看起来像是一个nativeSDK。你的app必要卖力搜集和衬着HTML5页面。这个时分利用jQuery这类完全的框架长短常有效的,可是我们倡议仍是只管利用微框架
设备剧本
最初,你必要利用设备剧本摹拟当地的举动。jQTouch是一个很好的例子,它利用jQuery摹拟iPhone的当地举动和举措。可是jQTouch没法辨别分歧设备间的差别,在Android和其他的挪动平台上,它都仍旧利用在iOS上接纳的办法。这一点遭到用户的诟病。因而,必要为分歧的设备编写独自的设备剧本。
CSS


<br>CSS是app的展现层。CSS的开辟更像是计划事情,而不是纯真的手艺事情。页面的显现实际上是HTML5挪动App上最主要的一个部分。
Apple,Nokia,Microsoft等公司都消费了大批的人力物力开辟出十分丰厚的用户界面,从而省往了程序员的良多事情。可是假如你想要开辟一个HTML5挪动App,那末你必要本人开辟一个用户界面,只管这是一件很使人头疼的事变。
如今让使用具有一个优秀的用户体验变得愈来愈主要了。CSS就是用来匡助程序员提拔使用的用户体验的。
假如说HTML5App是一部小轿车的话,那末CSS就是这辆车的表面,色彩,乃至是外部的具体计划粉饰。当你坐在车内,你看的的不单单是一些布料和皮革。我们更垂青的是计划的细节。偏向盘的手感怎样,仪表盘的计划是不是明晰,声响的平面声效果如何,一切的这些要素都能影响我们的驾车体验。
Javascript也能影响我们的用户体验,可是它没有那末间接。我们固然必要Javascript,但正如TopGear(汽车杂志)所说的——好的引擎其实不即是好的驾车体验。
只要让功能和表面协调一致起来,才干给用户最好的体验。
我曾和jQTouch、SenchaTouch和jQueryMobile的喜好者交换过,我向他们扣问了他们计划使用界面的办法,回覆不过是利用“DeviceTheme”这类网页作风,他们用“DeviceTheme”摹拟iOS的界面作风,再加上几行Javascript代码。很少有人思索利用CSS摹拟其他设备的界面作风(Android上的CSS模板)。
偶然候,开辟者必要计划一个分歧于其他app的使用,想要挣脱传统的计划作风,利用本人的页面作风。那末你能够思索利用CSS为你的app计划一个全新的界面作风:
设备主题
这是开辟者用来摹拟设备作风的CSS代码。它是用户习用的言语,一般用户看到这些言语后,可以间接入手下手实行想要处置的义务,而不必消费工夫往进修你的界面。据不完整统计,每一个平台上有快要100个自力的界面组件。我不保举开辟者本人计划一种新的组件,除非你分明的晓得本人在做甚么。
SenchaTouch,jQueryMobile和其他的工具都是用来帮你完成这项事情的,可是这也不免使得你的app看起来和这些平台很像,而没有了本人的作风。可是,利用这些工具能够匡助你开辟本人的作风。
中心主题
中心主题是使用程序中能够反复使用的部分——那些你必要利用,但纷歧定会显现在界面的上的内容。我习气将各类部件独自暗示(如复位按钮,结构,排版,色彩,图象),如许就可以将这些部件作为我的中心主题。这些主题在分歧的平台上都是一样的。好比,你的logo在一切的平台上都是一样的。你的工具栏的色彩老是坚持一样的作风。这些组件都能够界说为你的中心主题。当你在分歧的设备上利用这些中心主题时,只必要修正响应的设备主题便可。
App主题
App主题是专属于某个App的作风组件。很多项目诣在将这些组件整合到一个款式表中。可是我倡议,仍是将你的中心主题和App主题辨别开来。这关于debug有很年夜的匡助。
总结

HTML5可否满意你的请求?回覆是一定的。HTML5可以完成你的请求吗?谜底也是一定的,不外…


  • 大概必要耐烦守候。这个项目大概比以往你碰着的其他项目必要更久的工夫
  • 公道的预算。这不是一个网站,大概会消费你较多的预算
  • 确保你有符合的人才网。假如你熟悉到天下上最有履历的专家都在对此苦苦探究,那就不难设想,你的开辟历程也不会太轻松
  • 如今还没有所谓的符合工具,更多的时分,你得本人开辟必要的工具
  • 细心思索你的每个选择,在挪动开辟范畴没有相对的对与错,要坚持开放性,存眷客户的需求
本文滞销挪动Web图书作者BrianFling

CoreAnimation---制作动画很强大很喜欢的框架可以用少量的代码写出漂亮的动画CQuartz2D---强大的2D绘图库COpenGL---不用介绍了超级强大的3D库CCoreImage---
再现理想 该用户已被删除
沙发
发表于 2015-1-21 14:19:32 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
乐观 该用户已被删除
板凳
发表于 2015-1-30 19:55:27 来自手机 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-30 19:55:27 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
若天明 该用户已被删除
5#
发表于 2015-2-5 14:34:37 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-15 20:49:27 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
再见西城 该用户已被删除
7#
发表于 2015-3-4 13:33:20 | 只看该作者
重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。
不帅 该用户已被删除
8#
发表于 2015-3-11 19:47:44 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-19 10:25:42 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
兰色精灵 该用户已被删除
10#
发表于 2015-3-27 17:08:56 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
飘飘悠悠 该用户已被删除
11#
发表于 2015-4-5 16:14:08 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
只想知道 该用户已被删除
12#
发表于 2015-4-8 23:10:07 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
变相怪杰 该用户已被删除
13#
发表于 2015-4-9 00:35:48 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
蒙在股里 该用户已被删除
14#
发表于 2015-4-12 13:00:43 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
柔情似水 该用户已被删除
15#
发表于 2015-4-16 10:10:39 | 只看该作者
iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。
深爱那片海 该用户已被删除
16#
 楼主| 发表于 2015-4-17 14:29:39 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
爱飞 该用户已被删除
17#
发表于 2015-4-18 01:53:26 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
山那边是海 该用户已被删除
18#
发表于 2015-4-19 11:25:53 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
愤怒的大鸟 该用户已被删除
19#
发表于 2015-5-3 21:55:40 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
第二个灵魂 该用户已被删除
20#
发表于 2015-5-5 21:59:18 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 19:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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