
前言我们每天都在使用手机 App聊天、购物、刷视频、导航、学习……但是一个 App 到底是怎么开发出来的为什么有的 App 运行在 Android 手机上有的 App 只能在 iPhone 上使用鸿蒙开发又和 Android、iOS 有什么关系如果你刚开始接触移动开发看到 Kotlin、Swift、ArkTS、Android Studio、Xcode、DevEco Studio 这些名词很容易感觉比较混乱。其实不用一开始就学习所有细节。我们可以先从整体上认识三种主流移动开发平台Android 开发iOS 开发HarmonyOS 开发本文不深入讲复杂代码而是用比较容易理解的方式介绍它们的语言、工具、界面框架、开发流程和主要区别。一、什么是移动端开发移动端开发简单来说就是为手机、平板、手表、车机等移动设备开发应用程序。一个完整的移动 App通常包含下面几部分部分作用举例用户界面让用户看到并操作首页、按钮、列表、输入框业务逻辑决定程序应该做什么登录、计算、下单、搜索数据存储保存用户数据账号、设置、聊天记录网络请求和服务器交换数据获取商品、发送消息系统能力使用手机提供的功能相机、定位、通知、蓝牙打包发布让用户安装和使用应用安装包、应用商店可以把移动 App 想象成一家餐厅界面是餐厅的门面和菜单业务逻辑是后厨的做菜流程数据存储是仓库网络请求是和供应商、外卖平台沟通操作系统则像餐厅所在的商场规定了很多运行规则。二、Android 开发是什么2.1 Android 是什么Android 是一种移动操作系统广泛运行在手机、平板、电视、手表、车机等设备上。不同厂商可以基于 Android 制作自己的设备和系统因此 Android 设备种类比较多屏幕尺寸、硬件配置和系统版本也可能不同。2.2 Android 常用开发语言Android 早期大量使用 Java 开发现在 Kotlin 是官方重点推荐的语言之一。如果你已经学习过 Java那么学习 Android 会有一定基础因为下面这些知识依然非常有用类和对象继承和接口异常处理集合多线程网络请求Kotlin 和 Java 有很多相似之处但 Kotlin 的代码通常更加简洁。例如定义变量时可以少写很多代码还提供了空安全、扩展函数、协程等能力。2.3 Android 常用开发工具Android 开发最常见的工具是 Android Studio。它可以用来创建 Android 项目编写 Kotlin 或 Java 代码设计应用界面运行模拟器连接真实手机调试打包 Android 应用。Android Studio 本质上是一个专门为 Android 开发准备的集成开发环境。2.4 Android 的界面开发方式传统 Android 项目经常使用 XML 和 View 创建界面。现在也可以使用 Jetpack Compose。Compose 是 Android 官方推荐的现代 UI 工具包采用声明式的方式描述界面你告诉程序“界面应该长什么样”当数据变化时界面会自动更新。Android 官方文档一个非常简单的 Compose 页面如下Composable fun WelcomePage() { Text(text Hello Android) }这段代码的意思是创建一个显示“Hello Android”的界面。初学者暂时不需要记住所有注解只要先理解Compose 用代码描述界面界面会随着状态变化而变化。三、iOS 开发是什么3.1 iOS 是什么iOS 是苹果为 iPhone 等设备设计的移动操作系统。苹果同时还有 iPadOS、watchOS、macOS 等系统。苹果设备的型号和系统生态相对统一所以 iOS 开发通常更加重视统一的设计规范、系统体验和应用审核流程。3.2 iOS 常用开发语言iOS 开发目前主要使用 Swift也有一些历史项目使用 Objective-C。Swift 是苹果推出的现代编程语言特点是语法比较简洁重视类型安全支持面向对象和函数式编程适合开发 iPhone、iPad、Mac 等平台的应用。如果只是了解 iOS 开发不需要马上深入 Swift 语法。可以先知道Swift 大致相当于 iOS 生态中的主要开发语言。3.3 iOS 常用开发工具iOS 开发主要使用 Xcode。Xcode 可以完成创建 iOS 项目编写 Swift 代码使用模拟器运行 App调试程序分析性能打包并提交应用。Xcode 是苹果官方提供的开发工具负责从创建项目到测试、发布的完整流程。Apple 官方文档3.4 iOS 的界面开发方式iOS 传统上经常使用 UIKit 创建界面现在也可以使用 SwiftUI。SwiftUI 和 Jetpack Compose 有一些相似之处都属于声明式 UI 框架。开发者通过代码描述界面而不是手动操作每一个界面元素的位置。SwiftUI 官方文档一个简单的 SwiftUI 页面如下import SwiftUI struct WelcomeView: View { var body: some View { Text(Hello iOS) } }这段代码会创建一个显示“Hello iOS”的页面。四、HarmonyOS 开发是什么4.1 HarmonyOS 是什么HarmonyOS 是华为面向多种设备打造的操作系统和应用生态。它关注的不只是手机还包括平板、手表、智慧屏等设备。鸿蒙开发中经常会看到“多设备”“分布式”“跨设备协同”等概念。初学阶段不用急着理解这些复杂概念可以先把它看成一个独立的移动应用开发平台。4.2 鸿蒙常用开发语言HarmonyOS 应用开发主要使用 ArkTS。ArkTS 的语法风格和 TypeScript 有一定关系但它针对 HarmonyOS 应用开发进行了扩展和约束强调类型安全、声明式 UI 和应用性能。ArkTS 官方介绍如果你学习过 Java、JavaScript 或 TypeScript那么理解 ArkTS 中的变量、函数、类和组件会相对容易一些。4.3 鸿蒙常用开发工具鸿蒙应用主要使用 DevEco Studio 开发。DevEco Studio 可以用来创建 HarmonyOS 项目编写 ArkTS 代码使用 ArkUI 创建界面运行模拟器连接设备调试编译和打包应用。4.4 鸿蒙的界面开发方式ArkUI 是 HarmonyOS 的界面开发框架采用声明式 UI 思路提供了文字、按钮、列表、布局、动画等组件。一个简单的 ArkUI 页面如下Entry Component struct WelcomePage { build() { Column() { Text(Hello HarmonyOS) } } }这段代码表示创建一个页面并在页面中显示一段文字。鸿蒙开发的官方技术体系主要可以先记住三个名字名称作用ArkTS开发语言ArkUI用户界面框架DevEco Studio开发工具五、三种移动开发平台对比下面这张表可以帮助我们快速建立整体认识对比内容AndroidiOSHarmonyOS主要语言Kotlin、JavaSwift、Objective-CArkTS开发工具Android StudioXcodeDevEco StudioUI 框架Jetpack Compose、ViewSwiftUI、UIKitArkUI主要设备手机、平板、电视、手表等iPhone、iPad、Mac、Watch 等手机、平板、手表、智慧屏等常见应用包APK、AABIPA鸿蒙应用包等主要特点设备种类丰富、生态开放体验统一、生态封闭多设备协同、国产生态这三种平台虽然名字、语言和工具不同但开发 App 时要解决的问题非常类似用户界面 ↓ 用户操作 ↓ 业务逻辑 ↓ 数据存储 / 网络请求 ↓ 系统能力调用 ↓ 测试、打包、发布六、三种平台中有哪些相同概念6.1 页面无论 Android、iOS 还是 HarmonyOS都需要创建页面。比如登录页面首页商品详情页设置页面聊天页面不同平台的写法不一样但“页面”这个概念是相同的。6.2 组件按钮、文字、图片、列表、输入框都属于界面组件。可以简单理解为一个 App 的界面是由许多组件组合起来的。6.3 事件用户点击按钮、输入文字、滑动页面都会产生事件。例如点击登录按钮后程序可能会读取输入框中的账号和密码检查输入内容请求服务器根据结果显示登录成功或失败。6.4 状态状态就是“程序当前是什么情况”。例如当前用户是否登录当前页面是否正在加载输入框中有什么内容网络请求是否成功当前列表中有多少条数据。当状态发生变化时界面通常也需要跟着变化。6.5 生命周期手机 App 不会永远停留在屏幕前台。用户可能打开另一个 App、锁屏、返回桌面系统也可能回收后台资源。因此每个平台都有自己的生命周期机制用来处理页面创建页面显示页面暂停页面恢复页面销毁。生命周期是移动开发中很重要的概念但初学时先理解“页面会被创建、暂停、恢复和销毁”即可。6.6 网络和数据存储大多数 App 都需要从服务器获取数据也需要在本地保存一些内容。例如网络请求获取新闻列表本地存储保存登录状态数据库保存聊天记录文件保存图片和附件。这些功能在三个平台上都存在只是调用的 API 和代码写法不同。七、原生开发和跨平台开发有什么区别7.1 原生开发原生开发就是分别使用平台官方技术开发Android 使用 Kotlin 或 JavaiOS 使用 Swift 或 Objective-CHarmonyOS 使用 ArkTS。原生开发通常可以更充分地使用平台能力性能和系统适配也更直接。缺点是如果想同时支持多个平台可能需要分别学习多套语言和工具。7.2 跨平台开发跨平台开发是使用一套技术同时生成多个平台的应用例如FlutterReact NativeKotlin Multiplatform跨平台开发可以减少重复工作但遇到某些系统特殊功能时仍然可能需要编写平台相关代码。可以简单理解为原生开发像分别建造三栋房子跨平台开发像先设计一套通用户型再根据不同地形进行调整。八、初学者应该先学哪个平台没有绝对正确的答案可以根据自己的情况选择。选择 Android适合已经学习过 Java想接触手机 App 开发希望找到较多学习资料想了解移动端的基础概念。选择 iOS适合对苹果生态感兴趣愿意学习 Swift有 Mac 电脑希望体验统一的开发工具和设备环境。选择 HarmonyOS适合想了解国产移动生态对多设备协同感兴趣愿意学习 ArkTS想接触 DevEco Studio 和 ArkUI。如果你还没有明确目标建议先学习一个平台不要同时学习三套技术。掌握了页面、事件、状态、网络、存储这些通用概念后再学习其他平台会轻松很多。九、总结Android、iOS 和 HarmonyOS 都可以用来开发移动应用但它们属于不同的开发生态Android 主要使用 Kotlin、Java 和 Android StudioiOS 主要使用 Swift、Xcode 和 SwiftUIHarmonyOS 主要使用 ArkTS、DevEco Studio 和 ArkUI。三种平台虽然技术细节不同但核心思想很相似创建界面响应用户操作处理业务逻辑保存和获取数据最后完成测试和发布。对于初学者来说最重要的不是一次学会所有平台而是先掌握一套完整的移动开发思维。理解了页面、事件、状态、生命周期、网络和存储之后再学习其他平台就会容易很多。如果你已经有 Java 基础可以先从 Android 开发开始如果对苹果生态感兴趣可以了解 SwiftUI如果想认识国产移动开发生态可以从 ArkTS 和 ArkUI 入门。