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