最近消息出来了!纯血鸿蒙即将在六月底发布,市场关于鸿蒙应用开发很火,一些公司企业对鸿蒙开发技术人员更是开出惊人的高薪资。
如果你想要学习鸿蒙应用开发,需要从鸿蒙相关的ArkTS语言开始进入。关于鸿蒙的ArkTS语言,我们首先从头了解一下前端的ts和js吧,方便更好的理解ArkTS和ArkUI。
JavaScript:
JS语言由Mozilla创造,最初主要是为了解决页面中的逻辑交互问题,它和HTML(负责页面内容)、CSS(负责页面布局和样式)共同组成了Web页面/应用开发的基础。随着Web和浏览器的普及,以及Node.js进一步将JS扩展到了浏览器以外的环境,JS语言得到了飞速的发展。在2015年相关的标准组织ECMA发布了一个主要的版本ECMAScript 6(简称ES6),这个版本具备了较为完整的语言能力,包括类(Class)、模块(Module)、相关的语言基础API增强(Map/Set等)、箭头函数(Arrow Function)等。
typescript:
大型的应用工程一般会涉及较复杂的代码以及较多的团队协作,对语言的规范性,模块的复用性、扩展性以及相关的开发工具都提出了更高的要求。Microsoft在2014年创建了TS语言,TypeScript 是 JavaScript 的一个超集,由微软开发。它添加了静态类型选项,这些选项可以在编译时提供错误检查,增强代码的健壮性。TypeScript 旨在帮助开发大型应用程序,它支持最新的 JavaScript 特性,并允许开发者使用面向对象编程的概念。
ts和js的区别
-
静态类型系统:TypeScript 引入了静态类型,这意味着在编译时进行类型检查,而不是在运行时。这有助于在开发早期发现潜在的错误,并提供了更好的代码提示和自动完成功能。
-
模块化和面向对象编程:TypeScript 强化了 JavaScript 的模块化和面向对象编程能力,使得创建复杂的系统更加容易。
-
更好的开发工具支持:由于类型信息的存在,TypeScript 允许开发工具(如 IDE 或编辑器)提供更准确的代码导航、重构和自动完成功能。
-
增强的代码可读性和可维护性:类型注解使得代码的意图更加明确,使得其他开发者或未来的你更容易理解代码的功能和用法。
-
更好的协作:在大型团队项目中,TypeScript 的类型系统有助于确保不同开发者编写的代码能够更好地协同工作,减少了因类型错误导致的问题。
-
兼容性和可迁移性:TypeScript 设计为与 JavaScript 兼容,这意味着现有的 JavaScript 代码可以直接在 TypeScript 中使用,而 TypeScript 代码编译后也可以在任何支持 JavaScript 的环境中运行。
-
更丰富的语法特性:TypeScript 提供了一些 JavaScript 中尚不支持或尚未广泛支持的语法特性,如枚举(Enums)、装饰器(Decorators)等,这些特性可以帮助编写更清晰、更易于管理的代码。
-
社区和生态系统:TypeScript 有一个活跃的社区和不断增长的生态系统,许多流行的库和框架都提供了对 TypeScript 的支持。
-
文档和自描述性:类型注解可以作为一种形式的文档,使得代码更自描述,减少了对外部文档的依赖。
-
更好的错误检测:TypeScript 的编译器可以在开发过程中捕捉到许多错误,减少了运行时出现的问题。
ArkTS
是鸿蒙生态的应用开发语言。它在 TypeScript(简称TS)的基础上,匹配ArkUI 框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。要了解什么是ArkTS,我们首先要了解下ArkTS、TypeScript 和 JavaScript之间的关系:
-
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
-
TypeScript 是 JavaScript 的一个超集,它扩展了 JavaScript 的语法,通过在 JavaScript 的基础上加入了静态类型,加强了代码的模块化和规范性,支持面向对象编程思想,还有一些更丰富的语法,枚举,装饰器等等。
-
ArkTS 兼容 TypeScript 语言,在此之上进行升级,拓展了声明式UI、状态管理、并发任务等能力。
由此可知,TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集。
那么朋友又要问了,什么是ArkUI?
刚才说到的ArkTS其实只是一种语言,方舟UI框架就是ArkUI,它其实是鸿蒙应用开发当中提供的一种特定的开发框架。方舟UI框架又分为两种开发范式,在生声明式开发中使用的就是ArkTS语言,当然也可以直接使用命令式开发,也就是鸿蒙当中还支持迁移web前端的项目。这两种开发方式也就是范式如下:
-
声明式开发范式:采用基于TypeScript声明式UI语法扩展而来的ArkTS语言,从组件、动画和状态管理三个维度提供UI绘制能力。
-
类Web开发范式:采用经典的HML、CSS、JavaScript三段式开发方式,即使用HML标签文件搭建布局、使用CSS文件描述样式、使用JavaScript文件处理逻辑。该范式更符合于Web前端开发者的使用习惯,便于快速将已有的Web应用改造成方舟UI框架应用。
总而言之,类web开发范式是一种命令式编程,适用于直接将前端js的代码直接改造成鸿蒙版的应用,直接在鸿蒙应用中使用,也就是说web开发者可以直接使用web命令式编程编写鸿蒙应用UI。
声明式开发范式是官方主推的使用最新的arkts语言来进行鸿蒙应用的开发,更推荐使用这一种。
推荐采用声明式开发范式来构建UI,官方主要给出以下几个优点:
-
开发效率: 声明式开发范式更接近自然语义的编程方式,开发者可以直观地描述UI,无需关心如何实现UI绘制和渲染,开发高效简洁。
-
应用性能: 如下图所示,两种开发范式的UI后端引擎和语言运行时是共用的,但是相比类Web开发范式,声明式开发范式无需JS框架进行页面DOM管理,渲染更新链路更为精简,占用内存更少,应用性能更佳。
-
发展趋势:声明式开发范式后续会作为主推的开发范式持续演进,为开发者提供更丰富、更强大的能力。
本人不打广告不卖课,单纯的鸿蒙爱好者,仅仅在进行项目开发的同时进行一些个人分享和总结,欢迎喜欢的朋友点点关注或者评论区讨论技术。