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 // undefinedsetName(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版本便可兼容。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均: yt-1是上一时刻输出,xt是当前时刻输入,m是动量,不想让当前时刻输出只依赖于当前时刻的输入,m很大时&#xff0…

jenkins容器中安装python遇到问题

在Jenkins容器中安装配置Python时遇到问题 执行./configure --prefix/opt/python3/时遇到configure: error: no acceptable C compiler found in $PATH 这个问题就是缺少gcc编译环境。将gcc安装上即可: yum install -y gcc##前提是容器里的系统是cenos才可以&#…

详解(实现)堆的接口函数

文章目录 堆堆的顺序存储 准备工作创建头文件Heap.h创建源文件Heap.c头文件的包含定义保存堆数据的结构体 初始化销毁堆插入数据向上调整算法图解算法代码 删除堆顶向下调整算法图解代码 取出堆顶数据求堆的数据个数判断堆是否为空全部代码Heap.hHeap.c 再了解堆之前我们先要了…

Unity AI Navigation插件快速使用方法

AI Navigation插件使您能够创建能够在游戏世界中智能移动的角色。这些角色利用的是根据场景几何结构自动生成的导航网格。障碍物可以让您在运行时改变角色的导航路径。 演示使用的Unity版本为Tuanjie 1.0.0,团结引擎是Unity中国的引擎研发团队基于Unity 2022 LTS版本为中国开发…

【算法杂货铺】模拟

目录 🌈前言🌈 📁1576. 替换所有的问号​编辑 📁 495. 提莫攻击 📁 6. Z 字形变换 📁38. 外观数列 📁1419. 数青蛙 📁 总结 🌈前言🌈 欢迎观看本期【算…

SkyWalking上报Java应用数据

重要 本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。 通过SkyWalking为应用埋点并上报链路数据至可观测链路 OpenTelemetry 版后,可观测链路 OpenTelemetry 版即可开始监控应用,您可以…

本地文件包含漏洞利用

目录 前期信息收集获取网站权限获取服务器权限纵向提权 前期信息收集 拿到目标的资产,先试一下IP能不能访问 探测一下目标的端口运行的是什么服务 nmap -sC -sV xx.xx9.95.185 -Pn获取网站权限 我们可以知道目标的80端口上运行着http服务,服务器是u…

【每日力扣】40.组合总和II与701. 二叉搜索树中的插入操作

🔥 个人主页: 黑洞晓威 😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害。 40.组合总和II 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为…

【研发日记】Matlab/Simulink技能解锁(二)——在Matlab Function编辑窗口Debug

文章目录 前言 行断点 条件断点 按行步进 Watch Value 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 行断点 当Matlab Function出现异常时,如果能确定大致的代码段,就可以在相应的行上设置一…

综合知识篇00-综合知识考点汇总目录(2024年软考高级系统架构设计师冲刺知识点总结-综合知识篇-先导篇)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级…

解析编程中不可或缺的基础:深入了解结构体类型

精琢博客,希望可以给大家带来收获~ 博主主页:17_Kevin-CSDN博客 收录专栏:《C语言》 引言 在编程中,结构体是一种自定义的数据类型,它允许开发人员将不同类型的数据组合在一起,并为其定义相关属性和行为。…

(四)Android布局类型(线性布局LinearLayout)

线性布局(LinearLayout):按照一定的方向排列组件,方向主要分为水平方向和垂直方向。方向的设置通过属性android:orientation设置 android:orientation 其取值有两种 水平方向:android:orientation"horizontal&…

RPC通信原理(一)

RPC通信原理 RPC的概念 如果现在我有一个电商项目,用户要查询订单,自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起,打包成一个war包,然后再tomcat上运行,tomcat占有一个进程&am…

【NestJS 编程艺术】3. 探索NestJS的高效开发:nest-cli的全面指南

在现代的 Node.js 服务端开发中,NestJS 以其优雅的架构和强大的功能集成为了开发者的首选框架之一。而这一切的起点,都始于nestjs/cli这个强大的命令行工具。本文将深入探讨nest-cli的核心功能,帮助开发者高效地创建、构建和管理 NestJS 项目…

UDP通讯测试

参考资料&#xff1a;UNIX网络编程 实验平台&#xff1a;PC为client&#xff0c;RaspberryPi为server 基本类型和接口函数&#xff0c;参考man手册 #include <sys/socket.h>struct sockaddr {sa_family_t sa_family; /* Address family */char sa_…

【三】【单片机】有关数码管的实验

静态数码管 段选 首先看74HC138译码器&#xff0c;我们通过控制P22,P23,P24来控制选择LED1,LED2,LED3...... P24,P23,P22三个不同的二进制数&#xff0c;组成一个十进制数。P24对应二进制的最高位&#xff0c;P23对应二进制的中间位&#xff0c;P22对应二进制的最低位。利用P…

CSS 超出部分显示省略号,一个合格的初级前端工程师需要掌握的模块笔记

单行超出显示省略号 多行超出显示省略号 单行超出显示省略号 直接看代码&#xff1a; desktop demo 你问我为何时常沉默&#xff0c;有的人无话可说&#xff0c;有的话无人可说.你问我为何时常沉默&#xff0c;有的人无话可说&#xff0c;有的话无人可说. 效果图&#xff…

除了「au revoir」,「再见」还能怎么说?柯桥成人学外语来银泰附近

1. Je dois y alle#15857575376r I have to go there Y there&#xff0c;意思是“我要走了”。 例如&#xff0c;”Moi, je dois y aller.” 对不起&#xff0c;我该走了。 如果你和同伴都要离开&#xff0c;那就可以说"On y va"&#xff0c;它相当于英语里…

体系班第十六节(图论)

邻接矩阵法 1图的数据结构抽象 #include<vector> #include<unordered_map> #include<unordered_set> using namespace std; //点结构的描述&#xff0c;由值入度出度后继节点和边构成 class node { public:int value;int in;int out;vector<node*> n…

详解VXLAN

海翎光电的小编今天为大家介绍了什么是VXLAN&#xff0c;以及VXLAN的基本概念和工作原理。 什么是VXLAN VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟扩展局域网&#xff09;&#xff0c;是由IETF定义的NVO3&#xff08;Network Virtualization ov…