无论是苹果App Store,还是谷歌的Play Store,人们总是会发现无数创新独特的移动App。但是,创意只是万里长征的第一步,开发一款移动应用的过程其实并不容易,有时甚至会让人感到沮丧万分。因此,本文将介绍五个步骤,或许对那些刚起步的创业者会有所帮助。
一、开发App之前要先想好商业模式
很多创业者在有了一个创意想法之后,便会立即着手开发App应用,但是笔者要提醒的是,你最好对自己的App的商业模式要有一个清晰的理解。通常来说,将App作为一种平台,帮助两个相互依存的群体进行交流是一种不错的商业模式。
实际上,Uber,Airbnb,Snapchat,YouTube,等等重量级App应用都采用了上述商业模式。
接下来,就是要具体化App应用的主要功能和核心作用,简而言之,就是它能给用户提供什么样的价值。如果你在描述App应用的核心功能时,用了超过一句话,那么不好意思,基本上说明它还不够核心。
Uber的核心功能是连接司机和乘客;Airbnb的核心功能是连接房间空闲的房东和租客。Instagram的核心功能是简单、快速地在社交网络里分享美图。这些平台其实只做了一件事,但是却把这一件事做的很专,很精。因此,创业者千万不要有吃着碗里瞧着锅里的想法,一个核心功能还没做好,就想着下一个了。
记住,你总是能在下一个版本里增加更多功能。但投资人想要的,是你在市场上独一无二的竞争力。如果你让用户承载了太多选择,肯定无法获得成功。不仅如此,App应用新增功能的成本通常不会太低,创业者必须要学会聪明地利用自己的资源,因此,好钢用在刀刃上,在最有竞争力,最能形成网络效应的地方下功夫。
二、了解竞争环境
一旦你的App应用明确了核心功能,那么接下来可能就要做些调研工作了,首当其冲地,就是要去了解下你的潜在对手和竞争环境。如果你试图进入一个饱和的市场,风险肯定比较大;相对而言,一个充满竞争的市场应该会比较成熟,在其中获得成功的机会也比较大。
不过,如果你的竞争对手已经完成了数百万美金的B轮或C轮融资,此时你可能就得自己掂量掂量了,想想你开发的这款移动应用在进入到这个市场之后,是否有足够的竞争力与之抗衡。
另一方面,如果一个市场门户大开,你也需要慎重考虑一下为什么会这样,不要冒然闯入其中。
三、规划和验证
如果上述两点完成之后,就是时候开始制定规划,让自己的想法变成一个有形的产品。
首先,你需要了解用户体验(UX)和用户界面(UI)两者的区别。用户体验主要涉及到如何设计用户需求,你需要理解的某个产品或服务所涉及到的一些具体工作,这样才能为用户提供更好的体验。用户界面更多地是专注在界面可用性上,比如用户是否能足够便捷地使用,使用效率够不够高,使用过程中用户满意度好不好,等等。
你最先要做的,就是从用户界面下手。你的App应用会在哪些设备屏幕上使用,提供什么样的功能,功能之间又是如何彼此关联的。用户体验不需要考虑上述要点,它更多地是起到“修饰”作用,不过用户体验可以帮助你了解App应用应该具备什么样的设计原则。你可以考虑给你的平台制定一个详细的框架规划,甚至开发一个“可点击”App原型产品。
如果上述工作完成之后,你需要与人分享,并寻求他们真诚的反馈。根据具体的建议,制定开发规划路径和UI/UX规划。当你完全规划好了App应用的布局,必须要考虑它将会在哪些移动操作系统平台上运行。
通常来说,移动App应用会在苹果的iOS操作系统上运行,但是如果你希望进军安卓和iOS两大主流移动市场,那么在此笔者要提醒的是,安卓应用所需的成本更高,开发难度更高,这也是很多开发人员选择iOS操作系统的原因之一,但如果一款移动App平台想要获得成功,就必须得那些安卓和iOS这两个市场。
四、寻找开发人员,了解如何招募人才
如果你希望打造一家受人尊敬的移动应用开发公司,那么可能需要牢记以下这几件事:
优秀、快速、廉价。三者只能选其二,在移动应用开发过程中,你无法做到三者兼得。
如果你要完成一款移动应用的开发和部署,至少需要投入五万美元,很少有移动应用开发公司能做到比这个金额更少的成本投入。因此,你需要做好成本预算,并且专注于开发最低可行性产品,明确商业模式,并构建产品原型,不要一上来就考虑整个开发和部署项目,要一点一点来。
绝大多数高质量的移动应用,成本都超过10万美元。
创建一款移动应用,开发只占到长期成本的35%,之后会有很多无法预料的成本投入。
开发移动应用的过程会很长(大致需要12到20周时间),期间你需要和开发团队紧密合作,因此在选人的时候,尽量选择那些与你容易相处的。此外,招募一名熟悉你移动应用商业模式的程序员,这点也非常重要。
如果上面几点都考虑完善之后,接下来要做的就是挖人啦。谷歌公司有很多高水平的移动应用开发人员。如果你认识其他移动应用创业者,可以听听他们在选择供应商上的意见。
如果你手头资金不足,也可以在一些网站(比如Elance和CrAIGlist)上寻找一些自由职业程序员。另外,你需要考虑员工的住所距离,毕竟员工距离公司较远会非常不方便。
五、做好不断修改优化移动应用的准备
当你的移动应用开发接近尾声,需要找一下测试人员,看看在生产环境下的使用效果,了解下移动应用的用户体验是否符合预期,如果不达标,那么开发人员就需要尽快调整产品。除非你能确保自己开发的移动应用能够满足用户要求,否则就需要不断优化代码。总之,在发布移动应用之前,充分做好测试工作是非常重要的。
除了确保程序员能编写高质量的代码,质量控制也非常重要,不要使用自动质量控制,一定要人为参与,尽管这可能会花费较多时间。
在你准备发布App应用时,必须先申请创建App Store和Google Play Store的开发者账号,申请过程可能会花上几天时间,因此这也要考虑其中,避免耽误整个发布流程。如果这一切都准备就绪,那么就可以发布啦。
当你发布了一款移动应用,一定要做好不断修改优化移动应用的准备。如果一款应用使用两次还出现bug,86%的用户会选择删除。因此,在当下竞争如此激烈的移动市场里,要给自己留大约三到八周时间,解决发布后出现的各种问题。一旦你的应用被用户下载、使用,请关注用户评论,并做好跟踪分析工作。不断修改、不断优化,不断提升用户满意度。
的确,开发移动应用是一个漫长且复杂的过程,但如果你能了解上述五个步骤,或许能在这个竞争激烈的市场里占有一席之地。
如果题主是希望可以快速开发一款App。根据你描述的目前情况,还是需要补充不少知识。尤其是面向用户的知识,例如:前端UI、交互、设计、产品等。如果单从技术的角度来看,提供可以选择react native或者weex,都是不错的选择。但是,无论是react native还是weex,都需要掌握最基础最基础前端的基础知识(html、css、javascript)。但是,这无需题主了解很深,基本上边学边写代码即可。react native这一块会有一点成本,就是jsx语法。但是,也许题主完全没有接触过前端,完全是可以当作新的语法来学习即可。
因此,是出于快速开发App的目的,选择react native或者weex都可以。
(1)可以不用去深入学习iOS/Android的知识;
(2)前端相对入门较快;
(3)至少跨平台/移动动态化是一个趋势;
2. 进入移动开发领域,并且深入进去
如果题主是希望深入移动领域。那么,选择哪一个作为切入点都是极好的。个人建议,可以先从Android或者前端入手。毕竟Objective-C语法可能早期还是有些难以接受。如果直接学习swift吧,Objective-C还会继续存在很长一段时间。
那么,学习Android的好处就是:
(1)毕竟python学习的时间不长。学习Android的时候,可以了解JAVA,甚至可以深入学习JAVA;毕竟不能只学习Android SDK。这样,可以帮助题主了解一门语言的更多知识。
(2)如果将来深入进去的,Android的方向还是很多的,比如底层(这也就是开源的好处)、比如优化。
(3)Android开发使用java语言,后期研究javascript,就不会感觉到特别的陌生。
注意一下哈,我这里写的是【移动开发领域】。因此,将来深入的同时,避免不了了解iOS、了解前端。当然,这就是后话了。如果真的到了深入一端的时候,掌握其他两端应该都特别快。
3.把握趋势,让自己所学更有价值
如果题主是为了【把握趋势】,领先起跑线的话。我相信上面的几个:前端、react native | weex、iOS、Android都不会让你赢在起跑线。因为有3点:
(1)他们都不是一门新【语言】
(2)他们都需要比较扎实的编程基础。
(3)任何现在为人所知的知识,都是出来一段时间了。
【我觉得作为开发者了解趋势是一件特别重要的事,但是,不是刚刚进入某个领域的时候需要去特别关心的事。】
因此,我们需要选择一个入口,沉下去,然后才能很好的浮起来,才能冲出水面更高,更能看清前面的方向了。
至少,我觉得未来几年,Objective-C和JAVA不会消失,相应的iOS和Android系统还会继续存在;掌握这些本真的东西才是走的远的保重。框架都在变,唯一不变的本质是【移动开发经验的掌握】。说白了也就是:类似于Objective-C、JAVA、JavaScript这类语言构建应用的经验,而不是上层框架的使用经验。
即使社区特别发达,也会有纯【上层框架】无法提供的功能或者组件,至少人类的需求一直在变。就像秋裤和打底裤的流行一样,说不定,过了几十年,大家爱死了【秋裤】。当需要底层能力的时候,掌握iOS | Android | JavaScript 开发就显得弥足珍贵。