网站首页 > 技术文章 正文
鸿蒙应用开发文档中提到的Java UI框架和JS UI框架,都可以开发出能正常使用的鸿蒙APP软件,但是不知详情的初学者,到底该选择哪种编程语言和框架会更合适呢?
我觉得选Java UI和JS UI都一样,编程语言基础一定要有,最关键的是要学会面向对象编程,因为面向对象的方式会让我们开发的程序内容不再杂乱无章、具有高度可维护性和扩展性。
在这里,很多Java开发工程师肯定会问:Java已经面向对象很多年了,可是JavaScript如何实现面向对象?其实,鸿蒙OS开发文档中的JS UI框架支持的是ECMAScript规范的JavaScript语言,这种编程语言从ES5开始就已经使用面向对象的方式进行函数等功能的模块化处理,然后在ES6之后我们会从它的新特性能感觉到和Java语法确实有很大的类似性,从变量的声明、作用域等,都让JavaScript真正实现面向对象编程。
一.鸿蒙APP开发,JAVA UI框架和JS UI框架的简单对比。
如果你此时仍然不太明白上面的内容,可以看如下对比:
1.鸿蒙开发JAVA UI框架->Java编程语言->JDK(基础包和编译器)->面向对象;
2.鸿蒙开发JS UI框架->ECMAScript(ES6) + 少量Java基类->node.js->面向对象。
从上面的对比,我们可以很清晰地知道不管哪种框架方式,ES6和Java都能进行面向对象的编程,这对很多鸿蒙初学者来讲,了解并熟悉面向对象的思路已经变得非常重要。
二.不管是JAVA UI框架还是JS UI框架,我们总要作出选择,不要认为鸿蒙OS开发很难。
为了让更多初学者能够更快进入编程学习状态,我给了如下选择方式:
1.只用一种编程语言
真的要选一种编程语言去开发鸿蒙APP,我可以很明确地告诉你就选Java,因为鸿蒙应用开发的基类都是使用的Java编程语言,不管是Java UI还是JS UI(FA的基类),当然也包括PA部分(业务核心)。所谓的FA在鸿蒙开发文档中是指页面模版和相关实例,也就是我们在屏幕上看到的界面内容实现,而PA则用于业务核心和数据访问,FA和PA都需要用Java编程语言来实现。
2.便于项目长期管理
我们开发一个鸿蒙APP软件,其实就是在做一个雏形的项目。项目后期变得实用且使用的用户量较多,那么项目开发者也会瞬间变成开发商,你可能要在今后请更多的技术编程开发人员协同管理项目。
从国内很多互联网公司目前开发项目的实际情况来看,一个项目不可能长期只使用一种编程语言,混合编程语言开发将是管理项目的最终选择。就拿国内很多大型网站商城来讲,其内部开发项目方式也是分前端和后端,而鸿蒙的JS UI框架就很符合这种开发管理方式,ES6语法可以负责前端,Java则可以负责后端。
讲这么多,我在这里想表达的是:JAVA UI框架模式更适合那些喜欢独立开发的鸿蒙初学者,JS UI框架模式更适合长期干项目。
结语:
在鸿蒙应用开发的学习过程中,使用哪种框架并不是我们一直要纠结的地方。不管是JAVA UI还是JS UI,它们都能实现面向对象编程。只有充分熟悉面向对象的编程思路,我们才能更快地选择出适合自己使用的框架模式,让项目能够尽早落地并上线给更多用户使用。
猜你喜欢
- 2024-10-23 ECMAScript 6的历史和未来前景展望
- 2024-10-23 JavaScript 引擎基本原理:Shapes 和 Inline Caches
- 2024-10-23 Vue进阶(四十二):var、let、const三者的区别
- 2024-10-23 JavaScript编程基础2(javascript编程工具)
- 2024-10-23 什么是ESLint?(什么是血糖)
- 2024-10-23 前端三剑客:HTML、CSS 和 JavaScript
- 2024-10-23 JavaScript 后端开发者必须跨的 10 道门槛
- 2024-10-23 ECMAScript 2023 新特性解读,附代码示例
- 2024-10-23 带你走进JavaScript世界系列——window对象和全局作用域
- 2024-10-23 前端基础:ECMAScript 6(前端基础笔试题及答案)
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)