找回密码
 立即注册
搜索
查看: 6624|回复: 0
打印 上一主题 下一主题

[软件应用] 新手必读!如何制作和在App Store发布你的第一款iPhone App!

[复制链接]

106

主题

208

帖子

650

积分

初中三年级

Rank: 10Rank: 10Rank: 10

积分
650
跳转到指定楼层
楼主
发表于 2016-10-17 18:07:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

新手必读!如何制作和在App Store发布你的第一款iPhone App!

你是否考虑过制作一款属于自己的App?如果是的话,你需要了解app的概念,编程语言,与之相关的工具,还需要投入一定的时间和精力。但这篇文章的目的不是要告诉你你需要知道什么,而是要指导你如何从零开始,一步步地制作和在App Store发布自己的App。





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 Store中发布制作好的app,你需要从苹果官方获得一个开发者账号。这个账号需要花99美元购买,可以用一年。苹果还有一系列的app管理维护工具,叫做 iTunes Connect。
2. App的制作流程
几乎任何一款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类似的工具还有:
· Cordova (开源)
· Sencha Touch (开源但收费)
· RhoMobile Suite (开源)
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中闪闪发光了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则