鸿蒙应用开发为什么放弃支持Java语言?背后原来有这样不为人知的故事……

职场   科技   2024-04-13 21:49   广东  

本号已有原创文章300+篇,以软件工程为纲,DevOps为基,洞察研发效能全貌。涵盖从需求管理、应用/游戏开发、构建、测试、发布部署到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容。点击关注。


鸿蒙操作系统,作为华为自主研发的全新系统,从其诞生之初就备受瞩目。尤其是方舟编译器这个核心组件,可谓是鸿蒙系统背后的“大脑”。说到方舟编译器,很多人都知道,但最近却没有什么动静,这是因为背后有一些不为人知的故事发生。


这得从它的前身说起。方舟编译器最初并不是为了鸿蒙而生,而是为了物联网(LOT)领域而诞生的。那时候,它的研究重心放在了JavaScript上,作为一种轻量级、高效的编程语言,JavaScript在物联网设备上有着得天独厚的优势


不过,随着华为遭遇国际制裁,手机业务面临前所未有的困境,鸿蒙系统应运而生,它当时的目标是能在脱离Android运行时的情况下,依旧能够运行Android应用,以实现华为手机业务的可持续性。为了实现这一目标,华为对方舟编译器调整重心,开始研究如何将Java转义为方舟字节码。这样一来,鸿蒙系统就能在不依赖Android运行时的情况下,运行原本为Android开发的应用。


记得华为当时还公布过一组数据,说使用方舟编译器给Android应用带来了很大的性能提升。事实上,华为也的确做到了这一点,当时华为的手机系统组件,很多已经改为使用方舟编译器进行编译,效率有了很大提升。


在开源鸿蒙的最初版本中,华为也支持开发者同时使用JavaScript和Java两种语言来开发鸿蒙应用。这看似是一种稳妥的做法,既照顾到了习惯了Android开发(使用Java)的开发者,又能让JavaScript开发者开发原生鸿蒙应用。然而,随着时间的推移,开源鸿蒙的新版本原生应用开发逐渐去掉了对Java语言的支持。这一变化无疑传递出一个强烈的信号:华为决心要做自己的独立生态,而不是靠兼容Android应用来维系。


这种决心的背后,是对独立生态的深刻认识。兼容Android应用虽然能短期内吸引更多用户,但从长远来看,这种做法只会让鸿蒙系统永远摆脱不了对Android的依赖,无法实现真正的独立和自主。这无异于是饮鸩止渴。华为显然不愿走这条路,他们要做的,是一个真正属于自己的、独立的生态系统。


于是,我们看到了如今的鸿蒙系统all in JavaScript。这一决策意味着华为已经决定完全在JavaScript生态基础上来建立华为应用生态,实现应用的全场景覆盖。不得不说,这是一个非常明智的选择。JavaScript作为一种广泛应用于网页开发的编程语言,其丰富的生态和活跃的社区为鸿蒙系统提供了无限可能。而且,JavaScript的轻量级和高效性也让它在物联网、移动设备等领域有着广阔的应用前景。


当然,这个决策也离不开华为对于未来技术趋势的深刻洞察。随着5G、物联网等技术的快速发展,设备间的互联互通变得越来越重要。而JavaScript作为一种通用语言,能够很好地适应这种趋势,实现跨平台、跨设备的无缝对接。这对于华为来说,无疑是一个巨大的优势。

此外,all in JavaScript还有利于华为集中精力,专注于一个技术栈的研发和优化。这样一来,不仅能提高开发效率,还能确保系统的稳定性和兼容性。对于开发者来说,这也意味着他们只需要学习一门语言,就能开发出适用于鸿蒙系统的各种应用,大大降低了学习成本。不再有选择困难。


如今,鸿蒙原生应用开发如火如荼。在JavaScript生态的助力下,我们有理由相信,鸿蒙系统将会迎来一个光明的未来。未来,它或许能够成为一个真正意义上的全平台、全场景的操作系统,为用户带来前所未有的体验。


华为在鸿蒙操作系统编程语言上的抉择展现出了其长远的眼光和坚定的决心。他们通过all in JavaScript这一策略,不仅统一了应用开发技术栈,还为实现独立生态打下了坚实的基础。在未来,我们期待着鸿蒙系统能够在JavaScript生态的基础上大放异彩,为用户和开发者带来更多惊喜和可能性。

研发效能
以DevOps为基石,洞察研发效能全貌,涵盖从需求管理到运营监控的完整流程。无论您是项目经理、产品经理、开发人员、测试人员,还是运维人员,在这里您都可以有所收获,同时深入理解其他角色的工作内容,共同助力DevOps的成功落地。
 最新文章