前言
年前,公司团队接洽了鸿蒙方团队,确认了生态合作,于是开通了白名单权限,授权了新的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版本便可兼容。