HarmonyOS鸿蒙Next研究了一段时间的体会
HarmonyOS鸿蒙Next研究了一段时间的体会 去年鸿蒙1.0发布时,纯当听听而已,毕竟国产操作系统,跟国足是很像的。
今年鸿蒙2.0发布,上手体验了一把写hello world,在轻量级智能穿戴上成功跑起来
不算下载开发工具及相关SDK的时间,从打开DevEco Studio,新建项目,到成功运行,前后也就10分钟左右。
给我的感觉是:我要好好谋划,弄一个鸿蒙应用出来。
于是接下来仔细研究了鸿蒙2.0的开发方式:
1、通过Java开发。
综合感受:这种方式重新封装一遍Android的Api 论坛看到有一个帖子,有人问“无需改动现有Android代码或者只需要改动很少,是否可以接入鸿蒙”, 有版主说了句:“需要重写,但是难度不大” 很尴尬的回复,对于使用Java开发鸿蒙,如果不能做到低成本接入,那么使用Java作为鸿蒙首选,意义不大。 反正使用Android Studio开发的App,鸿蒙同样也能支持,后续必定也会继续支持。
2、通过JS开发。
这是我比较喜欢的方式,小程序,网站等都需要的js,在这个开发横流的时代,速度决定一切。 虽然我不专门做JS前端开发,不过对于这种快速上线应用的方式还算略知一二。 拿微信小程序来说,全民皆用的微信,在其中运行了众多小程序 从这个角度来看,微信其实已经早就是一个操作系统了,只是没有手机和穿戴设备而已。
3、通过C++开发。
这个还没有试,主要还是太懒,虽然懂点C++,但精力有限,不想为了开发一个App,耗费太多的学习成本。 不知能否兼容MFC?或者是拓展使用C#开发鸿蒙应用后,支持UWP?
初试鸿蒙后,有个疑问,为什么写个鸿蒙UI这么费劲,完全按照Java的方式去做吧又不行,像小程序网页一样用 华为的hml方式吧,支持的组件又太少。
为了加强对鸿蒙的理解,我想了个试水项目,做一个在智能手表上每日可以自动更新图片的应用。一是练手:熟悉基础组件和网络请求;二是熟悉消息处理:是否可以通过后台主动给智能手表推送消息。
首先遇到的问题, 轻量级智能穿戴不支持网络接口调用,不支持网络调用,不支持网络调用。
当然论坛版主也有回复这个问题,可以通过华为的WearEngine服务,让轻量级穿戴设备与手机里的App通信,通过App的网络调用传递数据。 所以关键得先有App才可以实现轻量级穿戴设备的网络调用,但是,WearEngine服务暂时还没有开放 所以,得出结论:目前轻量级智能穿戴设备,只能开发单机版应用,单机版应用,单机版应用……
眼见轻量级智能穿戴设备无果,那就转到智能穿戴设备和TV进行开发吧
赶紧确定任务——学会如何发起网络请求,这个网络应用开发的基础操作。
文档中提示需要使用fetch,然而这个模块又没有自动打包进去
有版主回复,需要手动下载fetch.js文件,拷贝至sdk中,但运行仍然失败,提示错误,大致意思是没有网络请求授权
至今,也不知道在哪里配置这个授权……还是学艺不精,我准备暂时放弃了。
暂时放弃网络请求功能,那就试试别的组件吧,先用image展示一个图片,图片放在common中,静态图片成功显示
改成带https的网络图片地址,加载不出来
改成带http的网络图片地址,还是加载不出来
难道图片域名不支持?需要像小程序一样,配置访问的安全域名?图片的格式有问题?图片的大小有问题?
对image不支持图片的网络地址的问题,发了一个帖子,询问此事,一直没有回复,有的只是一个“处理中"的大印章
至于直接给智能穿戴设备推送通知,在没有App的情况下,貌似也还不支持(没有看到相关文档)
所以至今,这个自己设计用来练手的项目,一点没有推进,朋友问,你研究鸿蒙2.0开发研究如何呢?我只能回答,还在hello world。
想说的是:
1、希望鸿蒙能出一个更好的开发文档。 特别是技术开发需要涉及到的基础,我希望在鸿蒙中开发更多好玩的应用,但无从下手。
比如: (1)智能穿戴设备、轻量级穿戴设备,TV开发的区别? (2) 使用js开发,引入的@system.*到底都有哪些? (3)各种做应用开发的基础组件如何使用,使用的示例代码。
2、希望鸿蒙发布的文档尽量不要出错。
比如:《HarmonyOS开发文档(一)》 P206页,有这样一段关于页面间跳转的描述
实际上根本就没有push的操作,更是没有对参数传递进行说明,正确的页面路由应该使用replace。错误的文档,有一种被调戏的感觉。
一点建议:
感觉如果鸿蒙使用js作为首选开发语言,做好华为前端UI的HML组件 简化DevEco Studio的项目文件配置管理,只使用css,hml,js的MVVM的方式去开发,应该会让更多开发者加入进来
Java,C++,C#等高级语言,该写后台写后台,该写接口写接口,鸿蒙专注前端的应用开发及服务框架就好。
鸿蒙没必要死磕底层操作系统,操作系统的本质也就是一个软件程序 做一个能够方便开发者开发应用,能够支撑好这些应用的华为鸿蒙程序,就足够了。 做windows系统的比尔盖茨都已经退休了,Linux也已经坐实开源操作系统,移动端Android和IOS二分天下 鸿蒙离不开Android,所以暂时也没必要去磕
在自家的硬件生态中,弄一个软件平台方便众多开发者为硬件开发应用,就是最牛的国产操作系统。
说完了,一点心得,跟大家分享下,期待鸿蒙更好。
更多关于HarmonyOS鸿蒙Next研究了一段时间的体会的实战教程也可以访问 https://www.itying.com/category-93-b0.html
其实,华为可以大气一点,直接支持HBuilder开发工具,也是国人开发的,基于JS、Vue开发App、小程序、快应用等等,没有必要非要弄一个IDE出来,毕竟人家已经是成熟的开发工具了。华为,不可能包打天下。
我说下我的理解,不一定对。
(1)智能穿戴设备、轻量级穿戴设备,TV开发的区别?
轻量级穿戴设备只能使用蓝牙通讯,或许还有你说的WearEngine,目前一般主要是运动手表,比如最新上市的华为GT2 Pro,或许以后会涉及到眼镜之类的,轻量级开发因为内存的限制,只能使用JS UI,无法使用java。
智能穿戴设备的,应该蓝牙和wifi都能用,而且除了JS UI还能使用java开发。
TV和智能穿戴设备,目前看来好像就是屏幕尺寸和形状不一样。
(2) 使用js开发,引入的@system.*到底都有哪些?
在API参考的接口中,这些都列出来了,包括文件系统、网络等等
包括你最关心的fetch,地址我也贴在这
(3)各种做应用开发的基础组件如何使用,使用的示例代码。
我写过一个简单的,但是太简陋了。
https://zhuanlan.zhihu.com/p/245309523
https://zhuanlan.zhihu.com/p/247974662
https://zhuanlan.zhihu.com/p/248956027
还有官方的示例代码即将上线
https://developer.harmonyos.com/cn/home
还有官方JS UI的代码示例库
https://gitee.com/openharmony/ace_lite_jsfwk/tree/master/examples/showcase/src/main
你下载下来自己就能运行。
最后,推荐你一个JS UI的教程,能解决很多困惑
不磕老美不依不饶呀,硬着头皮顶上去,自主能力早晚得解决
这才是我需要的,谢谢你的分享
谢谢留言,主要还是学艺不精,导致踩了很多坑。
我都看了好几遍
感谢~~~~~~~~
HarmonyOS鸿蒙Next是华为推出的新一代操作系统,旨在构建全场景智能生态。其核心特点是分布式架构,支持多设备协同,提供统一的开发框架和API。鸿蒙Next采用微内核设计,增强了系统的安全性和稳定性。开发者可以使用ArkTS语言进行应用开发,ArkTS是基于TypeScript的扩展,专为鸿蒙系统优化。鸿蒙Next还提供了丰富的开发工具和文档,支持一次开发多端部署,提升了开发效率。系统在性能优化、资源调度和用户体验方面有显著提升,适用于手机、平板、智能穿戴、智能家居等多种设备。
HarmonyOS Next是华为推出的新一代操作系统,主打全场景智能体验。其核心优势在于分布式架构,支持多设备无缝协同,提升跨终端操作效率。系统采用微内核设计,增强了安全性和稳定性。开发者生态逐步完善,提供了丰富的API和开发工具,便于应用适配和创新。总体来看,HarmonyOS Next在性能、安全性和生态建设上表现出色,具备成为主流操作系统的潜力。