浅谈前端开发转型鸿蒙移动端开源系统开发:HarmonyOS开发者成长之路

 -- 1、IDE集成开发环境

 -- 2、系统架构

 -- 3、Ablitiy提供的系统能力 (UIAbility FA PA)

 -- 4、工程化构造

 -- 5、Ark框架

 -- 6、build 运行调试

 -- 7、总结

 

   IED集成开发环境

    1 . HarmonyOS 推出新型 IED 集成开发环境 DevEco studio , 那对于前端同学不陌生的编辑器 VsCode 来说 , 那 DevEco IDE 能力上的提供了 系统原生底层代码的            SKD , 集成了Linux , 编辑器 , 编译器 , 构造器 ,调试器 ,模拟器,为主体的多核系统程序开发工具 ,为 C/C++ 、Java 、Js等语言架构提供 Api . 让 DevEco IED 成为          多维多元的集成环境 ;

    2. 我们熟悉的 VsCode 在视图层代码应用 , 编译用了拓展的Ts , 但他编译不了系统底层语言 , 这是一个很明显的短板 , 我们熟知的 RN 移动端开发 需要借助很多第三          方集成环境 , 比如 Android studio 或者 Xcode , 虽然支持了多端统一开发 , 无论从性能上、开发效率和软硬件兼容、调试上都存在优化空间 .这是我自己逃避 RN的          因素吧.

    3. DevEco采用了基于 Js/Ts 的 eTs , eTs 拓展了后台的静态语言 , 延续了 Js class类组件 , 衍生了自主语言的装饰器 主要提供了 Ability 抽象系统程序的能力,  通过         Ability 为eTs 提供了装饰器 、内置组件 、自定义组件 、状态管理器 、生命周期等等;  使之成为跨语言多维度多端多平台高效协同开发的工具 . 通过一系列                   的能力使开发者享受一个 高效率 、高复用、易维护 、好调试的系统开发工具 . 对于 Js 开发者转型移动端开发的难度系数大幅降低 .

     

    系统架构

     1. KAL内核层抽象了 内核子系统、Linux 、LiteOS 、驱动子系统、HDF(硬件驱动框架) 大致方向为硬件互助, 资源共享

     2. 核心在系统服务层, 提供了 分布式任务调度, 分布式数据管理, 分布式软总线, 方舟多语言运行时子系统 Ark, 公共基础库 ,对于前端开发来讲, 针对性学习Ark 就能满        足日常的视图,用户交互基本需求.一次开发多端部署, 统一OS, 弹性布局

     3.应用框架层主要是系统为程序提供Ability、UI框架.

   

    Ablitiy

     1. Ability 提供了 Entry 、FA (Featrure Ability) 、PA(Particle Ability 分为 Service Ability 和 Date Ability) 

     2. Entry是终端程序应用的内核文件 ,可以多入口构建同理高并发生产.

     3 .FA主要是 Page Ability模版, 提供用户交互, 每个page Ability 代表一个或多个实例页面,用 AbilitySlice 表示 .

     4. PA主要有 用于后台应用的任务相应执行的 Service Ability , 比如切换 Page实例 保证后台的数据下载、音乐播放功能的运行. Service 是单实例的, 在一个设备, 相           同的 Service 只会存在一个实例, 如果有多个Ability与 Service绑定, 只有退出所有Ability, Service才能退出 ;否则, Service在主线程上阻塞, 开发者需创建新的线程             处理阻塞 ; 用于同设备不同应用的数据共享, 和跨设备不同应用的数据共享的 Data Ability , 数据存放形式可以是数据库也可以是磁盘 ;它对外提供了应用的数据              增、删、查改及打开文件等接口 , 接口由开发者自行提供.

 

    工程化构造

      1. 基本构造以 entry 为入口, 入口调度文件、构建了 page配置 、node资源、静态资源 、多媒体资源 、第三方依赖、 模块化/工程化配置 、国际化为一体 , 抽                   象、解耦、拆包、快速构造编译 , 开发实时调试等等应用都是技术领域的一股清流 . 只要我们打破前端单页面应用开发传统思维, 实践鸿蒙OS的业务研发,我相信技          术提升离我们近在咫尺.

      2. 构造解耦了 view层, 数据层 , 状态层, 使用代码嵌套风格实现链式调用, 实现逻辑UI分离 ;Ability提供的跨组件、跨层级调用. 业务统一规范, 逻辑清晰易于维护. 

 

     Ark框架

      1. Ark是鸿蒙子系统的运行时编译器 , 所以只要有系统运行, 就有实时执行所有的状态(runtime)、数据转换的可能. Ts的超集,植入强系统型语言. 对鸿蒙的全设备平台           开发解决方案有着奠基的意义 , 同时也是我们开拓自主技术工具品牌的开端 . 

      2. 渲染性能上有IDE提供的高并发和高并行的助力推动 , 使得开发者有跨语言交互开发流畅高效UI的可能 , 作为旗舰的技术我们应以生态的构建为驱动去学习这门语             言打造一个优秀的新开发工具得到开源社区的广泛应用和订阅 .

     

     

    build 运行调试

     

      1. build的构建是前端开发同学的痛点, 运行和调试都需要有系统技术背景的支撑 .

      2. 通常对于初学者来讲 : 会遇到开发, 模拟器运行 功能开发 调试验证 等问题 , 再者是对鸿蒙OS的API 不了解, 会造成对全局开发产生局限性和开发流程遏制 ,所以想           构建一个体系化的产品, 我们从后端语言的 api 开始领会 ,有针对性的实践提升. 

      3. 系统语言是多元的, 避免在前端的知识体系的固化是对相对提升终端程序开发的提升途径.

 

    总结

     1. 活跃在鸿蒙开发生态社区的用户量也在日益逐增, 希望对鸿蒙有兴趣的前端开发者 ,对系统开发有了初步的了解, 我们可以一同探索, 一同协力支撑OpenHarmonyOS          的生态建设 ;因为OpenHarmonyOS有了自主品牌, 我相信国人开发者的士气和研发热情会备受鼓舞我将为我的学习成果作持续输出 ,和对生态平台贡献自己研究的            绵薄之力.

     2. 从一叶方舟到诺亚方舟, 从沧桑的古木到史诗级的巨轮是举国之力 , 是东方觉醒 , 是否极泰来 ,荣放鸿光 .

你可能感兴趣的:(浅谈前端开发转型鸿蒙移动端开源系统开发:HarmonyOS开发者成长之路)