第二个灵魂 发表于 2015-1-18 11:48:26

IOS教程之挪动Web开辟的13个主要工具仓酷云

照着书上的例子,一个一个做下来,只要不是文盲,就都会的呀,没有体现我的一点点个人价值。所以我决定了,不能再这样下去挪动web的开辟经常给开辟者提出一些困难的选择。开辟的使用事实是针对iPhone市场仍是针对Android用户?究竟是写一个nativeapp仍是开辟一个Web挪动使用?开辟一个可以在一切设备上兼容的使用是一切程序员的妄想,可是各类设备的差别性冲破了人人的这个梦。
跟着这类需求的日趋增加,愈来愈多的开辟者入手下手存眷挪动开辟工具和开辟库的开辟了,他们试图匡助挪动开辟者扫平完成妄想的停滞。
固然这套工具的开辟今朝尚不成熟,可是HTML5的呈现让人人看到了挪动Web开辟的光亮远景,它让用户挣脱了对native软件的依附。
起首,web是完整开放的,它不必遭到AppStore的协定限定。
其次,程序开辟职员可以取得100%的收益。固然,这也意味着必需找到一种新的取得收益的体例,这一点其实不复杂。可是,一旦找到了符合的办法,程序员就不必再将本人30%的收益拱手让给Apple了。
第三,HTML5变得愈来愈壮大了,功效也变得加倍丰厚了。最新的HTML5版本已可以撑持客户端在当地保留数据了,今朝基础可以替换nativeapp的功效。换句话说,扫瞄器已基础可以代替nativeapps的位置了。
第四点,HTML5apps不与详细设备绑定。固然今朝年夜部分的宣扬仍是环绕着Apple的iPhone,可是HTML5apps是对照简单迁徙到其他平台上的。固然大概还没复杂到按下一个按钮就完成平台的迁徙,可是最少和ObjectiveC转换为Java的事情比起来,仍是复杂很多的。
固然,HTML5也不是全能的。Webapps最年夜的缺点就是对收集毗连的依附。它的确不如nativeapps呼应实时,而nativeapp的开辟者经常在会商微秒级的提早是不是会影响用户的体验。游戏开辟者在利用JavaScript编程前必要再三衡量一下。
今朝最年夜的限定大概就是工具自己的开辟。Apple的开辟工具可以看到nativeapps的布局,而挪动扫瞄器却很难深切懂得下面运转的使用程序的代码布局。如今已有一些开辟工具和开辟库来匡助程序员简化web开辟的难度。上面先容一些挪动web开辟中出名的相干项目。
挪动web开辟工具:ChocolateChip-UI(下载)
因为挪动设备上的屏幕一般都对照小,因而为挪动设备计划一个无效的UI显得尤其主要。EnterRobertBiggs是一个来自NorthernCalifornia的Web程序员,他开辟的ChocolateChip-UI成为利用HTML开辟挪动界面的优异示例。
开辟中利用的WAML(WebApplicationMarkupLanguage)是基于HTML5封装的编程言语。利用WAML供应的标签(如<slider>或是<stack>)可以极年夜地简化开辟者的事情。能够在JavaScript中利用WAML并在撑持HTML5的智妙手机上运转。
程序员能够将HTML、CSS、JavaScript和WAML组合起来,只需指定好ChocolateChip-UI的翻译历程便可。
固然这类做法其实不完善,但这已充足好用了。我之前曾用过其他的挪动开辟工具,他们都不克不及很好地封装在JavaScript中。
ChocolateChip-UI已基础将一切的WAML供应的组件都封装好了,效果几近与尺度的iPhoneUI相称。它乃至还包含了一个分外的删除列表,用户经由过程点击鼠标就可以将组件从UI上删除。
挪动Web开辟工具:Mobl(下载)
JavaScript利用起来不算太复杂,而Mobl就是用来简化JavaScript的开辟的。Mobl是专门用于Webkit扫瞄器上使用开辟的框架。它不利用HTML、JavaScript或是CSS编写程序,而是间接利用Mobl编程,然后经由过程Mobl编译器将它转换为合适在挪动扫瞄器上运转的HTML、JavaScript和CSS言语。
Mobl开辟者利用这类办法填补了JavaScript的不敷。比方,它办理了提早实行的函数传送成绩;跟踪括号的配对成绩(程序员对JavaScript的这一缺点经常感应头痛,而且简单招致毛病发生)。
Mobl经由过程利用大批的声名下降了程序的庞大度。假如你想传送1,000毫秒,你能够写:
sleep(1000);doNext();
Mobl将这条语句翻译成JavaScript,经由过程setTime函数实行工夫传送,经由过程回调函数实行doNext()语句。程序员无需思索回调函数的语法和函数的封装办法,只需将但愿产生的事变枚举出来就能够了。
Mobl供应了几十种办法匡助程序员编写指令,而且不必要思索这些指令是怎样转换成JavaScript的。假如你想要编写一个下拉菜单,这很复杂,只必要将菜单中的选项用关头字暗示出便可。
关于已熟习了Objective-C或是JavaScript的程序员来讲,大概以为Mobl没有太粗心义。究竟,他们可以用本人熟习的言语编写很好的程序,又何须往进修一种新的言语来完成一样的事情呢?可是,关于编程言语的酷爱者来讲,他们能在Mobl上发明很多好的、成心思的设法,而Mobl的确能够简化他们的开辟事情。
挪动开辟工具:jQuerymobile(下载)
基于jQuery框架开辟一个挪动平台并为智妙手机开辟一个复杂的UI工具明显是投合公共必要的。这个项目失掉很多支流硬件厂商的撑持,也必定可以在挪动设备上获得乐成。
jQueryMobile中最复杂的部件是HTML-center结构部件。它利用DIVs和其他尺度的HTML部件(如<LI>标签)来构建页面。jQueryMobile一般只必要开辟者增加几个新的主题或是皮肤,它就可以够十分便利地处置静态网页和CMSes了。
利用jQuery意味着,年夜部分桌面网站上可用的插件在挪动网站上也是可用的。也有一些专门为挪动网站开辟的插件。jQueryMobile具有轻量级架构和丰厚的资本组件,不丢脸出它将在将来的挪动开辟中占有主要位置。
挪动开辟工具:The-M-Project(下载)
假如说jQueryMobile没法准确地处置网页中的办法微风格的话,那末The-M-Project则为开辟者供应了一组经jQueryMobile对象封装的部件。利用它可以更好地把持网页的计划细节,比方能够在某个符合的中央增加一个图标,而不单单是增加一张年夜的图片。
代码接纳Model-View-Controller形式。开辟者创立一个年夜的JSON布局,在下面界说各个分歧的页面和页面上用到的各类组件。利用The-M-Project处置页面的结构信息。
在每一个页面的事务钩子上界说一组功效函数,用来完成使用程序的功效。The-M-Project保护事务与页面响应地位的对应干系。
工具能够间接利用Node.js,代码能够在Node.js中运转,乃至能够在不异的服务器上完成测试。开辟出来的使用能够在任何Web服务器上运转,也能够进一步将它整合到Node.js中。
挪动开辟工具:Touchqode(下载)
假定你正坐在巴黎的一家咖啡馆,或是在珠穆朗玛峰的峰顶,你手头上没有台式电脑或是条记本,假如此时你的脑海中出现出一个很妙的设法,你是否是只能找张纸大略地形貌一下你的设法,然后比及符合的时分再完成这个设法呢?假如此时你的Android手机上恰好安装了Touchqode,那末你年夜可不用这么贫苦了。
这个小小的开辟工具包括的功效丰厚得惊人:代码能够高亮显现,能够在当地运转剧本,乃至能够经由过程FTP同步新加的代码。假如你的老板在你游览的途中让你修正一下代码,有了Touchqode,这其实不会给你带来多年夜的贫苦。我没法设想如何利用我的Android手机编写很长的代码程序,可是已有作者利用手机完成整部小说的创作了,以是,不要低估Touchqode在手机编程范畴的感化。
不论怎样说,Touchqode在生死关头仍是十分派得上用处的。
挪动开辟工具:LimeJS(下载)
Flash游戏之以是云云惹人存眷,一个主要的缘故原由就是它有十分丰厚的flash库。Flash库的开辟者将他们的事情出卖给Flash开辟者,从而猎取收益。一样的,DigitalFruit开辟出了LimeJS,并将它出卖给想利用WebGL对象的开辟职员。
LimeJS的初期版本在Webkit扫瞄器上仍是十分好用的。代码利用的是JavaScript,但布局看起来更像是C言语,它挪用了OpenGL的库。一些OpenGL库和LimeJS能够主动完成交织编译,但一般仍是必要手动调剂部份内容。
LimeJS供应了一些简化游戏开辟的功效。它供应了一些场景和一个天真的事务办理机制。它还附带有一些动画和效果转换机制。一切这些功效都是游戏开辟职员常常利用的功效。
开辟情况的基础架构利用的是Python,最初的开辟包与Google的ClosureCompiler绑定,下载速率相称不错。
关于那些利用OpenGL开辟游戏使用的程序员来讲,LimeJS仍是十分有吸引力的。固然它利用的是JavaScript,可是它并没有效到JavaScript中庞大的编程头脑。
挪动开辟工具:Jdrop(下载)
标明上看,Jdrop仿佛是由一堆JSON构成的,它常被曲解为一个开源的NoSQL数据库。现实上,Jdrop是用来匡助程序员处置台式机和挪动设备上屏幕显现差别的开辟工具。
为了简化从挪动设备上提取功能反应的庞大性,Jdrop为开辟者供应了MobilePerf组件,它是一个积累功能的标签,个中包含FirebugLite,PageResources,DOMMonster,SpriteMe,CSSess,和Zoompf。程序员可使用Jdrop间接在手机上调试程序,并可以主动将了局上传到Jdrop云上,便利开辟者在台式机上对运转的数据了局举行进一步的剖析。它还能用来调试实在挪动设备上的功能并反省挪动网站的源码。
挪动Web开辟工具:XUI(下载),Zepto(下载)
年夜部分框架所做的次要事情就是将一个使用程序转换成一个很炫的网页,一般它们必要利用本人特定的编程言语。而XUI和Zepto则与这些框架分歧。它间接利用HTML和CSS,这已使得它可以显现开辟者想要出现的各类效果了,而它只是为开辟者供应了创立和修正DOM的办法。
这些库其实不会从头组合各类部件或是创立任何新的部件。它只供应HTML内里有的部件,开辟者可用利用CSS来把持这些部件。这些库为开辟者供应了处置DOM的各类办法,如寻觅组件、增加类或是丰厚事务等等。
这两个库最年夜的上风就是节俭空间。Zepto今朝的版本只占2,300个字节,仅是jQuery的非常之一。而XUI则略微年夜一点。与jQuery对照是符合的,由于它们供应的功效是相称的。比方,XUI不克不及在BlackBerry或是IEmobile上兼容。假如你想让它在这些设备上兼容,那末你必要一个加倍年夜的库。
挪动Web开辟工具:Jo(下载)和SenchaTouch(下载)
Jo和Sencha是两组部件汇合,合用于利用JavaScript开辟的挪动设备。经由过程JavaScript界说的布局能够挪用这两个库的函数,使得屏幕上显现的页面加倍美妙。这些代码中一般包括对照庞大的功效挪用和函数嵌套。
SenchaTouch是由Sencha公司开辟的,Sencha公司专门为通用Web页面开辟供应计划框架。它也出卖支持计划,可是其实不对SenchaTouch收取版权费。该公司的研发团队会办理开辟者的疑问,而且还供应了一个开放的手艺撑持论坛。
Jo是一个获得了OpenBSD受权的开源项目。开辟者能够无偿使用它,而它的开辟者DaveBalmer还为用户供应各类匡助。
我已利用SenchaTouch开辟了几个WebApps了,我发明这个工具利用起来相称便利,由于它很好地处置了很多罕见的结构成绩。我已经本人创立了一个新的组件,而Touch框架很好地将这个新组件安排到了页面中符合的地位上。这些apps可以很好地在iPad和iPhone上运转,只管两者的屏幕尺寸相差较年夜。
Jo和SenchaTouch今朝的先容文档还不完美。今朝这方面的事情也正在慢慢跟进。Sencha的贸易版本有加倍周全的先容文档。
挪动Web开辟工具:jQTouch(下载)
jQTouch是挪动Web开辟的最好框架之一。固然他的开辟者DavidKaneda已分开了这个项目转而投进Sencha,但JonathanStark接办了jQTouch的相干事情,而且对代码举行了优化和增补。
jQTouch开辟的Apps是在DIVs中到场HTML。jQuery为DIVs选择符合的类,并到场事务处置代码。
我实验用jQTouch开辟了几个WebApps,全体感到jQTouch利用起来仍是十分便利的。它能够很便利地与其他Web工具和服务器真个框架整合在一同。
有些时分,利用jQTouch的代码能够到达nativeapps的效果。可是它还存在一些奇异的成绩,而且会处置一些没成心义的转换事情,在某些设备上的触摸事务呼应速率也不敷幻想。
挪动Web开辟工具:PhoneGap(下载)
另外一个利用普遍的开源挪动框架就是PhoneGap,PhoneGap可让开辟者在智妙手机上利用HTML、JavaScript和CSS编写各类nativeapp。很多利用JavaScript编写的apps最初都要与PhoneGap绑定,然后经由过程AppStore推向用户。
这个框架闪开发者对HTML有了新的懂得。在iOS上,它被称为UIWebView,而在其他的支流智妙手机上也有相似的部件。它的方针就是使得HTML、JavaScript和CSS可以在一切的支流平台(如Android、iOS、BlackBerry和WebOS)上运转。
经由过程利用PhoneGap的几回编程履历看来,PhoneGap的利用办法一般是对照相似的。将一个WebApp变化为一个可以在iPhone和Android上运转的nativeapp,只需消费不到一个小时的工夫。PhoneGap可以匡助开辟者完成窗口的创建事情。
可是PhoneGap的办理计划不算完善。用户仍是可以发明利用统一套HTML和CSS代码构建的使用,在Android和iPhone上的显现仍存在很多渺小的不同,只管Android和iPhone都撑持统一套Webkit内核。固然没有在BlackBerry和WebOS做相似的测试,可是不难设想,这两个设备显现的内容应当也有很多的差别。话虽云云,可是PhoneGap的确可以匡助开辟者开辟出加倍通用,功能更好地WebApp。

管理所有设备发生的事件比如屏幕旋转屏幕关闭或者一些其他的程序的控制逻辑也应该写在这里他的初始化函数是-(id)initWithNibName:(NSString*)nibNamebundle:(NSBundle*)nibBundle后面那个NibName是InterfaceBuilder里设计的界面现在IB已经集成到XCode里了

第二个灵魂 发表于 2015-1-19 16:24:02

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

灵魂腐蚀 发表于 2015-1-23 13:17:58

AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

再现理想 发表于 2015-1-27 07:49:49

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉

小妖女 发表于 2015-1-28 18:54:22

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉

飘飘悠悠 发表于 2015-2-5 15:28:17

看《iPhone 4与iPad开发基础教程》,跟着一步步来

愤怒的大鸟 发表于 2015-2-7 04:47:02

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉

海妖 发表于 2015-2-20 14:16:32

AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

爱飞 发表于 2015-2-25 12:38:47

以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。

仓酷云 发表于 2015-3-7 20:31:04

要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。

小魔女 发表于 2015-3-8 11:24:02

中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,

因胸联盟 发表于 2015-3-10 16:45:06

众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。

蒙在股里 发表于 2015-3-10 22:30:54

从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,

兰色精灵 发表于 2015-3-17 11:10:48

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

再见西城 发表于 2015-3-17 11:10:53

iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。

山那边是海 发表于 2015-3-17 11:10:47

其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。

莫相离 发表于 2015-3-24 08:47:13

还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。

乐观 发表于 2015-4-10 23:28:21

在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解

深爱那片海 发表于 2015-4-12 05:47:44

到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了

变相怪杰 发表于 2015-4-24 21:51:09

还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
页: [1] 2
查看完整版本: IOS教程之挪动Web开辟的13个主要工具仓酷云