HarmonyOS开发:NEXT版本开发新体验

前言

年前,公司团队接洽了鸿蒙方团队,确认了生态合作,于是开通了白名单权限,授权了新的IDE和相关文档的使用和查看,历经一月有余,谈谈NEXT版本有哪些开发上的区别。

本文会从以下几个方面阐述:

1、NEXT什么时候更新,是否是纯血鸿蒙?

2、NEXT版本IDE,开发上的阻碍

3、NEXT版本Api和之前的不同点。

4、谈一谈,鸿蒙的发展

5、后续的规划安排

一、NEXT什么时候更新,是否是纯血鸿蒙?

我相信这是很多人关心的,当然了我们团队也不例外,在鸿蒙方团队来洽谈的时候,对于这个问题,也着重做了询问,得到的反馈是,大概今年秋季,也就是八九月份,NEXT将会更新,大概率是纯血鸿蒙,虽然是内部人士,但话也没有说的那么绝对,毕竟未来的事情,谁也不会能够预知某些事情的发生,但可以预料到的是,纯血鸿蒙,正在加快到来。

二、NEXT版本IDE,开发上的阻碍

首先,需要注意的是,当下的时间,如果想要进行NEXT版本开发,那么之前的IDE是无法使用的,无论是正式版的3.1版本,还是4.0版本都是不行的,必须下载NEXT版本方可以,如何下载,大家去官方申请即可,当然,如果是企业合作性质的,相关配套IDE、模拟器,SDK等等会优先打包发送,相关审核也是很快。

新的IDE,在使用上和之前的版本没有什么区别,无非就是SDK这块,使用的是NEXT,如下所示:

ArkUI-X的版本如下:

要说目前进行NEXT开发有阻碍吗,这个是肯定的,因为目前的模拟器当前仅macOS(ARM)版本支持,我们整个部门也没几台,并且真机的话,需要定向更新至纯血鸿蒙后,才可以使用。

如果没有模拟器或者真机,那么现阶段只能通过预览模式,开发一些UI页面,当然了,这一切都在加紧推进中,估计很快就会得到完善,基于此,鸿蒙对于调试,每个应用会分配一个样机用于测试,真正加入生态合作的时候,就会进行邮寄。

虽然NEXT和之前的版本有些许区别,但大部分都是一样的,大家如果实在等不急,可以在Api9和之前的IDE进行开发,后续升级再更改也是可以的。

三、NEXT版本Api和之前的不同点。

相对于Api9,其实大部分都是大同小异,还是官方推荐的ArkTs语言进行开发,对于UI开发上的ArkUi,没怎么变化,无非就是优化了部分问题,增加了部分属性,如果之前对于ArkTs有着开发经验,新版对于你来说,毫无阻碍。

但是也有很多的差异之处,需要我们重点的关注,比如,声明不再支持var关键字,必须使用let声明变量,禁止使用any类型等等,这都是新版变化之后,对于旧版的项目需要兼容的。

在比如,要求类的所有属性在声明时或者在构造函数中显式地初始化,方法必须指定返回类型,并且方法参数也需要指定类型,等等改变都是必须要注意的,以往的TypeScript写法,在新版中已经严格禁止。

比如以往针对方法和参数以及返回值,我们可以这样如下定义:

add(a, b) {
  return a + b
}

在新版中必须指定参数类型:

add(a: number, b: number) {
  return a + b
}

在比如,以下的代码在以往的开发中很常见:

class Person {
  name: string // undefined

  setName(n: string): void {
    this.name = n
  }

  getName(): string {
    // 开发者使用"string"作为返回类型,这隐藏了name可能为"undefined"的事实。
    // 更合适的做法string"作为返回类型,这隐藏了name可能为"undefined"的事实。
    return this.name
  }
}

NEXT版本针对以上的写法会编译错误,因为NEXT版本要求属性显式初始化。

class Person {
  name: string = ''

  setName(n: string): void {
    this.name = n
  }

  // 类型为"string",不可能为"null"或者"undefined"
  getName(): string {
    return this.name
  }
}

当然了还有很多的不同之处,官方文档中也有标注,就不多举例了,建议大家多去NEXT版本文档多看看。

四、谈一谈,鸿蒙的发展

对于鸿蒙的发展,我是一直持有乐观态度的,大家也可以看看我之前发表过的文章,基本上去年8月份,我就开始不断的输出鸿蒙相关的技术文章,同时自己也在封装各个关于鸿蒙的基础库,虽然一开始遭遇到了很多同行的抵制和冷眼嘲讽,还好,目前的鸿蒙正在加速的发展,加速的完善。

关于鸿蒙的生态,我相信大家也在新闻中,多多少少都能看到,真的无时无刻不在扩大,几乎每天都有新的行业,新的企业融入,像支付宝、美团、小红书、快手等等,越来越多的企业都在加入鸿蒙的生态,市场也踊跃出了大批的关于鸿蒙的高薪职业,所以说,无论是当下的工作安排,还是未来的职业发展,鸿蒙绝对是不可忽视的系统。

总之,看好与否,鸿蒙终究要来。

五、后续的规划安排

虽然之前的文章都是基于Api9的,但大部分都是大同小异,大家仍然可以作为参考,至于之前自己开源的鸿蒙基础库,自己最近也在做同步更新中,不久NEXT版本便可兼容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/450566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity2021.3.35f1配置安卓APK发布环境

1.在Unity3d中点击菜单【Edit】【Preferences】,在External Tools中可以看到Android平台需要配置JDK、SDK、NDK、Gradle。对应的版本需要在官方文档中查看 JDK:指Java开发环境 SDK:指安卓开发包,包括Build Tools、Commond-line T…

day1-C++

1>提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成。 代码&#xff1a; #include <iostream> #include <string.h> using namespace std;int main() {string str ;int low 0, …

react 综合题

一、组件基础 1. React 事件机制 javascript 复制代码<div onClick{this.handleClick.bind(this)}>点我</div> React并不是将click事件绑定到了div的真实DOM上&#xff0c;而是在document处监听了所有的事件&#xff0c;当事件发生并且冒泡到document处的时候&a…

【数据结构】特殊的线性表——栈

&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;个人主页&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388; &#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;&#x1f9e7;数据结构专栏&#x1f388;&#x1f388;&#x1f388;&…

WPF —— 数据绑定(初级)

数据绑定&#xff1a;把数据以一个变量的方式绑定到一个标签上,以后可以通过对变量修改&#xff0c;达到修改属性的目的 之前修改某一个label标题&#xff0c;之前写法this.l1.content"李四" 数据绑定写法&#xff1a;label content {Bind path title} …

Redis中AOF数据持久化

AOF介绍 AOF&#xff08;Append Only File&#xff09;持久化&#xff1a;以独立日志的方式存储了 Redis 服务器的顺序指令序列&#xff0c;并只记录对内存进行修改的指令。 当Redis服务发生雪崩等故障时&#xff0c;可以重启服务并重新执行AOF文件中的指令达到恢复数据的目的…

Oracle之ADG与DG的区别?

在上云后的Oracle数据灾备场景中&#xff0c;我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份&#xff0c;ADG比DG更好&#xff01;”。究竟ADG作Oracle数据灾备的优势在什么地方&#xff1f; 一、ADG主要解决了DG时代读写不能并行的问题 DG时代的数据同步…

计算机设计大赛 深度学习花卉识别 - python 机器视觉 opencv

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &a…

es配置elk实现增量同步以及全量同步

需要配置这个文件 input {stdin {}jdbc {# mysql 数据库链接,center为数据库名,jdbc版本比较大的要加上&#xff1f;后面那串字符jdbc_connection_string > "jdbc:mysql://192.168.161.131:3307/mz-master"# 用户名和密码jdbc_user > "root"jdbc_pas…

bug--xxoobject has no attribute xxx

Python 创建类的实例后却不能调用写的方法&#xff0c;检查了半天原来是缩进的问题&#xff0c;def函数不应该和class并列 只能说这个英文空格太小了&#xff0c;看不出来。。。。

RVGS-06-1-1PN-A2电磁引导式溢流阀

RVGS-03-2-2PN-D2、RVGS-04-3-1PN-D2、RVGS-06-2-3P-A2、RVGS-03-1-2P-D2、RVGS-10-3-1P-A2、RVGS-06-1-1PN-A2、RVGS-03-1-2PN-D2、RVGS-06-2-3P-D2油田YUTIEN电磁引导式溢流阀和电磁换向阀的组合&#xff0c;配套的面阀为DSW-02-2B3B或者DSW-02-2B2。由于电磁阀直接安装在溢流…

Python笔记:使用Python脚本实现SSH登录

调试IDE&#xff1a;PyCharm Python库&#xff1a;Paramiko 首先安装Paramiko包到PyCharm&#xff0c;具体步骤为&#xff1a;在打开的PyCharm工具中&#xff0c;选择顶部菜单栏中“File”下的“Settings”&#xff0c;在设置对话框中&#xff0c;选择“Project”下的“Proje…

头脑风暴法是什么?10个值得推荐的头脑风暴模板!

身处职场的你&#xff0c;想必对头脑风暴这个术语并不陌生&#xff0c;它可能是某个同事或者领导的口头禅&#xff0c;每当遇到需要给出方案的场景&#xff0c;头脑风暴或者“脑暴”就会从他们嘴里脱口而出&#xff0c;但你真的了解&#xff0c;头脑风暴是什么意思吗&#xff1…

鸿蒙原生应用元服务开发-WebGL网页图形库开发无着色器绘制2D图形

无着色器绘制2D图形 使用WebGL开发时&#xff0c;为保证界面图形显示效果&#xff0c;请使用真机运行。 此场景为未使用WebGL绘制的2D图形&#xff08;CPU绘制非GPU绘制&#xff09;。开发示例如下&#xff1a; 1.创建页面布局。index.hml示例如下&#xff1a; <div class…

day01vue学习

day01 一、为什么要学习Vue 1.前端必备技能 2.岗位多&#xff0c;绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能&#xff08;Vue2Vue3&#xff09; 二、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 **构建用户界面 ** 的 …

elementUi中表格超出一行省略,鼠标放入显示完整提示

一、想要的效果 二、代码&#xff0c;加入show-overflow-tooltip即可 <el-table-column min-width"220" prop"content" show-overflow-tooltip> </el-table-column>

#车载诊断协议DoIP系列 —— 套接字处理 在线检查

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,四海皆为家。人生的面吃一…

ABAP接口部分-Web Service提供者与消费者

ABAP接口部分-Web Service提供者与消费者 文章目录 ABAP接口部分-Web Service提供者与消费者Web Service提供者Web Service测试配置[SOA网址](https://mysap.goodsap.cn:44300/sap/bc/webdynpro/sap/appl_soap_management )测试 Web Service消费者创建Services Consumer消费者创…

光学硬件——二向色片

二向色镜&#xff08;Dichroic Mirrors &#xff09;又称双色镜&#xff0c;常用于激光技术中。 产品介绍&#xff1a; 指45度入射或大角度入射时&#xff0c;把光源分离出特定的光谱改变部分光谱光路方向&#xff0c;常用于酶标仪器、荧光显微镜系统、投影光引擎系统、激光灯…

MySQL--索引底层数据结构详解

索引是什么&#xff1f; 索引是帮助MySQL高效获取数据的排好序的数据结构&#xff0c;因此可知索引是数据结构。 概念很抽象&#xff0c;但是类比生活中的例子就很容易理解&#xff0c;比如一本厚厚的书&#xff0c;我们想取找某一小节&#xff0c;我们可以根据目录去快速找到…