最近我做了一场关于鸿蒙的直播,学员非常踊跃,提出了数百个问题,我特意挑出了30个比较典型的问题,并一一回复。
Q1. 安卓开发的APP能运行在鸿蒙系统么,鸿蒙和安卓的关系是子集还是扩展或是完全独立不同的
A1-李宁老师:Android App不能运行在鸿蒙系统上,但鸿蒙使用的是双系统策略。也就是说,除了鸿蒙,还会运行一些Android相关的framework以及Linux内核,也就是说,鸿蒙实际上是双内核,或者说双系统(鸿蒙和Android)。从 表面上看,apk是运行在鸿蒙上,其实是运行在Android上。鸿蒙系统会自动识别是apk,还是hap(鸿蒙的app包),如果是apk,就会交给Android部分执行,如果是hap,就会交给鸿蒙执行。
Q2. 我是做移动端开发的,对硬件也感兴趣,如果学习南向的开发需要什么基础?
A2-李宁老师:南向使用的主要编程语言是C,所以C语言是必须会的。南向可以做的很多,都是底层开发。如驱动,内存管理、物联网等。但最多的是物联网开发,类似arduino,用C语言通过鸿蒙控制开发板上的各个接口,输入输出数据。我的建议是先从物联网开始,然后可以尝试开发底层驱动,将鸿蒙移植到特定开发板上。然后就是更底层的了,直到直接可以完全学会开发操作系统。所以对操作系统的基本原理和实现方法能够了解更有助于学习鸿蒙。
Q3. 鸿蒙能不能安装QT的IDE?
A3-李宁老师:从理论上说是可以的,只要有源代码,就可以编译成鸿蒙的目标文件。不过估计目前不行,因为还有很多库灭有移植到鸿蒙上,鸿蒙作为开发平台目前还为时尚早。只是说,鸿蒙预留这方面的接口,但目前还做不到,目前鸿蒙的主要发力点是手机和物联网。
Q4. 支持ROS不?现在用这个可以做机器人吗?
A4-李宁老师:ROS是机器人操作系统,当然,理论上,鸿蒙也可以完成ROS完成的工作。
Q5. STM32上可以用鸿蒙操作系统吗?
A5-李宁老师:这要看有没有人做移植了。目前适配鸿蒙的开发板还很少,而且都是轻鸿蒙,因为富鸿蒙还没有开源。
Q6. 调试连接远程虚拟终端,每小时重新申请,比较尴尬,请问何时解决该问题?
A6-李宁老师:这是一个临时解决方案,因为目前鸿蒙的模拟器只有ARM处理器的,所以大多数PC是无法运行的。因为,华为临时做了一个预览器,在服务端模拟,然后客户端预览。不过年底过明年年初,基于X86的鸿蒙模拟器应该会推出,到时就可以直接在本机调试了。另外,鸿蒙最先视频的是华为智慧屏。可能在10月份就会升级为鸿蒙2.0,所以如果要测试,购买鸿蒙
Q7. Harmony开发必须使用DevEco Studio吗?可以使用其他的IDE吗?比如IDEA 或者Visual Studio Code.
A7-李宁老师:这就和问开发WinForm必须要用Visual Studio吗?你当然可以不使用Visual Studio,不过很多配置就要自己做了。Harmony也是一样,不使用DevEco Studio,需要自己配置很多东西,如果你是高手,用什么开发(包括记事本)都可以,如果是初学者,建议用DevEco Studio。
Q8. 现在有设备可以买了吗?
A8-李宁老师:目前开发板只有轻鸿蒙的,可能年底会有基于鸿蒙的运动表出来。海思、润和还有一些第三方或个人已经将鸿蒙移植到部分开发板上了,这次直播送的HiSpark 8件套就是润和做的。如果是富鸿蒙,在6个月内,可能只有华为智慧屏会支持鸿蒙2.0了。
Q9. 使用JS或者Java开发,他们会有一些开发限制吗?
A9-李宁老师:只要是鸿蒙支持的,都可以开发,没有限制。
Q10. js应用和java应用是运行在各自的运行环境下再向下调用操作系统。还是统一编译为同样的字节码在一个运行环境中调用系统呀
A10-李宁老师:Java类似于Android的运行方式,不是字节码。js应该类似于Node的方式,我看创建的工程中有node_modules目录,这是放置Node模块的目录。
Q11.鸿蒙手机会不会跟苹果一样流畅
A11-李宁老师:现在鸿蒙手机还没出来,不太清楚,不过利用方舟编译器,也许性能会比Android好。
Q12.鸿蒙的出现会不会对现有的技术(比如android、IOS、硬件系统)造成冲击?
A12-李宁老师:不会,会长期多系统共存
Q13.既然鸿蒙强调灵活部署,应该是硬件不相关的。为什么调试还是不能用×86构架?
A13-李宁老师:因为x86和arm的一些指令不同,所以需要调整
Q14.Python可以直接利用Windows的os,我用Python开发了一个网盘,鸿蒙系统可以?
A14-李宁老师:目前目可以,需要移植Python运行时。
Q15.鸿蒙app 需要购买什么设备运行
A15-李宁老师:海思、hi-spark开发板。富鸿蒙目前只有华为智慧屏支持鸿蒙2.0
Q16.设备需要多大的配置才能运行轻鸿蒙呀?
A16-李宁老师:至少128KB
Q17.老师,你鸿蒙的课什么时候开
A17-李宁老师:已经开了,请关注我的B站:https://space.bilibili.com/477001733
Q18.老师以后推出的课程,看之前我必须先掌握哪些基础知识点?
A18-李宁老师:Java或JavaScript
Q19.北向是什么意思。
A19-李宁老师:下面的图是鸿蒙的架构,从上到下分别是应用层、框架层、服务层和内核层。越往上越偏应用,越往下越偏底层。按着上北下南的说法,偏应用的就称为北向,偏底层的就称为南向。
Q20.在中美关系变得越来越不好的今天,鸿蒙在国内的发展会不会比android或IOS更好?
A20-李宁老师:有这种可能,这就要看大家的努力了。
Q21.鸿蒙现在都有什么培训?
A21-现在暂时还不多,不过会越来阅读的,请关注我的B站,有很多免费的鸿蒙视频课程(北向和南向):https://space.bilibili.com/477001733
Q22. 鸿蒙系统对于5G模组的驱动开发,啥时候可以开源呀?
A22-李宁老师:名你那应该会
Q23. 老师, 现在开源的鸿蒙是轻鸿蒙, 主要是iot方向的, 就拿只能手表来说, 他这个app开发好后部署和适配的问题是如何解决的呢? 是像安卓那样还是像鸿蒙一样, 有或是有着自己的一套标准呢?
A23-李宁老师:轻鸿蒙使用了类似Web的布局方案,据说要开发类似Flutter的布局方案,还没有得到准确的消息。
Q23. 谷歌是否有手段在鸿蒙系统上限制安卓app的运行
A23-李宁老师:没有
Q24.鸿蒙与fuchsia对比怎么样?
A24-李宁老师:都是微内核,但fuchsia目前没什么消息,雷声大,雨点小,可能是内部掣肘太多
Q25.要是这些编程语言美国也制裁限制了咋办?
A25-李宁老师:那就自己开发一个
Q26.我很喜欢华为!很想出一分力,作为一名软件工程师,我能够为鸿蒙生态的壮大做些什么?
A26-李宁老师:尽量参与鸿蒙生态的建设,如为鸿蒙开发App。
Q27. 两个watch有啥关系和区别
A27-李宁老师:智能手表与手机一样,运行富鸿蒙,支持用java和js开发,运动表运行的是轻鸿蒙,只能使用js开发
Q28.js 开发方式, HML + CSS 如何编译成显示界面, 这个界面如何与 js代码交互?
A28-李宁老师:与Vue的实现方式类似
Q29. 鸿蒙系统可以用于本科生的毕业论文选题吗?
A29-李宁老师:可以,祝你答辩成功
Q30. 老师你好,可以像Android Studio那样有图形界面的XML编辑界面吗?
A30-李宁老师:暂时还没有,Android Studio的图形化开发做的比较烂,这种形式的布局不太适合用可视化方式开发,据说华为正在研发新的布局方案。