2016-2019

时间沉淀,追求与研究从未停止

移动app开发四个关键阶段分析

发布者:月白网络

发布时间:2019-12-25

       尽管我们可以将杭州app开发看作是一个迭代过程,但将过程概念化是有帮助的,因为它涉及到许多定义阶段。我将一一描述APP开发的每一个阶段,同时你要记住,每一个阶段都不是与其它阶段完全分开的。


移动app开发四个关键阶段分析


  1:调研和规划


  开发一款移动应用的第一阶段需要回答两个基本的问题:


  (1)为什么我要开发这款APP?这款APP为什么需要存在?它将如何为世界带来价值?人们真的想使用这款APP吗?哪些人会使用这款APP?为什么会使用?


  (2)市面上是否已经这种类型的APP了?如果已经存在的话,我为什么相信我开发的APP能战胜其它竞争对手?我的APP与其它现有同类APP的区别和优势分别是什么?


  从本质上看,要想回答诸如“我想要我的APP做什么?我的APP为什么要存在?我的APP如何击败竞争对手?”这些问题,这就需要你对你的目标市场和目标客户群有深入的了解。


  你需要对市场需求和客户需求进行广泛的研究,确保:


  (1)确认并证实一个能够为你带来盈利的客户痛点;


  (2)计算目标市场规模;


  (3)验证你的产品想法。


  此外,你还必须研究你的竞争对手,包括他们的APP、客户和商业策略。


  很难准确地指出你需要花多长时间来收集和确认这些重要的信息,但是你很有可能需要花几个星期的时间来调研和验证想法。


  2:功能和特性


  在收集了足够多有关理想客户的需要和需求数据后,确定你打算提供的解决方案确实是有很大的市场需求的,接下来你必须决定应该要为你的杭州app开发哪些具体的功能和特性。很多移动APP开发者都会迷失在这个阶段。


  在这个阶段,你要精确地确定你想让你的APP以何种方式运行:你希望你的APP能够做些什么?


  它将执行哪些任务、功能和操作?(一对一聊天?与其他应用集成?等等)


  它将如何处理数据?它将从用户那里收集原始数据,还是利用现有的数据框架?


  这时,你就需要创建故事板(storyboard)了,例如应用程序的用户界面的可视化展示,显示内容的屏幕和这些屏幕之间的联系和连接:


  故事板有助于你发现可用性方面的问题,并改善用户体验。


  在确定移动APP的功能和特性阶段,你还要开发用例,这些用例作为理想用户与应用进行交互的模板。正如Crew的团队成员所说的那样,你开发的功能越多,你的产品就会越复杂,开发应用所需的时间也就越长。


  你在这个阶段必须做的最重要的决策之一就是你的APP要支持多操作系统和设备,还是只支持一种操作系统和设备。实际上,这通常意味着你必须决定你的APP是否有iOS、Android和Windows版本。


  为什么这个选择从时间表的角度来看非常重要呢?主要因为两个原因:


  (1)为多个操作系统和设备开发一款APP需要更长的时间才能开发完成。


  (2)虽然随着时间的推移,这一差别变得越来越不明显,但开发一款安卓APP比开发一款iOS APP通常需要更多的时间(通常需要多花20-30%的时间)。


  关于这一点,Valeriia Timokhina曾表示:“iOS通常是最开始推出应用的首选平台,因为只有少量的目标设备和操作系统需要适配。相对于一次性需要适配多个操作系统,一次只确保你的应用在一个操作系统上完美地运行容易得多。此外,在市面上有超过12000个不同的Android设备,几乎不可能将APP针对每一款Android设备都进行优化。因此,开发和测试Android APP往往需要花费更多的时间,除非你限制支持的设备和支持的屏幕分辨率的数量。如果你想同时开发iOS和Android APP,那么你开发APP所需要的时间和预算可能会翻倍。”


  关于你应该如何同时开发面向多个操作系统的应用,Cruxlab的工作人员指出:“传统上,Android APP程序是用Java开发的,而iOS APP则是用Swift和objective-objective编写的。尽管如此,仍然存在大量其他可替代的替代工具,Xamarin、React Native和Ionic是其中的一些比较受欢迎的替代工具。”


  在没有深入技术细节之前,如果你想同时开发iOS和Android APP(也可能包括Windows应用),那么你可以选择下面两种路径中的一种:


  (1)使用两种完全不同的编程语言来开发APP的两个不同的版本;


  (2)使用跨平台的开发工具(React Native、Ionic等)同时开发APP的两个版本,从而简化流程。


  这里再强调一遍,虽然无法准确预测确定APP的核心功能特性所需要的时间,不过大概的时间范围是肯定的:3-5周左右。


  3:技术可行性、设计和开发


  在确定了你想要APP做什么以及期望它如何运行之后,你接下来必须要明确地确认将这些功能和特性开发出来并正常运行是能够做到的。在这个过程中,需要让你的技术团队参与确认,你想要给用户带来的功能和产品前端交互体验是能够在后端通过编程来实现的。换句话说,你需要确保前端和后端系统之间的兼容性。为此,你必须咨询你的技术人员并与其合作。


  前端系统包括一个软件、应用程序或网站的可视化前端元素,它们可以被终端用户直接查看和访问。相反,后端系统由一个网站、软件或信息系统的核心计算逻辑组成,这些系统是可以供用户通过前端应用程序或系统间接访问的。


  前端开发主要集中在开发的客户端。前端开发人员将参与分析代码、设计和调试应用程序,同时确保提供一个无缝的用户体验。你可以管理和控制人们在浏览器或应用中首先会看到的东西,作为前端开发者,你要负责网站的外观、感觉和最终设计。


  后端开发指的是服务器端的开发,你主要关注的点是网站是如何工作的。这种类型的web开发通常由三个部分组成:一台服务器、一个应用和一个数据库。后台开发人员编写的代码是将数据库信息传到浏览器或应用中。任何你无法轻易看到的东西,比如数据库和服务器,都是后台开发人员的工作。


  从技术上讲,前端流程包括缓存、同步、线框图、UI设计、UI开发等。数据存储、用户管理、服务器端逻辑、数据集成和版本控制等都属于后端开发。由于后端流程负责计算、业务逻辑、数据库交互和性能等方面的操作,让应用运行的大部分代码都是后端代码。


  后端工程师要与前端设计人员保持持续的沟通,这一点至关重要。否则你就有可能陷入这样一种危险的境地:后端工程师无法开发前端设计人员想要的东西。


  如果你想与后端基础架构一起来开发前端移动APP,那么最重要的是你要对所要开发的功能进行优先级排序。让你的后端工程师先开发,这样你的前端工程师才可以开发功能代码。如果后端没有很好地定义,也没有相应的功能,那么前端工程师的工作效率就会低很多。


  开发APP的一个关键部分在于需要能成功地访问你的应用运行的核心数据。你是会使用公共API密匙,还是会开发自己的抽象层?


  API的全称是Application Programming Interface(应用程序接口),它代表了一种独特的代码,允许应用与应用之间(开发者)相互访问。一些全球知名的应用都有开放的API,比如Dropbox、Facebook、Instagram、Skype、Twitter和Uber,开发人员可以利用这些API来开发自己的应用。


  4:测试与改进


  开发一款APP的最后一个阶段(除了实际发布和相关的营销活动之外)是测试和改进阶段。


  现在,从某种层面上说,测试是开发阶段的一部分,因为你的程序员和Alpha测试工程师在开发过程中会不断地尝试打破你的APP,以便在其发布之前发现并纠正代码中存在的错误。


  Alpha测试是你的公司内部的进行的,因为你的开发人员(无论是员工还是外包)将会在你的APP发布到真实的终端用户手里之前对应用进行标准化的诊断。


  Beta测试的目的是在实验室外测试你的APP:当真正的用户有机会按照他们自己喜欢的方使用APP而不是按照你设想的方式使用APP时,这时会发生什么呢?Beta测试的关键是要弄清楚当日常用户将你的应用下载到他们的手机上并按照他们喜欢的方式使用应用时,你的应用是否能支撑住。


  Alpha测试需要发现主要的bug和小故障,而Beta测试需要能够发现APP在真实用户的真实使用环境中可能会出现的问题。


  Alpha测试(开发阶段)和Beta阶段(测试阶段)对于打造一款可靠的应用都是必不可少的组成部分。


  一旦你在你自己的开发团队中对应用完成了Alpha测试后,你就应该将APP开放给特定的公众进行Beta测试。


  你如何才能为即将发布的应用找到合格的Beta测试者呢?你可以通过一些基于Web的服务和平台来找到测试者,包括BetaFamily、BetaList、ErliBird、PreApps、TestElf、Reddit和UserTesting等。


  如果你已经完成了一轮或几轮Alpha测试,那么你的Beta测试阶段需要花的时间应该不会超过3-4周。

0571-28193660