15321250321
010-86462584

APP开发 > APP学院 > 经验分享

手机开发APP流程

2023-07-08

​每天,数以千计的移动APP都会发布到 Google Play 和 Apple App Store。其中一些移动APP是游戏,另一些是社交网络,还有许多是电子商务APP。所有这些APP,如果是专业构建的,都应该遵循类似的移动APP开发流程。在北京天品互联,我们已经构建了 350 多个网络和移动APP。在本文中,我将概述我们遵循的战略、设计和开发流程。

每个APP都不同,我们的方法也在不断发展,但在开发移动APP时,这是一个相当标准的流程。此移动APP开发流程通常包括构思、策略、设计、开发、部署和发布后阶段。

主意

听起来很老套,所有伟大的APP都是从想法开始的。如果您没有APP的想法,最好的起点是训练自己始终从问题和潜在解决方案的角度思考问题。你想让你的大脑本能地问“我们为什么要这样做?” 或“有没有更好的方法来解决这个问题?” 如果您能发现问题或市场效率低下,那么您的想法就成功了一半!

接下来要做的是了解为什么会存在这个问题,并思考为什么以前没有其他人制作过一个APP来解决这个问题。与有此问题的其他人交谈。尽可能让自己沉浸在问题空间中。一旦你完全掌握了问题,就开始评估移动APP如何解决问题。

这就是了解移动APP可以做什么非常有价值的地方。我们经常被问到,“这可能吗?” 幸运的是,答案通常是肯定的,但这个答案必须是合理的。您即将在APP上投入大量时间和金钱,因此现在是挑战您想法的有效性和可行性的时候了。

战略

竞赛

一旦你有了一个想法,你就需要为你的APP的成功做计划。最好的起点之一是确定您的竞争对手。查看是否有任何其他APP具有类似目的,并查找以下内容:

  • 安装次数- 查看是否有人在使用这些APP。
  • 评分和评论- 查看人们是否喜欢这些APP以及他们喜欢/不喜欢这些APP的哪些方面。
  • 公司历史- 了解这些APP如何随着时间的推移发生变化,以及他们在此流程中面临的挑战。试着看看他们做了什么来扩大他们的用户群。

这个流程有两个主要目标。首先,尽可能多地免费学习。犯错误是耗时、令人沮丧和昂贵的。通常,您必须尝试几种方法才能正确使用。为什么不通过向竞争对手学习经验来节省一些迭代呢?第二个是了解在市场上竞争的难度。人们渴望新的解决方案吗?是否有一些利基没有被现有选项填补?了解存在哪些差距并定制您的解决方案以满足它们。如果您的想法是全新的,请寻找其他“率先上市”的APP,并研究它们如何让消费者了解他们的新产品。

货币化

除非您只是为了自己的利益而构建APP,否则您可能希望通过您的移动APP赚钱。有几种货币化方法可行,包括:应用内购买、订阅支付、高级功能、广告收入、销售用户数据和传统付费应用。要确定哪个最适合您的APP,请查看市场期望支付的费用以及他们希望如何为类似服务付费。您还需要考虑从什么时候开始通过应用获利。太多的APP(尤其是初创公司)跳过了这一步,以后很难盈利。

营销

移动APP开发流程中的这一步就是确定您在营销APP时将面临的最大挑战。假设您拥有可靠的APP开发和APP设计团队,您最大的障碍可能是推动APP的采用。应用商店中有数以千计的漂亮且非常有用的应用,它们根本不用。此时,您需要了解您的营销预算和方法。在某些情况下(例如内部使用的APP或 B2B APP),您甚至可能不需要营销。

路线图(MVP)

策略流程的最后阶段是定义应用的路线图。此流程的目标是了解您的APP有一天会变成什么,以及它需要在第一天取得成功。这一天的第一个版本通常被称为您的最小可行产品 (MVP)。在此流程中,将您希望APP执行的所有操作都写在白板上会很有帮助。然后开始按优先级对这些项目进行排名。考虑您的APP的核心功能是什么,获得用户需要什么,以及以后可以添加什么。如果您认为用户可能需要某些功能,那么它们很可能是后续版本的绝佳候选者。当您通过 MVP 获得用户时,您可以征求有关需要哪些附加功能的反馈。APP监控(本文后面会介绍)也可以帮助完成此流程。

用户体验设计

信息架构

信息架构是您决定需要在APP中呈现哪些数据和功能以及如何组织这些数据和功能的流程。通常,我们通过写下我们希望APP执行的功能列表以及需要在APP某处显示的内容来开始此流程。这些是我们将用来构建线框的基本构建块。

我们使用的工具:白板和铅笔和纸

线框

接下来,我们开始创建屏幕并分配每个功能和数据。如果有些东西住在多个地方也没关系,但你需要确保每件物品都有一个家。这个流程最初通常在白板或纸上进行。您想在此处进行更改,而不是在此流程的后期进行,因为擦除一些标记比重写代码便宜得多。绘制好几个屏幕后,开始考虑您的APP的工作流程。

我们使用的工具:白板、铅笔和纸、香脂和素描

工作流程

工作流是用户可以在您的APP中旅行的途径。考虑您希望用户能够执行的每项操作,并查看完成该操作需要多少次点击。确保每次点击都是直观的。如果某些事情需要点击几下才能完成,那可能很好,但不应该点击几下即可执行常见任务。当您发现工作流程存在问题时,请更新您的线框并重试。请记住在每次迭代中运行所有功能,以确保您没有为了改进另一个动作而增加一个动作的难度。

我们使用的工具:白板、铅笔和纸、Invision

点击模型

点击模型可帮助您测试线框和工作流程。它们基本上是一种在手机上体验线框以进行更真实测试的方式。例如,我们的客户只需收到一个链接,当在他们的手机上打开该链接时,他们就可以点击线框。尽管此时APP没有任何功能,但他们可以单击APP中的每个页面并开始测试APP的导航。当您在此步骤中发现问题时,请对您的线框进行更改并进行迭代,直到您满意为止。

我们使用的工具:Invision

用户界面设计

风格指南

样式指南基本上是APP设计的构建块。拥有完善的风格指南将极大地帮助您提高APP的可用性。您不希望一个屏幕上的号召性用语按钮为蓝色且位于底部,而是绿色且位于另一个屏幕的标题中。通过拥有一致的设计语言,用户更有可能在您的应用中感到舒适。

确定APP的样式指南有很多内容。您需要考虑您是谁以及您的客户将是谁。你的APP会在晚上使用吗?那么也许深色主题效果最好,以免使您的用户失明。它会主要由忙碌的员工使用吗?尽量减少混乱,让你的主要观点得到理解。经验丰富的设计师或设计团队拥有广泛的产出,可以提供非常适合您和您的客户的APP。此阶段的输出是一组颜色、字体和小部件(按钮、表单、标签等),它们将从您的APP设计中提取。

渲染设计

渲染设计是获取线框并用样式指南中的元素替换灰度元素的流程。每个线框屏幕都应该有一个渲染屏幕。在这个流程中尽量忠于你的风格指南,但你不必教条主义。如果您发现自己想要一种新的或改变的风格,请随时更新或修改您的风格指南。当这个阶段完成时,只要确保你的设计是一致的。

我们使用的工具:白板、铅笔和纸以及素描

渲染的点击模型

渲染完所有屏幕后,返回点击模型APP并再次测试您的APP。这是移动APP开发流程中您真正想要花时间的步骤。尽管APP已经付出了相当大的努力,但在此之后,更改的成本可能会越来越高。可以将其视为在浇筑房屋混凝土之前查看平面图。幸运的是,移动APP开发比构建更具适应性,但从这些方面考虑可能是最具成本效益的。

我们使用的工具:Invision

设计到开发的交接

在为您的APP的形式和功能付出了如此多的努力之后,您的开发团队必须正确地实现这一愿景。移动APP开发流程中的这一步往往很糟糕,这总是让我感到惊讶。这可能是由于许多组织和机构只提供设计或开发服务,或者设计师和开发人员之间有时存在好斗的关系。不管是什么原因,我强烈建议找一个既能提供设计服务又能提供开发服务的团队,并且能妥善处理这个流程中的这一步。

有助于确保平稳过渡和准确实施的部分原因是正确使用可用工具。我们喜欢使用名为Zeplin的APP,这有助于开发人员快速获取设计的样式指南。但是,这并非万无一失。Zeppelin 是一个很棒的工具,但有时它的指南并不准确或不是最好的实现(例如,它可以使用显式维度,而不是动态维度)。在这些情况下,如果您的开发人员也可以使用设计APP(例如 Sketch 或 Photoshop),那将是非常有益的。这里重要的是,您的团队不能简单地猜测尺寸、十六进制值(颜色)和定位。您的设计团队付出了巨大的努力来确保事物正确对齐和定位。您的开发团队的目标应该始终是像素完美的实现。

我们使用的工具:Zeplin

高级技术设计(技术栈)

有许多方法、技术和编程语言可用于构建移动APP,每种方法、技术和编程语言都有自己的优点和缺点。有些使用起来可能更便宜,但性能较差,而另一些可能需要更长的时间来实现并且过于矫枉过正。最坏的可能性是建立在垂死或不可靠的技术堆栈上。如果您犯了这个错误,您可能需要重新构建您的APP或为开发人员继续前进支付额外费用。这就是为什么在这个流程中拥有一个经验丰富的可信赖的开发合作伙伴来做出这些决定是至关重要的。

前端(移动应用)

对于前端开发,基本上有3种方法。它们是特定于平台的原生、跨平台原生和混合。以下是每种方法的简要概述,以及一些更详细地深入研究每种方法的文章。

  • 原生APP开发- 使用这种方法构建的APP是为每个移动平台单独编写的。代码不能在 Android 和 iOS 之间重复使用,但这些APP可以针对每个平台进行全面优化。UI 可以看起来完全是原生的(因此它将适合操作系统)并且APP应该可以流畅地运行。这通常是最昂贵的方法,但经过多次尝试和测试。
  • 跨平台原生- 使用这种方法构建的APP有一些(或完全共享的)代码,但仍以原生方式运行。用于此的常用技术是React Native、Xamarin和Native Script。这是各种方法之间的一个很好的中间地带,因为它更具成本效益,但仍然可以针对每个平台进行优化和设计。
  • 混合- 混合APP使用 Web 技术(HTML、CSS、Javascript)构建,并通过本机包装器安装。这可以使用Cordova、Phone Gap 和Ionic等技术来完成。这个选项可能是最便宜的,但也存在一些非常现实的困难。

后端(Web API 和服务器)

服务器负责APP的大部分性能和可伸缩性。这里使用的技术类似于用于支持基于 Web 的APP的技术。在编写代码之前,您必须确定以下几点:

  • 语言- 有数十种语言可用于构建您的 API。常用的语言有 Java、C#、Go-lang、javascript、PHP 和 Python。大多数语言也有许多可以使用的框架。

  • 数据库- 现代数据库有两种主要类型,SQL 和 noSQL。SQL 更传统,几乎在所有情况下都是最佳选择。常见的 SQL 实现包括 MSSQL、MYSQL 和 PostgreSQL。除了选择数据库引擎之外,您还必须设计特定的数据库模式。拥有可靠且组织良好的数据对于您的长期成功至关重要。因此,请确保这是经过深思熟虑的。

  • 托管环境(基础设施) - 在此步骤中,您需要决定 API 和数据库的托管位置和方式。此处做出的决定将有助于确定APP的托管成本、可扩展性、性能和可靠性。常见的托管服务提供商包括Amazon AWS和Rackspace。除了选择提供商之外,您还需要规划您的系统将如何随着用户群的增长而扩展。基于云的解决方案允许您以实用程序的形式为资源付费,并根据需要进行扩展和缩减。它们还有助于数据库备份、服务器正常运行时间和操作系统更新。

开发与迭代

完善的移动APP开发是一个迭代流程。您可能听说过术语“冲刺”或“敏捷方法”。这基本上意味着您将所有开发工作分解为更小的里程碑,并在一系列周期中构建您的APP。每个周期将包括计划、开发、测试和审查。关于此流程的书籍有整本书,因此本文将仅简要概述每个步骤。如果您的公司选择使用其他流程,这些步骤将非常相似,但每个步骤的顺序和长度可能会有所不同。

规划

冲刺的计划阶段涉及划分当前迭代期间要实施的任务列表。每项任务都需要明确定义的要求。一旦开发人员了解了这些需求,他们往往会估算完成每项任务所需的时间,这样才能将任务平均分配,以确保 sprint 期间的工作量均衡。

开发人员还开始计划在此阶段解决分配给他们的问题的方法。熟练的软件开发人员找到了在整个APP中智能地重用代码的方法。这对于实现样式和共享功能尤其重要。如果需要更改设计(相信我,有些事情会发生变化),您不希望不得不去许多地方更新代码。相反,精心设计的软件可以在选定的地方进行更改,以进行此类彻底的更改。

发展

在开发阶段,您的开发团队将开始实现您的APP的样式和功能。完成后,它们将被分配回项目经理或 QA 测试人员进行审查。优秀的项目经理能够在此流程中通过在整个 sprint 中适当地重新分配任务来充分优化开发人员的工作量。

重要的是,您的开发团队要充分了解整个APP的目标以及他们正在开发的特定功能。没有人比指定的开发人员更适应该特定功能。他们应该了解需求的意图。如果某些事情开始变得没有意义,通常是开发人员会第一个让你知道。

在开发流程中,我们使用私有测试平台(iOS 的 Testflight 和 Android 的 Google Play Beta)。这些允许我们将APP的开发中版本私下安全地分发给测试人员、客户和其他开发人员。这些平台会自动通知用户新版本(因此每个人都在测试最新和最好的),提供崩溃报告,并可以确保只有经过批准的测试人员才能访问您的APP。这是让每个人都跟上进度的好方法。在开发流程中,我们尝试每周更新一到两次 beta 版本。

测试

大多数测试应由非开发人员或至少不是您应用的主要开发人员的人员执行。这将有助于确保更真实的测试体验。在每个 sprint 期间应该进行几种类型的测试。这些通常包括以下内容:

  • 功能测试- 测试以确保功能按照需求中的描述工作。通常,QA 团队会有一个测试计划,其中包含一系列操作和所需的APP行为。

  • 可用性测试- 测试以确保该功能对用户友好且尽可能直观。通常,在此步骤中引入新的测试人员以获得“首次使用”体验是有帮助的。

  • 性能测试——你的APP可能运行良好,但如果显示一个简单的列表需要 20 秒,那么没有人会使用它。性能测试通常在以后的 sprint 中更重要,但在您前进时请注意APP的响应能力。

  • 装配和完成测试——仅仅因为设计阶段已经完全通过,并不意味着你可以把你的设计师锁在壁橱里。设计人员应审查每个功能并确保按照设计中的描述实现他们的愿景。这也是为什么拥有一个设计和开发机构如此有益的另一个原因。

  • 回归测试——还记得上一个 sprint 的一个特性吗?不要认为它仍然有效,只是因为你上个月测试了它。优秀的 QA 团队在每个 sprint 结束时都会有一个要执行的测试列表,其中将包括以前 sprint 的测试。

  • 特定于设备的测试- 世界上有数以万计的设备和操作系统组合。测试时,请确保您在多种屏幕尺寸和操作系统版本上试用您的APP。有一些工具可以帮助自动执行此操作,例如 Google 的 Firebase,但始终至少在少数物理设备上测试APP。

  • 用户验收测试- 这是由应用所有者或未来应用用户执行的测试。记住您正在为谁构建此APP,并在整个流程中获得他们的反馈。如果一项功能通过了上述所有测试,但没有通过这一项,那么它有什么用?

在此阶段发现问题后,将任务重新分配给开发人员,以便解决问题并关闭问题。完成测试并完成每项任务后,继续进行审查。

审查

在每个 sprint 结束时,与每个利益相关者交谈,并确定 sprint 是如何进行的。如果有困难,试着从未来的冲刺中消除类似的问题。如果某方面进展顺利,请尝试将其应用到其他地方。没有两个项目是完全相同的,每个人都应该在各自的角色中不断进步,所以在迭代的同时努力改进。审核完成后,重新开始规划阶段并重复此流程,直到APP完成!

扩展审查

此时,您的APP应该是完全可测试的并且功能完整(至少对于 MVP 而言)。在您花费大量时间和金钱进行营销之前,请花时间使用潜在用户样本来测试您的APP。有两种主要方法可以解决这个问题。

专门小组

焦点小组涉及对以前从未见过该APP的测试人员或一组测试人员进行采访并进行采访。您想了解这些测试人员是谁,他们如何了解新APP,以及他们是否已经在使用类似的APP。在进入你的产品之前,试着从他们那里得到一些背景信息。接下来,让您的测试人员开始使用您的APP。他们不应在此流程中接受指导。相反,让他们使用该APP,就好像他们刚刚在APP商店中找到它一样。看看他们如何使用该APP,并寻找常见的挫败感。在他们完成使用该APP后,获取他们的反馈。请记住,不要被任何一位测试人员过于强烈地指导,而是结合反馈并利用所有可用的反馈做出明智的决定。

Beta测试

除了焦点小组之外,或者代替焦点小组,您可以对您的应用进行测试版发布。Beta 测试涉及让一组测试人员在现实世界中使用您的APP。他们使用该APP的方式就像它已经启动一样,但数量要少得多。这些 Beta 测试人员通常是高级用户、早期采用者,并且可能是您最好的客户。确保他们感到受到重视和尊重。给他们充分的机会提供反馈,让他们知道您何时以及如何更改APP。此外,Beta 测试是了解您的APP在各种设备、位置、操作系统和网络条件下的表现的好时机。您必须为此步骤提供可靠的崩溃报告。如果出现问题但没有被发现和诊断,这对你没有好处。

细化

在这些延长的审查期之后,通常会有一个最终的开发冲刺来解决任何新发现的问题。在此流程中继续进行 beta 测试,并确保您的崩溃和问题报告正在下降。一旦您从测试人员那里获得了所有信息,就该开始准备部署了。

部署

将您的移动APP部署到世界有两个主要组件。第一个涉及将 Web 服务器 (API) 部署到可扩展的生产环境中。第二个是将您的APP部署到 Google Play Store 和 Apple App Store。

Web API(服务器)

大多数移动APP需要服务器后端才能运行。这些网络服务器负责将数据传入和传出APP。如果您的服务器过载或停止工作,该APP将停止工作。正确配置的服务器可扩展以满足您当前和潜在的用户群,同时又不会产生不必要的昂贵费用。这就是“云”的用武之地。如果您的服务器部署到可扩展的环境(Amazon Web Services、RackSpace 等),那么它应该能够更好地处理流量高峰。对于大多数移动APP来说,扩展并不是很困难,但你要确保你的团队知道他们在做什么,否则你的APP可能会在它流行时崩溃。

应用商店

将您的APP提交到APP商店是一个适度参与的流程。您需要确保您的APP已正确配置发布,为每个商店填写多个表格,提交屏幕截图和营销材料,并编写说明。此外,Apple 会手动审核提交到其应用商店的所有应用。他们可能会要求您对您的APP进行更改以更好地遵守他们的规定。通常,您可以与 Apple 讨论这些更改,并让他们按原样接受您的APP。其他时候,您可能需要进行更改才能获得入场许可。提交您的APP后,它将在当天晚些时候在 Google 中上线,并在几天内在 Apple 中上线,前提是一切顺利。

监控

认为移动APP开发流程在APP交付时结束是非常天真的。去看看任何中等流行的APP,你会看到APP更新的悠久历史。这些更新包括修复、性能改进、更改和新功能。彻底的监控对于最好地了解需要什么样的更新至关重要。以下是您应该监控的几件事。

崩溃

有许多库可用于可靠地跟踪APP崩溃。这些库包括有关用户正在做什么、他们使用的设备以及大量技术信息,这些信息对于您的开发团队解决问题至关重要。APP可以配置为在发生崩溃时发送电子邮件/文本/警报。可以相应地查看和分类这些崩溃。

我们使用的工具:Sentry和Bugsnag

分析

现代APP分析系统是信息的宝库。他们可以帮助您了解谁在使用您的APP(年龄、性别、位置、语言等)以及他们如何使用它(一天中的时间、在APP中花费的时间、在APP中查看的屏幕等)。有些甚至允许您查看APP的热图,这样您就可以知道每个屏幕上的哪些按钮最常被点击。这些系统为您的APP的使用方式提供了宝贵的一瞥。使用此信息可以最好地了解在哪里投资未来的努力。不要在APP中很少使用的部分进行构建,而是在有行动和最大增长潜力的地方进行投资。

我们使用的工具:Facebook Analytics、Apptentive和Google Analytics

表现

前两个监控类别未涵盖的一个重要指标是您的APP的技术性能,即它的运行速度。我们部署的任何系统都有广泛的性能监控。我们能够跟踪一个动作发生了多少次以及该动作花费了多长时间。我们使用它来找到适合优化的区域。我们还设置了警报,让我们知道特定操作是否比预期慢,因此我们可以快速查看是否有任何问题。这些性能工具通常包含仪表板、报告和警报功能。

应用商店管理

应用商店评级和评论非常重要,尤其是对于较新的应用。每当您的列表上留下新评论时,请确保与评论者互动。感谢给您好评的用户,并尝试帮助那些感到沮丧的人。我已经看到数百条差评变成了 5 星,只是提供了一点客户服务。用户不希望APP开发人员和所有者提供亲身体验的服务,而这对提高您的在线声誉大有帮助。

进一步的迭代和改进

所有这些监控的目的是知道你接下来需要做什么。大多数APP从未真正完成。总是有可以添加的新功能和可以改进的东西。盲目地在你的APP上构建是非常浪费的。使用您从用户和监控平台收到的信息。然后重复此移动APP开发流程的部分内容(不用担心,许多步骤在第一次通过后都会变得容易得多)。继续改进您的APP、转化率、安装基础,当然还有您的收入。移动APP是流畅的。通过继续发展和改进来利用这一点。

结论

移动APP开发流程可能看起来势不可挡且涉及。在此流程中,有很多步骤,并且需要做出艰难的决策。但是,这是一个非常有益的流程,并且可能非常有利可图。此外,在此流程中可能会有一些跳过步骤的诱惑,但本指南基于多年与选择跳过某些步骤的APP所有者合作的经验。

如果您正在寻找构建您的下一个(或第一个)移动APP并且需要其中一个或多个步骤的帮助,那么您很幸运!北京天品互联在此流程的任何阶段都欢迎APP所有者。无论您是初创公司还是财富 50 强公司,我们都拥有交付出色移动APP所需的团队和知识。请不要犹豫,今天就联系我们。

客服QQ:121446412 联系电话:15321250321

京ICP备17026149号-1

版权所有@2011-2022 北京天品互联科技有限公司 公司地址:北京市海淀区上地南路科贸大厦408

收缩
  • 15321250321