什么是移动应用程序开发?
浏览用于开发移动应用的流程和软件
为移动设备构建软件
移动应用程序开发的定义可以很广泛—包括创建和发布移动应用所涉及的所有流程—也可以具体到应用的编码和部署。本文将涵盖这两种移动应用开发的定义,并特别关注为围绕软件本身的构建方式做出决策或对其负责的人员定义移动应用开发。
要定义移动应用程序开发,我们应首先定义移动设备,在本例中,指的是手机、平板电脑、笔记本电脑、智能手表、电子阅读器和掌上游戏机等便携电子设备。应用程序不仅指这些设备的本机软件,还包括这些设备支持的常见操作系统、平台和语言。正如你将了解的,有许多不同的方法可以实现移动应用开发,且需做出许多决策。

移动应用程序开发流程
创建和发布移动应用的流程通常理解成一系列步骤或阶段。移动应用开发流程的这些阶段涉及组织内许多不同的人员和知识领域,包括业务、营销、设计和工程。移动应用开发流程的阶段包括:
- 战略
- 规划
- 设计
- 开发
- 测试
- 发布
构建移动应用需要多长时间?
组织需要 3 到 9 个月—必要时更长时间—来开发移动应用程序。应用的范围和功能都会影响移动应用开发流程的时间线。
策略
移动应用程序开发流程首先要了解为什么移动应用可能是解决问题或抓住机会的好方法—然后决定生成内容及其方式。在战略阶段,组织将建立应用的目标和成功的衡量标准、分析市场和竞争、研究客户需求,并确定应用将服务的用户和用例。在战略阶段,组织可能还会开始探索哪些移动应用开发平台最适合其目标和要求。正是在此阶段,组织也会开始考虑围绕应用发布进行营销。
规划
在计划阶段,组织会就移动应用开发流程的四个关键细节达成一致: 团队、工具、技术和时间线。到这一阶段,他们已经了解需要生成的移动应用类型、生成应用的人员,以及将使用哪个或哪些平台。在此阶段,组织将制定产品路线图—决定将按什么顺序和时间构建哪些功能—设定里程碑,并设计项目计划以使他们能够满足预期的发布日期。了解可用的资源和专业知识、了解如何实现为流程选择的技术,对于确定该日期和实现发布至关重要。
设计
在设计阶段,移动应用的外观、功能和作用开始形成。在移动应用开发流程的这一阶段,团队将绘制用户体验图表,并以各种保真度创建用户界面和应用状态。他们可能会从低保真模型开始,从而提供概念证明或在早期收集客户反馈。在这一阶段,开发人员和工程师可能会帮助创建原型设计或就 UX 和 UI 决策提供咨询—让团队了解组织选择使用的平台的要求和技术规范。这样,当组织迁移到全保真屏幕时,便已经设计出能够确实生成的应用。
开发
此上下文中的“开发”一词有时指的是创建和发布移动应用所涉及的完整软件开发生命周期。但更常见的是,开发指的是移动应用开发的这一软件开发阶段。本文稍后将更全面地定义此阶段。目前,最好将这一阶段描述为团队建立技术架构和技术堆栈—包括前端、后端和 API—设置开发里程碑、确定应用的开发生命周期以及编写应用代码的步骤。
测试
测试是移动应用程序开发流程的关键阶段。如果不进行测试,组织就无法确定其应用是否安全、是否按用户需求和预期的方式工作,以及是否在部署它的位置中正常工作。在此阶段,团队会提供质量保证,创建测试用例以评估应用在所有要运行其的设备上的可用性、性能、稳定性和安全性。组织通常会对应用进行压力测试,从而确保应用程序的体系结构可以缩放以满足突然的大量需求。
发布
移动应用程序开发流程的最终阶段是发布。部署应用后,组织会为使用该应用的客户提供支持,并持续进行监视和维护,从而确保应用可用并按预期方式运行。鼓励采用应用的市场营销活动和倡议通常与此阶段一致。如果组织决定增强或更改应用(超出其开发生命周期能够处理的更改范围),则可能会决定重新开始移动应用开发流程。

移动应用开发流程中的软件开发
开发阶段的首要任务是建立移动应用程序的技术架构。技术架构经常与技术堆栈—包括前端、后端和 API—混淆,其是治理移动应用程序开发的规则和模式。
技术体系结构
技术体系结构通常由三层组成:
表示层
这是客户看到并与之交互的应用层。表示层包含用户界面和构成用户体验的应用的所有元素。
业务层
治理工作流、数据交换和操作的逻辑驻留在业务层中。在此层处理移动应用的核心方面,例如安全性、缓存、日志记录和异常处理。
数据层
数据层能够满足应用程序本身的要求,提供数据实用程序、数据访问组件以及帮助程序或服务代理。它也是验证和维护数据并支持数据事务的层。
技术堆栈
同样,技术堆栈也由上述三个部分组成。但是,这些部分代表的是用于生成并支持应用的特定选择,而非创建应用的指南。
前端
与表示层密切相关的是,用于编写移动应用前端代码的工具和语言很大程度上依赖于应用将部署到的设备。有许多选项,且大多数移动设备都有特定的本机语言。
后端
后端是应用的一部分,其中包含数据库以及驻留在服务器上并支持移动应用功能的和其他类似对象。在选择移动后端技术时,团队不太受制于设备,通常可以找到预先构建的后端解决方案。
API
应用通过 API 在后端和前端之间通信—这也使应用能够与其他应用和服务集成并交互。
但是,在团队可以选择技术堆栈—甚至是建立技术体系结构之前—他们首先需要决定要生成的移动应用类型。

移动应用类型
在开发移动设备的应用方面,组织有几种不同类型的移动应用可供选择。在本例中,移动应用类型不是指应用将允许其用户执行的操作,而是指应用的生成方式。
本机应用
特定于特定设备或平台—例如 Android 或 iOS—的应用称为本机应用。这些应用直接在设备的操作系统上运行、使用平台提供的语言和框架,并通过特定于操作系统的应用商店或市场进行部署。本机应用通常可以完全访问运行其的设备的所有功能和硬件。
跨平台应用
团队可以使用所选的语言和框架在应用中编码,然后使用Xamarin等平台为每个要运行应用的操作系统编译代码。所谓的跨平台应用允许团队在多个不同的设备上运行并重用大部分代码—尽管桥接代码比只为一个平台进行开发需要更多的工作。
渐进式 Web 应用
与 Web 应用程序一样,渐进式 Web 应用程序在移动浏览器中运行,且通常通过 JavaScript、CSS 和 HTML5 生成。使 Web 应用成为渐进式应用的原因是它们能够使用高级浏览器功能提供推送通知、更好的触控手势和硬件交互。没有帮助生成渐进式 Web 应用的 SDK,但无需通过市场即可部署此类应用。
混合应用
混合应用混合了本机应用和渐进式 Web 应用,其本质上是运行 Web 应用的本机编码容器。这种组合允许应用更多地访问设备的功能和硬件,并在更多类型的设备上运行—同时保持单一代码库。虽然具有所有优势,但混合应用通常无法达到其他移动应用类型所能实现的性能。
要生成的移动应用类型
组织选择生成的移动应用类型对其团队可用的工具、平台、框架、语言、应用分发、要维护的代码库数、将运行应用的设备,甚至是应用可以执行的操作具有很大影响。
确定要生成的移动应用类型时,考虑用户的身份及其对应用的需求非常有用。例如,如果他们主要使用一种类型的设备或操作系统,则本机应用可能最好。不依赖于硬件传感器或 GPS 的应用可能非常适合作为渐进式 Web 应用或混合应用 - 但如果用户的连接性差,则可能不适用。如果用户是业务或组织的成员,则可能需要考虑其他移动策略。当然,一切都取决于你在组织内或通过合作伙伴获得的专业知识。
此图表进一步概述了不同类型的移动应用之间的差异和相似性,从而帮助你考虑应开发的应用类型。
比较移动应用的类型
本机应用 | 跨平台应用 | 渐进式 Web 应用 | 混合应用 | |
---|---|---|---|---|
代码库数 | 每个平台一个 | 一个,但针对每个平台编译 | 总计一个 | 一个用于应用,另一个用于容器 |
语言和框架 | 仅限本机 | 团队的选择 | 仅 Web | Web 和本机 |
访问 SDK 和 API | 是 | 是 | 否 | 受限 |
性能 | 最高 | 高 | 最低 | 低 |
访问设备硬件 | 完成 | 最好 | 非常少 | 一些 |
对用户输入的响应能力 | 好 | 好 | 最差 | 差 |
交互 | 高 | 高 | 最低 | 低 |
设备资源使用 | 高 | 高 | 低 | 中 |
需要连接性 | 否 | 否 | 是 | 是 |
生成和维护成本 | 最高 | 高 | 最低 | 低 |
应用的存储位置 | 设备 | 设备 | 服务器 | 设备和服务器 |
部署方式 | 市场 | 市场 | 浏览器 | 市场 |
需要外部审批 | 是 | 是 | 否 | 是 |
移动应用程序开发平台和软件
决定要生成的移动应用类型后(或者正在考虑哪种类型时),你会想要评估移动应用开发平台。这些是你将用于开发、生成、测试、调试和管理的移动开发平台,以及在一些情况下甚至在整个生命周期内用于部署移动应用的平台。大多数应用开发软件包括用于构建界面的前端工具、用于处理数据的后端工具、API 工具、测试工具以及用于协作和代码分析的工具。
大多数移动应用程序平台旨在提供开发人员生成移动应用程序所需的一切。这使得开发人员能够在不同的移动开发软件之间移动时避免问题—并处理它们之间出现的问题,例如代码完整性、不兼容性和数据丢失。移动应用开发平台还减少了组织创建移动应用所需的成本、时间、资源和专业知识。虽然一些组织选择构建自己的平台,但更多的组织都会从多种可用的应用开发替代方案中进行选择。
组织使用的最佳移动应用开发替代方案因其要创建的移动应用类型、可以编码的语言以及要服务的设备而异。一些移动应用开发替代方案包括:
- Xamarin等跨平台工具,允许开发人员使用 .NET 和 C# 生成 Android 和 iOS 应用。
- Visual Studio Tools for Xamarin,其为 Android、iOS 和 Windows 移动应用使用单个共享代码库。
- 低代码或无代码工具,例如Power Apps。低代码是一种无需技术培训或专业知识即可生成专业级应用的简单方法。了解详细信息。
移动应用开发资源
有关移动应用程序开发的常见问题
-
移动应用程序开发的定义可以很广泛—包括创建和发布移动应用所涉及的所有流程—也可以具体到应用的编码和部署。
-
移动应用开发流程的阶段包括战略、规划、设计、开发、测试和发布。
-
决定要生成的移动应用类型时,考虑用户的身份及其对应用的需求非常有用。
-
组织使用的最佳移动应用开发替代方案因其要创建的移动应用类型、可以编码的语言以及要服务的设备而异。
-
组织需要 3 到 9 个月—必要时更长时间—来开发移动应用程序。
-
虽然完全开发移动应用可能需要几个月的时间,但 Microsoft 在下方提供了立即开始移动应用开发的五条提示。
-
DevOps 由 "development" (开发)和 "operations" (运营)这两个单词合成,意思是统筹人员、流程和技术以持续为客户提供价值。DevOps 的文化、工具和做法可帮助独立运行的角色(如开发、IT 运营、质量工程和安全)进行协调和协作,以生成更好、更可靠的移动应用。DevOps 可帮助开发团队更快地响应客户需求,增加他们所开发应用的可信度,并更快地实现团队的业务目标。
-
开发人员通常专注于云提供程序的技术功能和流程,例如: 是否可以轻松部署、管理和升级,是否使用标准接口和 API,是否具有与监视/管理系统集成的正式事件管理系统、是否具有有据可查的更改管理流程以及是否支持混合功能。