第一节·导读与通用开发历程

文章目录

  • 第一节·导读与通用开发历程
    • 导读
      • 前言
      • 了解鸿蒙
        • 系统定位
      • 技术架构
        • 内核层
        • 系统服务层
        • 框架层
        • 应用层
    • 搭载Windows开发环境
      • 运行环境要求
      • 下载和安装DevEco Studio
    • 通用开发历程

第一节·导读与通用开发历程

导读

本系列课程根据官方文档,逐步开展鸿蒙学习。

鸿蒙开发分为两部分,一部分为鸿蒙硬件开发,另一部分为鸿蒙软件开发。鸿蒙硬件开发以C语言嵌入式开发为主,软件发发以JS和Java开发为主,其中Java适用于TV、pad、手机等大运行内存设备,而JS适合智慧手表、运动手表等小运行内存设备。

前言

本节内容十分基础,不涉及个人理解,可以参考官方文档。

了解鸿蒙

系统定位

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。

在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

HarmonyOS有三大特征:

  • 搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享

    对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。

  • 面向开发者,实现一次开发,多端部署

    对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。

  • 一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署

    对设备开发者而言,HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。

HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。

技术架构

HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如下所示。

第一节·导读与通用开发历程_第1张图片

内核层

  • 内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

  • 驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。

系统服务层

系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:

  • 系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。
  • 基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 、MSDP&DV等子系统组成。
  • 增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。
  • 硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。

根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。

框架层

框架层为HarmonyOS应用开发提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

应用层

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个**FA(Feature Ability)PA(Particle Ability)**组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

搭载Windows开发环境

运行环境要求

为保证DevEco Studio正常运行,建议电脑配置满足如下要求:

  • 操作系统:Windows10 64位
  • 内存:8GB及以上
  • 硬盘:100GB及以上
  • 分辨率:1280*800像素及以上

下载和安装DevEco Studio

DevEco Studio的编译构建依赖JDK,DevEco Studio预置了Open JDK,版本为1.8,安装过程中会自动安装JDK。

  1. 进入HUAWEI DevEco Studio产品页,点击下载列表后的img按钮,下载DevEco Studio。

    说明:如果下载DevEco Studio Beta版本,则需要注册并登录华为开发者帐号。

  2. 下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,在如下安装选项界面勾选64-bit launcher后,还要勾选Add PATH ,点击Next,直至安装完成。

    第一节·导读与通用开发历程_第2张图片

  3. 安装完成后,点击Finish完成安装。

    第一节·导读与通用开发历程_第3张图片

通用开发历程

各类设备(手机/平板、智能穿戴、智慧屏等)通用的用户应用程序开发历程如下表所示。

任务 简介 相关资源
开发Ability Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型:FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。PA支持Service Ability和Data Ability:Service模板用于提供后台运行任务的能力;Data模板用于对外部提供统一的数据访问抽象。进行HarmonyOS应用开发,首先要了解Ability如何使用。 Page AbilityService AbilityData Ability
开发UI FA需要提供UI用于与用户进行交互,HarmonyOS提供了Java UI和JS UI两种UI框架:Java UI提供了细粒度的UI编程接口,使应用开发更加灵活;JS UI提供了相对高层的UI描述,使应用开发更加简单。说明针对轻量级智能穿戴(Lite Wearable),现阶段只使用JS语言进行应用开发,详见轻量级智能穿戴开发。· Java UI框架Java API参考JS UI框架JS API参考
开发业务功能 媒体:视频、音频、图像、相机等功能的开发。安全:权限、生物特征识别等功能的开发。AI:图像超分、语音识别、码生成等功能的开发。网络连接:NFC、蓝牙、WLAN等功能的开发。设备管理:传感器、控制类小器件、位置等功能的开发。数据管理:数据库、分布式数据/文件服务、数据搜索等功能的开发。线程:线程管理、线程间通信等功能的开发。IDL:声明系统服务和Ability对外提供的服务接口,并生成相关代码。 媒体开发指南安全开发指南AI开发指南网络与连接开发指南设备管理开发指南数据管理开发指南线程开发指南IDL接口使用指南
调试应用 如果需要在真机设备上调试应用,则在编译前需要先申请调试证书,并配置签名信息。以便于在编译构建时,生成带签名信息的HAP。如果在模拟器上调试应用,则不需要签名,直接编译构建HAP即可。 使用真机进行调试使用模拟器进行调试
发布应用 如果需要发布到应用市场,需要申请发布证书,并对APP进行签名,再申请上架。 应用发布

本专栏会根据开发历程逐步学习HarmonyOS

你可能感兴趣的:(最新鸿蒙系列课程,harmonyos)