成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Python開發鴻蒙應用--2021.01.07直播圖文

開發 后端
文章由鴻蒙社區產出,想要了解更多內容請前往:51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com/#zz

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

寫在前面:

每年的過年前夕,手中的項目一定會告急。。。而自己又缺乏三頭六臂七十二變等特技,所以只能在鴻蒙社區先消失一陣子了。今天再看社區的帖子,發現大家的進步可不一般,各種案例示例層出不窮,一片欣欣向榮的景象!在這樣的氛圍下,我又來了分享的欲望,希望自己的一點積累能為鴻蒙宇宙添磚加瓦。

直播主題回顧:

 


考慮到很多同學可能是新手,這里首先要談談交叉編譯的概念!

交叉編譯是嵌入開發中的基礎概念,名字看起來高端大氣上檔次,但其本質還是編譯,也就是把C/C++代碼編譯成可執行程序,和我們初學C/C++語言時的 Hello World! 程序編譯幾乎完全相同。

那么,你可能會問,不同之處在哪里?

不同之處僅僅是,Hello World! 在本機編譯,可執行程序在本機運行;而交叉編譯則是:程序在本機編譯,而可執行程序在設備運行(即:本機無法直接運行交叉編譯得到的二進制文件)。

對于大型嵌入式企業,開發環境一般分為兩個部分:代碼編輯環境和代碼編譯環境。產品代碼位于代碼服務器上,每個員工遠程登錄代碼服務器之后創建自己的代碼分支,之后就可以進行代碼編輯和編譯了。其中,代碼編輯是在員工的工作PC上完成;而代碼編譯則是在服務器上完成。編譯得到的二進制可執行程序,需要拷貝到工作PC上之后燒寫到設備中。


大家通過類比可以發現,其實目前的鴻蒙設備開發方式就是企業級嵌入式產品的開發方式,只不過進行了縮減而已!代碼編輯和代碼編譯在“不同的機器上”,兩臺機器通過網絡互聯,交叉編譯得到的二進制文件通過代碼編輯所在的環境燒寫到設備。

那么,這有什么問題嗎?

傳統的嵌入式開發方式對于程序老手來說,沒有任何問題,用起來游刃有余。但是,對于新手來說就可能是個噩夢了。

大家可以想想,程序出問題后如何定位?

就目前鴻蒙設備開發的情況來說,只有打印日志這一招可用。

這一招最常用,可問題也不少。。。


當然,有同學可能會說:“接個JTag斷點調試就可以解決這個問題了!”

我想說,理論上確實如此,但是目前支持鴻蒙系統的開發板(如:Hi3861開發板)幾乎不可能使用JTag進行調試!說得更簡單一點:目前還沒法用JTag對鴻蒙設備進行調試。所以,得另想辦法,而Python是一個可行的選擇。

Python語言簡單而又不失強大,用于設備應用開發是再合適不過了。并且的,Python開發者數量巨大,如果鴻蒙應用開發能夠支持Python語言,那么鴻蒙宇宙又可以增加無數閃耀的新星!

目標:除C語言之外,給開發者提供另一種選擇,可以使用Python語言開發鴻蒙設備應用程序。所以,最迫切需要的是一個Python語言解釋器,并且能夠作為應用的一部分運行于設備上。如下圖所示:

那么現在的問題就是:如何獲得需要的Python語言解釋器?


在這里有同學可能會問:為什么不直接移植MicroPython?而是對MicroPython做剪裁?

原因很簡單,我的想法是讓鴻蒙設備支持Python開發方式,而不是取代C語言開發方式,更不是取代鴻蒙!大家要明白MicroPython設計的初衷是直接運行于微控器,使用Python控制硬件,所以MicroPython本身已經具備了一些操作系統的特質,如果直接移植到設備(Hi3861開發板),那么也就意味著用MicroPython替代了鴻蒙,這顯然與期望不符!

MicroPython的語言解釋器是對Python的一個重新實現,非常適合資源受限的嵌入式設備。因此,最好的做法就是剪裁MicroPython的語言解析器,之后將鴻蒙設備的系統API接口綁定到Python語言(即:Python版同名系統API),這樣就可以達到我的目的了。


很顯然,在設備端需要開發一個應用引擎。如果需要使用Python開發設備應用程序,直接編譯這個應用引擎并運行于設備之上。

而設備應用程序由Python腳本構成,編寫好之后傳入設備中即可。

講到這里相信各位同學也明白了,設備應用的Python腳本其實根本“不知道”自己執行在鴻蒙系統上,這些腳本的執行僅僅需要Python解釋器和相應API接口。那么,請大家思考一下,如果這個引擎運行于Windows之上會發生什么?


會發生的事情顯然就是:我們可以在Windows上執行為鴻蒙設備而編寫的Python應用腳本。

于是,前面所說的調試問題就可以迎刃而解了。

在Windows上使用純Python語言模擬實現鴻蒙設備的API接口(Python版),然后使用現有的Python開發環境調試設備應用腳本(如:斷點調試),這樣就可以大大提高開發效率,避免代碼中滿篇的添加printf 打印語句。




Jython是使用Java語言對Python的一個重新實現,借助它就可以在Java中使用Python進行編碼。

而鴻蒙手機APP支持使用Java語言進行開發,所以理論上可以在手機APP中使用Python完成部分代碼的編寫!相關案例我會在后續為大家提供出來。

此次直播回放可以點擊下面鏈接觀看。

https://edu.51cto.com/course/26379.html

課件資料可在文末附件中下載。

希望大家能多多關注我的分享!

©著作權歸作者和HarmonyOS技術社區共同所有,如需轉載,請注明出處,否則將追究法律責任

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-09-28 10:02:26

鴻蒙HarmonyOS應用

2020-11-09 11:56:49

HarmonyOS

2014-12-06 12:18:14

Spark2014SparkSpark亞太峰會

2022-09-20 08:00:57

PythonDash

2012-05-29 14:01:24

微軟鮑爾默創新

2020-09-28 15:13:04

鴻蒙

2021-09-24 09:08:31

鴻蒙HarmonyOS應用

2020-11-24 11:58:19

HarmonyOS

2021-02-07 12:08:39

鴻蒙HarmonyOS應用開發

2011-05-24 10:30:31

PythonNetBeans ID

2012-12-03 13:49:01

IBMdW

2011-08-08 13:26:48

iOS開發 Twitter

2010-06-20 16:34:00

systemcenter微軟

2011-03-03 09:41:47

iPad 2

2022-08-09 16:01:24

應用開發鴻蒙

2020-12-28 16:11:07

華為

2020-12-28 17:52:15

華為應用市場

2014-06-13 11:06:36

RoboVMiOS應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲一区二区三区 | 人成久久| 欧美日韩中文在线观看 | 久草在线| 韩国精品在线 | 国产中文字幕在线 | www.色婷婷| 久久中文字幕电影 | 国产成人免费视频网站视频社区 | 黄网站免费在线观看 | 欧美电影网 | 国产精品国产精品国产专区不卡 | 精品少妇v888av | 午夜网址 | 久久久精品一区二区三区 | 91久久| 精品在线一区 | 亚洲手机视频在线 | 久久国产美女视频 | 成人在线视频看看 | 超碰在线97国产 | 亚洲欧美综合 | 色噜噜狠狠色综合中国 | ririsao久久精品一区 | 黄色毛片大全 | 神马影院一区二区三区 | 久久免费大片 | 中文字幕91 | 国产综合久久久久久鬼色 | 国产美女在线播放 | 国产乱码精品1区2区3区 | 一区二区免费看 | 欧美日韩综合视频 | 色爱区综合| 成人高清在线视频 | 亚洲精品国产成人 | 蜜桃特黄a∨片免费观看 | 久久精品网 | 成人亚洲一区 | 国产精品一二三区 | www久久久 |