当前位置: 代码网 > 手机>品牌>华为 > 【笔记】OpenHarmony和HarmonyOS区别及应用开发简介

【笔记】OpenHarmony和HarmonyOS区别及应用开发简介

2024年08月01日 华为 我要评论
HO当前最高是3.1,在华为mate 60上面也是。关于4.0、5.0和next这类版本说法都是面向用户的,不是开发人员。对于程序员,最高只到了版本3。OH基于内核,市面了解的是叫HO。先有内核版本才有应用层版本,因此OH的版本会比HO高级。

一、概念

ho当前最高是3.1,在华为mate 60上面也是。关于4.0、5.0和next这类版本说法都是面向用户的,不是开发人员。对于程序员,最高只到了版本3。

oh基于内核,市面了解的是叫ho。先有内核版本才有应用层版本,因此oh的版本会比ho高级。

(一)harmonyos

分为应用开发和设备开发,这里只关注harmonyos鸿蒙应用开发了。

(二)openharmony

openharmony 4.0 release对应api能力级别为api 10 release,

ho比oh找工作容易(估计是应用层需求大上手多),但是oh的api更加完善。

二、开发工具 ide(deveco studio)

v3和v4的deveco 的sdk是不大相同的(下载链接也是),而且新的都建议用v4。

(一)harmonyos v3.1.1 release

deveco studio 3.1.1 release 安装包下载
deveco studio 3.1.1 release 安装包下载

版本信息:

deveco studio 3.1.1 release 版本信息​​​

sdk版本:

(二)openharmony-v4.0-release

最新版本,sdk=10,设置oh版本到api10。

24年1月华为发布next版本,可能会存在以往的版本不兼容问题。

三、应用开发

1、sdk

在设置中检查项目sdk,可以切换harmonyos(当前最高9)和openharmony(10)

sdk
settings-sdk

note:下载openharmony sdk的路径必须跟harmonyos的不同

安装 openharmony sdk
下载 openharmony sdk 及路径配置

2、新建项目

创建项目时,不要新建empty ability,容易不兼容,建议新建【[openharmony]empty ability】(deveco 3没有的)

v4 create project
v4 create project
v3.1 create project
v3 create project

如果还是deveco v3.1.1的版本会显示sdk 3.1,如果是v4的sdk则为10(这个不能在haromonyos上面跑,可能会模拟器手机报错)

3、项目配置

类似android的build.gradle,有单独(entry目录下)和全局配置(项目) build-profile.json5

build-profile.json5 项目配置

4、harmonyos 开发支持

鸿蒙 {开发} 套件 万物互联时代的鸿蒙生态加速器

上层应用开发所需工具和知识点:

arkts 应用开发语言

arkts 语言 | 华为开发者联盟 (huawei.com)

自然简洁语法

主要的布局就是build()的内容,外层通过stuct index包装,最简版如下:(看起来类似android开发,给注解加了个功能。)

//index就是应用的入口
@entry //装饰器,表示页面入口
@component //组件,表示下述结构体有ui的能力
struct index {

  build() {    //构建声明式ui
    text("hello world")
      .fontsize(50)
  }

}

数据驱动ui,刷新机制,binding。

//index就是应用的入口
@entry 
@component //组件,表示下述结构体有ui的能力
struct index {
  @state message: string = 'hello world'

  build() {    //构建声明式ui
    row() {
      column() {
        text(this.message)
          .fontsize(50)
          .fontweight(fontweight.bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}
轻量化并发机制

arkui 界面开发框架

声明式ui框架arkui_跨端界面应用开发 | 华为开发者联盟 (huawei.com)

3.1 ui 更新机制升级(布局渲染)
component和element树形结构
component和element树形结构

=>

单节点node
单节点node函数
逻辑和ui分离(数据双向绑定机制)
优化前:数据流转7步

原ability包含ui+model,将其分离后,数据流转优化。

优化后:数据流转2步
stage 模型(应用调度)

stage模型开发概述-stage模型开发指导-应用模型-开发 | 华为开发者联盟 (huawei.com)

高级ui组件扩展能力
xcomponent组件
xcomponent组件 demo

5、功能开发

代码语法类似flutter,compose。

代码结构

结构又像网页开发,index作为入口。好比android的mainactivity吧。

index.ets 入口
index.ets 入口

设备类型

当前ui开发不用多虑设备类型(如手机、平板、手表等等),视为横竖屏两种类型即可。

开发过程中可以把previewermuitl-prifile preview打开,就能看到不同设备的显示情况。

sdk api阅读

只能看到声明和二进制,不能像android sdk那样看到java源码实现。

ui 调试

build中可以设置界面的属性和数值大小,通过侧边栏的previewer->inspector可以快速配置和查看界面情况。

四、学习规划

1、基本应用开发(2个月?10k+)

100w个岗位,android 

2、应用高级原理,sdk开发,熟悉源码原理

3、高级开发,系统、硬件(南向)

gpio pwm tcp udp mqtt 线程管理,底层锁

系统移植、内核裁剪、驱动开发(摄像机、传感器)

android 23种设计模式

刚开始学的时候不用看源码openatom openharmony,后面高级开发的时候需要熟悉。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com