更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz至此,《官方指定》鸿蒙设备开发语言”依然是C语言!这似乎是一件很正常的事情。毕竟鸿蒙设备开发还是属于嵌入式开发的范畴,而C语言是嵌入式开发当之无愧的首选,所以,大家也接受了这个现实。......上周末,有幸和华为的大佬们进行了一次面对面的交流(其实是去抱大腿了)。大家一致认为,如果设备开发能够支持更简洁的开发方式(比如:简单的语言,简单的开发环境),相信会有更多的开发者加入。..那么现在,有没有一种受众广泛又好学的语言呢?当然有,相信你已经知道了,它就是Python!近年来,Python借助AI的兴起进入大众视野。流行,很多小学生都可以用她来编程。于是,一个看似疯狂的想法从我脑中冒了出来:如果能用Python来进行鸿蒙设备开发,一定会降低学习门槛,吸引更多的开发者。..所以,就去做吧。..我先研究了目前各种Python的实现(Python是开源的,可以通过源码了解实现),发现Python的公版和MicroPython都可以作为我的起点(baseline)。毕竟不需要按照Python规范写解释但是还是有难点,两种实现都有很多依赖,设计目标不同:Python的公版是一个大而全的系统(翻译、图书馆等),目标是只要资源丰富,想怎么玩就怎么玩;MicroPython是从Python的公共版本中剪切和扩展的,基本上定义为微型嵌入式设备上的操作系统。那么,如何入手,真的很难取舍!!!!我开始整理思绪,我到底要干什么?!然后得到如下架构图。显然,我要的是提供鸿蒙设备开发的其他途径,而不是用Python替代C语言!所以,我的第一个里程碑(milestone)就是得到一个可以在鸿蒙设备(Hi3861)上运行的Python解释器!有了这个Python解释器,接下来就是设计Python版的鸿蒙系统开发接口了。..确定了目标之后,接下来的问题是:到底是用公版Python还是MicroPython?对比两者的代码后发现,MicroPython在解释器部分也对Python的公版进行了裁剪。..这,为什么???我暂时没有确定的答案,但是从代码实现上可以看出,MicroPython为了适配更多低配硬件,做了一个取舍!显然,已经考虑了很多事情!我觉得鉴于目前鸿蒙设备的定位也是低端硬件,用MicroPython似乎更合适。===========华丽的分割线开始==============手术2天的改造,可以操作了(dtpython)!!使用方法如下:1、下载文末附件中的libdtpython.a,复制到\code-1.0\vendor\hisi\hi3861\hi3861\build\libs目录下,如图图:2、【可选】编写Python代码(目前不提供任何库支持),使用文末附件中的Txt2Str工具转换成C字符串,用法如下:说明:txt2Str将Python代码以C字符串的形式存储在C文件中(如test.c)将转换后的C文件添加到项目中,即可在C代码中使用Python代码(参考附件中的例子在文末)注:Python源文件直接烧录到设备中没有简单的方法,所以需要以上步骤。3、在设备开发中使用Python代码,示例如下:4、运行结果如下:===========华丽的分割线结束============后记:目前只能运行基本的Python代码,很可能还有很多问题需要解决。我希望大家尝试我的解决方案,发现更多的错误,并提出更多的问题。现阶段代码乱七八糟,实在不好意思展示出来,基本功能稳定一点,直接开源!!!更多信息请访问:与华为官方共建的鸿蒙科技社区https://harmonyos.51cto.com/#zz
