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