http://art.china.cn/products/2015-04/17/content_7836672.htm程序员
1. App的基本概念和要素编程
简单来讲,app就是在智能手机上运行的计算机软件程序。它通常先由程序员开发出来,再与设计师创做的图形元素相组合才能得以完成。制做iPhone app的工具主要是一款名为Xcode的软件。开发工具主要有Swift 和Objective-C。许多app都有容许在云端储存信息及与其余用户联接的后台程序(back-end )。服务器
借助Xcode能够制做原生的iPhone app,但Xcode只能在Mac OS X操做系统下运行。它包含能够制做图形元素的界面建立器(Interface Builder)。另外它只是一款构建工具,用它没法实现具体的app功能,只能为用户图形界面(GUI)创建一个基础。网络
Xcode的功能十分丰富,例如,自动排版(Auto Layout)能让app界面在不一样解析度的屏幕上都正常显示,iPhone模拟器(iPhone Simulator)可让你不用iPhone也能对app进行测试。app
要在App Store中发布制做好的app,你须要从苹果官方得到一个开发者帐号。这个帐号须要花99美圆购买,能够用一年。苹果还有一系列的app管理维护工具,叫作 iTunes Connect。编程语言
2. App的制做流程ide
几乎任何一款app都要遵循如下的制做步骤:工具
1. 设计。作出app的模型文件(mockup)并将全部元素都置于屏幕上。学习
2. 开发。这一步包括编写代码,将“若是-下一步”类型的操做与界面组合起来。开发工具
3. 测试。将beta版本的app发送给测试者,并根据他们的反馈修正错误。
4. 发布。接受官方的评估并在App Store中正式推出。
即使是之后要在app中增长新功能,基本上也是按照设计,编程,测试,发布的流程来作的。
3. On Swift and Objective-C
目前,iPhone app都是以Swift 或Objective-C写成的。Swift是苹果官方开发的一种编程语言,于2014年6月首次发布,正式的1.0版则于2014年9月份发布。它是一种很新的编程语言,目前,App Store中已经有很多彻底使用Swift编程的App.
Swift受到了初级及资深程序员的一致欢迎。Swift语言的一个显著优点就是它能够与Objective-C语言互换。这对于程序员而言很是便利,由于这样一来,他们就省去了为了与新语言兼容而改写整个代码库的麻烦。
Swift 与Objective-C哪一个更好?
Objective-C的句法较为特殊,所以掌握起来相对困难一点。对于初级编程者来讲,毫无疑问是Swift更好一点。与Objective-C相比,Swift的入门门槛更低,所以在开发过程当中也能节省一些经费。
尽管如此,Objective-C在全球范围内依然是许多软件公司采用的标准语言,这种状况在将来一段时间内还会继续存在。
4.中间件:一次完成,多处应用
中间件(Middleware),例如Cordova 或PhoneGap,也很受开发者的欢迎。由于借助中间件,开发者只需一次写完代码,就能够它们同时应于用安卓或iOS平台上。
安卓平台上的app都是以Java写成的,与iOS app互不兼容。若是你想在这两个平台上都发布app但又不肯重写一遍代码,那么中间件能够为你节约很多时间。
不少中间件(或跨平台工具)都是基于网络技术而构建的,如HTML5, CSS 和JavaScript等。
目前此类工具中最受欢迎的是Phone Gap。Phone Gap自带app建立工具,并可把app导出到Xcode中运行和修改,这样的获得的app是“混合型”的---意味着它的元素与HTML5组合在一块儿。
PhoneGap目前推出了PhoneGap Build新工具,从而以云端解决方案替代了原有的Xcode编写器。PhoneGap是一款免费且开源的工具。
与PhoneGap相似的工具还有:
Phone Gap比这些工具更有优点的地方在于,它不只支持不一样的系统(iOS, Android, Windows Phone, BlackBerry OS, Ubuntu and Firefox OS),还支持硬件(加速器, 相机等等。)
中间件的美中不足之处
但中间件存在两个主要缺憾之处:
因为此类工具多数是基于网络技术,所以没法支持硬件加速。在原生app中也没法支持动画,切换特效和高解析度的图片,因此,它无用应用于制做游戏或像素密集型app。
此外,使用中间件也须要开发者很熟悉编程器和开发工具,这无疑给初级开发者形成了很大困难。
5.设计:App如何工做
编程只是制作app过程当中的一部分。界面设计在app的制做中也占很大的比重。若是你的条件容许的话,不妨雇佣一个专门的界面设计师。你能够在Elance 或 oDesk这类外包网站上找到不少这类人才。
虽然如此说,但若是你刚刚开始学习制做app的话,也可使用网上现有的模板。这些模板也许不能让你的app看起来异常漂亮,但至少不会坏到哪里去。对于初学者而言,这是一个能够节约金钱和时间的好办法。
工具与资源
苹果的人机界面指南(Human Interface Guidelines)已经就app中的基本元素及如何使用这些元素给出了很好的建议。
图标:建议使用图标文件包,如Glyphish(收费)。这类文件包一般包含上千个图标文件,且专门针对iPhone app作了优化。包括社交媒体图标及与app操做相关的一系列图标。
模型:强烈推荐使用Balsamiq Mockups(收费,但有免费试用版)。App 模型至关于一个草稿,它显示了你的app将如何工做,又有那些功能。永远不要只顾埋头编程,事先在模型中测试一下UI和排版能避免不少错误。
若是你制做了一个模型,但对于app的真实界面仍是不放心的话,不妨试试Teehan+Lax团队开发的design PSDs(免费)。这些素材中包含了几乎全部iOS系统下的GUI元素,并且是矢量文件。它们必定能让你的模型变得更为完美。
6. 如何将App与互联网链接?
若是你的app须要与网络链接的话,可使用伺服器端语言如NodeJS, Ruby 或PHP建立一个自定义后台,这将为你节约不少时间和精力。简便一点的方法是使用一个“服务器即平台”(Platform-as-a-Service)工具,好比说Parse。Parse是一种旨在为app提供线上或线下存储服务的解决方案。
有了Parse之类的解决方案,就彻底不须要再建立自定义的后台了。Parse最基本的用户是免费的,高级用户收费为100美圆/月。
7. 从Beta 到Live
你制做的app在正式发布以前,须要先上传到iTunes Connect中。你须要提供app的基本信息,如描述,分类和app的形象图标。
接下来会进入评估阶段。这时苹果官方为保证进入App Store 的app的质量而采起的一项措施。整个评估大概须要2周左右的时间。
初次建立app时的10个常见问题
1. 制做一个app的成本有多高?
根据公司的规模而有所不一样。外包设计师制做一个简单的app通常收费在3000美圆左右。而像Tinder, Pinterest, Facebook这样的公司可能会为一款App花费数百万美圆。就像那句老话说的那样:一分价钱一分货。
2. 我在为app编程时遇到了困难。该向谁求助呢?
初级及中级程序员遇到的问题,一般能在StackOverflow之类的技术论坛找到答案。而对于非技术性的问题,例如价格或UX/UI等方面的问题,Quora是个不错的地方。
3.我有一个不错的app创意,该如何开始制做?
若是你真的想制做一款商业性的app,首先应该作的事就是了解一下市场及用户需求。大多数成功的app之因此成功,是由于它能解决用户最急迫的需求,因此用户才心甘情愿出钱购买它。必定要在实际了解用户的状况以后,再去着手进行开发阶段的工做。
4.为了制做app,我须要专门买一部iPhone吗?
不须要,但我建议你买一部。虽然Xcode有自带的iPhone模拟器,但从电脑屏幕上看到的效果跟你握在手里的效果毕竟不一样。因此我建议你买一部真实的设备。
5.我数学很差,这对编程有影响吗?
有,但也能够说没有。不少编程的原则都与数学密切相关,但在实际制做app时几乎用不到这些数学知识。当你的编程技术愈来愈熟练时,可能会发现本身不知不觉地已经学会了很多数学技巧。
6.我在软件公司上班。我是应该把关于app的好点子告诉公司呢,仍是自行开发?
这要看公司的性质和你在公司的职位。若是你的公司与app有密切关系的话,不妨把你的计划跟主管谈谈。若是你以为本身的创意得不到重视,也能够自行开发。但要注意法律规定。由于你在受雇于公司时开发的产品也有可能被认定为版权归公司全部。
7.我想开发的app在App Store中已经有了,我该怎么办?
“已经有相似的App了”并不能表明现存的app就很优秀。你依然能够开发出更优秀的app与之竞争。一样的,若是你想开发的app在App Store中不存在,这并不必定意味着是个填补空缺的好机会。由于也可能之前有人开发过,但由于不受欢迎而被撤下了。
8. iPhone为什么有时又被称为 iOS?
iMac开启了苹果产品以i打头的先河.。从那以后便产生了iTunes, iPod, iPad 和iPhone等产品。由于把运行于iPhone上的操做系统(OS)称为iOS就丝绝不奇怪了。
9. 如何让个人iPhone app在市场上得到成功?
这个问题须要写好多本书才能说得清。但全部已经取得成功的App都有个特色,就是它们一次只解决一个问题,而且解决得好到使客户愿意花钱买它。
你能够先找到一个要解决的问题,而后去寻找急需解决方案的客户。也能够先作客户调查,弄清楚他们急需解决的问题。除此以外,要注意多与潜在客户保持联系和沟通。
10.学习编程应该注意什么?
不要半途而废。半途而废是学习编程最低效的方式。学习一项新技术的确要投入许多时间和精力。中途放弃永远学不会任何东西。
另外,也不要轻信书上关于编程方法的“捷径”。编程须要亲自去写代码,并从错误中一点点地学习。
结语
看到你本身制做的app出如今App Store中是件振奋人心的事。如今,对于制做app的方式和流程你已经有了大体的了解。接下来,你能够找一本教程,先从学习Swift开始,进而尝试用Balsamiq作出漂亮的界面,以后申请一个苹果开发者帐号。用不了多久,你就会看到本身亲手制做的App在App Store中闪闪发光了!