如果想进入移动app开发这个领域,你总能从别的开发者或者网上或者书上找到各种各样的方法和工具,对于新手来说,还没有摸清门路就已经陷入迷茫了。这里推荐20个可以帮你简化app开发流程的工具。很多开发者都使用过这些工具,涉及原型和设计、编程、测试以及最后的营销,基本上涵盖了整个开发过程。
原型和设计
有了一个很好的创意后,你要做的不是立刻编程,而是设计UI和创建原型,这样你才能知道app如何运行,根据用户体验需要做哪些调整。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163028_1.jpg)
AppCooker ($39.99)不仅是一个创建原型的优秀工具,它提供的许多功能还可以帮助你将程序发布到App store中。它集成了Dropbox,Box.net和photo roll,你可以直接将图标和其它UI资源导入到原型设计工具中。你可以利用渐变和填充等功能来创建简单的形状,并且可以访问几乎所有苹果默认提供的UI控件。
如果你不准备深入图形设计,可以使用App Cooker将图片资源合理的放在一起,以创建一个粗糙的、统一的原型。AppCooker还有一个很容易使用的动态链接功能,通过该功能,你可以把各种画面连接起来(在UX设计阶段中画面的各种连接方法)。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163325_1.jpg)
Pop就是这样一款应用。有了它之后,做出一款产品原型只需要五个工具:Pop、iPhone、纸、笔和橡皮擦。让你轻松做出可在iPhone上演示的应用原型。
画图:在纸上画出完整构架图,最常规的几个页面、按钮、主流程跑通就好。
拍照:用POP拍下这些草图,应用会自动调整亮度和对比度使其清晰可见,存到POP app内部,
编辑:将拍下的照片按你理想中的顺序放置,利用链接点描摹出各个板块之间的逻辑关系,点击Play就可以演示整个应用了。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163512_1.jpg)
Make app icon是一个可以帮你快速生成app图标的web工具。Make app icon可以帮你生成苹果指导方针所说的各种分辨率icon,包括retina设备和非retina设备在内。另外,还可以制作Android平台的多个icon。
虽然看起来是个很简单的工具,但可以帮你节省不少时间,使用起来也比较方便。你在Make app icon网页添加你将要用来做icon的图片,然后留下你的邮箱地址,系统最终会以zip文件形式发送给你,支持PNG、JPG以及PSD等不同格式文件。(发送时间会有点长...)
你也会意识到之前你在阅读各个icon大小说明和调整每个icon方面浪费了多少时间。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163539_1.jpg)
Fluid UI是一款用于移动开发的Web原型设计工具,可以帮助设计师高效地完成产品原型设计。优点:无设备限制,无平台限制(Windows、Mac以及Linux系统),支持Chrome和Safari浏览器(Chrome浏览器上的app也可离线使用)。采取拖拽的操作方式,不需要程序员来写代码。另外,Fluid UI资源库非常丰富,有针对iOS、Android以及Windows 8的资源。如果你觉得库存资源不能满足你的需求,你也可以自行添加。
对于喜欢快速开发的小团队来说,Fluid UI高保真模拟用户体验和操作非常适合。开发人员甚至在创建原型后还可以进行触摸测试,分享移动用户体验。另外,开发人员还可以在Fluid UI上进行迭代开发!Fluid UI提供免费版本和付费版本:免费版支持1个项目,其余根据支持项目数目不同进行收费,比如29美元/月支持3个项目,49美元/月支持10个项目,129美元/月支持10个以上项目。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163642_1.jpg)
Sketch是一款Mac上的app,是一款优秀的Vector/Pixel混合型开发工具,可以帮你创建retina图像。这款app可以当做是Photoshop和Fireworks的替代品,包含大量开发者友好型功能,比如“export to css”和“export for retinaoptions”。Get Sketch (售价$49,15天免费试用)。
欢迎各位继续补充......
开发
一旦你有了初步的UI和设计元素,你就要开始编码了,下边一些工具或许可以帮到你。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163842_1.jpg)
SourceTree是一个免费的Mac软件,主要用于Git和Mercurial版本控制。根据我的经验,大多数的iOS开发者都使用Git,另外还有一小部分人在使用Mercurial和SVN。
SourceTree可以帮助你进行源代码控制计划,跟传统的复杂的命令行版本控制软件相比,SourceTree是一款独一无二的GUI工具。对于新手Git用户来说,SourceTree使用起来简单且高效,对于经验丰富的app开发人员来说,SourceTree有着非常强大的功能。
另外,SourceTree还有一些很棒的功能,比如incoming和outgoing变更,以及直观的分支管理功能。SourceTree可以让你在操作终端上节省非常多的时间。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402163928_1.jpg)
做Web开发的人都听过HTML5 boilerplate,此次我们介绍的是iOS Boilerplate。你可以借助iOS Boilerplate省掉很多项目的初始编码工作。iOS Boilerplate 不是一个框架,是一个 iOS 应用程序的基础模板,但又包含一些相同的固件和一些广泛使用的第三方类库,这样你就不用费力气再造车轮。
另外,你可以对Boilerplate进行修改和扩展,以满足你的需求,不管是个人app还是商业类app。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164104_1.jpg)
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164224_1.jpg)
Easy APNS是一个用来管理苹果推送通知的PHP脚本。如果你对苹果推送通知后端部分比较感兴趣,而恰巧你有熟悉PHP,那么Easy APNS是你工具箱中必须的工具。Easy APNS完全开源,并且设置非常简单。通过使用免费的、开源的PHP脚本,Easy APNS为开发者提供了一种很直观的可以用来控制整个推送通知后端部分的方式。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164309_1.jpg)
Slash是iOS的一个开源库,它为NSAttributedStrings的样式添加了扩展标记语言,类似于HTML,但是你可以定义每个标签的意义,这使它非常具有可扩展性。
在iOS6中显示属性字符串非常简单,但是以编程的方式创建他们就不容易了。假如在不使用界面生成器的情况下,你要在app中使用带属性字符串,你就需要调整NSRanges和字体属性。在Slash的帮助下,你可以简单地在iOS开发中使用属性字符串,并且生成的代码更为干净和整洁。
欢迎各位继续补充......
服务器端的服务
在过去几年,我们见证了针对移动开发者的服务器端业务的快速增长,这些服务宣称可以解决类似于存储、内容交付以及实时功能等。较高可靠性和工具集可以帮助开发者有效降低开发时间,可能是时候考虑在你的下个app中使用服务器服务。以下是有关于该项服务的几个简短介绍:
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164424_1.jpg)
Firebase是一家位于旧金山的后端服务提供商,主要关注后端数据实时处理,适用于对数据实时性要求很高的app,如网页游戏、协作工具等。借助Firebase的服务,你可以为用户打造独一无二的体验,尤其适合那些多人玩家的app。现在Firebase 为多个应用提供数据库服务,包括 Scratchpad.io、Twitch 以及 Klout等。
Firebas的服务使用起来非常简单,只需引用一行JS代码,即可配置好Web App 所需的数据库存储服务。简化了编码工作,使用户可以专注问题本身,节省了开发时间。另外,使用Firebase服务,开发者无需购置服务器即可实现app实时数据更新,用户无需刷新页面就能获得新数据。Firebase已经发布了全新的iOS SDK,同样可以帮助iOS开发者解决一定的数据存储问题。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164555_1.jpg)
关于推送通知,除了苹果的APNS之外,我们还有很多其他的选择,Urban Airship就是其中之一。Urban Airship是移动开发领域最老的、最可信的推送服务提供商之一,公司是位于俄勒冈州波特兰地区。他们不仅仅做普通的推送通知,他们还发明了“Rich Push”,可以推送更丰富的内容,例如html、音频、视频等。
2009年,Urban Airship就开始为iOS开发者提供推送服务,开发者可以很简单地把它整合进自己的app。一直以来,Urban Airship巩固核心业务的同时也进行了创新,目前推送内容涉及geofencing、location targeting、location history以及passbook creation。Urban Airship的位置感知功能可以在合适的时间给你的手机用户发送正确的信息。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164703_1.jpg)
Kinvey宣称可以帮开发者走出创建和维护移动后端的困境。Kinvey是一项跨平台的服务,有着多项功能,比如用户管理、业务逻辑、数据存储、推送通知、跨CDN大量文件存储、分析、自动化版本管理以及其他功能。不管是个人开发者还是企业级开发者,Kinvey都是一个强大的平台。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164807_1.jpg)
Parse是一个功能丰富的后端支持平台,它可以帮助开发者处理数据存储和扩展,降低iOS或andoird应用开发难度,从而让开发者把时间和精力用在打造优质用户体验上。
Parse还具有社交和通知推送功能。此外,如果你想在app中添加电子商务系统,Parse与Stripe合作开发的开源app可以给你展示它是如何做到了这一点。Parse具有自己的特色、文档以及教程,并且在该领域不断进行着创新。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402164913_1.jpg)
StackMob同样是一家提供移动应用后端服务解决方案的公司,该公司开发的基于云计算的系统,可以简化移动应用的开发和部署,他们的目标是通过一个接口满足移动应用开发者的所有需求。如果你是在做一个团体项目,那么StackMob的协调工具可以大大降低开发者、设计师以及客户端之间的协同开发难度。
StackMob还为app开发者提供了app分析、S3集成、Facebook/Twitter集成、广告以及地理位置等服务。StackMob支持iOS、Android以及HTML5平台。
欢迎各位继续补充......
测试和营销
测试是app开发过程中非常重要的一步,在app在上架应用商店之前,开发者要确保自己的app能够流畅地运行,可以节省大量时间,也可降低客服人员的工作量。市场可用于测试、获得用户反馈和app崩溃报告的服务非常多,以下提供几种共参考:
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402165055_1.jpg)
TestFlight是很多开发者都使用过的测试服务,包括反馈、实时崩溃提醒以及应用内可以引起特定评分的用户反馈提示。任何一项服务都会有瑕疵,TestFlight也不例外,它在管理测试用户提供的文件方面有点缺陷。前不久TestFlight推出了处于封闭测试中的新的移动分析服务FlightPath,FlightPath似乎要取代自家的TestFlight Live分析服务。TestFlight Live于2012年推出。TestFlight 现在已经支持 Android 平台app测试。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402165219_1.jpg)
Pieceable Viewer是一款产能让人在浏览器里直接运行iOS App的产品,可以让开发者更为简单直观地展示和测试自己的app,实际上就是一项把app搬到网页上的服务。开发者可以在网页上查看、测试自己的app,而不必非得把app装在设备上才能实现。另外可以很方便地收集用户信息反馈,用户也不必非得有一款苹果手机才能接触到这款app。
CEO Fred Potter曾说:“它是在网络上分享iPhone app最简单的办法,Pieceable Viewer是使用Flash来模拟应用程序的功能,而不对开发者所编写的代码进行校正。”
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402165338_1.jpg)
Smore 是一个在线快速制作电子宣传单的web app,不仅仅支持图片和文本,还支持视频多媒体内容。使用Smore为你的app制作电子宣传单只需要你向AppStore提交应用时所需的截图、描述等。Smore提供多个可选主题,如果你对系统生成的电子宣传单不满意,你也可以自行编辑。此外,smore还提供流量分析服务,你可以清楚地知道用户如何发现你的app。
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402165436_1.jpg)
![](http://www.cocoachina.com/cms/uploads/allimg/130402/4673_130402165700_1.jpg)
Countly为开发者提供了实时的、开源移动分析平台,通过可视化的方式将收集自手机用户的数据展现出来,从而给开发者可行的建议。开发者可以轻易地将Countly服务器端代码部署在自己的服务器上,并将开发工具包整合进自己的app中。目前,Countly分析系统有iOS 和 Android两种版本的开发包。如果你熟悉的Google Analytics和Flurry,那么Countly也可提供相同的功能。