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

使用Python開(kāi)發(fā)鴻蒙應(yīng)用--2021.01.07直播圖文

開(kāi)發(fā) 后端
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com/#zz

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

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

寫在前面:

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

直播主題回顧:

 


考慮到很多同學(xué)可能是新手,這里首先要談?wù)劷徊婢幾g的概念!

交叉編譯是嵌入開(kāi)發(fā)中的基礎(chǔ)概念,名字看起來(lái)高端大氣上檔次,但其本質(zhì)還是編譯,也就是把C/C++代碼編譯成可執(zhí)行程序,和我們初學(xué)C/C++語(yǔ)言時(shí)的 Hello World! 程序編譯幾乎完全相同。

那么,你可能會(huì)問(wèn),不同之處在哪里?

不同之處僅僅是,Hello World! 在本機(jī)編譯,可執(zhí)行程序在本機(jī)運(yùn)行;而交叉編譯則是:程序在本機(jī)編譯,而可執(zhí)行程序在設(shè)備運(yùn)行(即:本機(jī)無(wú)法直接運(yùn)行交叉編譯得到的二進(jìn)制文件)。

對(duì)于大型嵌入式企業(yè),開(kāi)發(fā)環(huán)境一般分為兩個(gè)部分:代碼編輯環(huán)境和代碼編譯環(huán)境。產(chǎn)品代碼位于代碼服務(wù)器上,每個(gè)員工遠(yuǎn)程登錄代碼服務(wù)器之后創(chuàng)建自己的代碼分支,之后就可以進(jìn)行代碼編輯和編譯了。其中,代碼編輯是在員工的工作PC上完成;而代碼編譯則是在服務(wù)器上完成。編譯得到的二進(jìn)制可執(zhí)行程序,需要拷貝到工作PC上之后燒寫到設(shè)備中。


大家通過(guò)類比可以發(fā)現(xiàn),其實(shí)目前的鴻蒙設(shè)備開(kāi)發(fā)方式就是企業(yè)級(jí)嵌入式產(chǎn)品的開(kāi)發(fā)方式,只不過(guò)進(jìn)行了縮減而已!代碼編輯和代碼編譯在“不同的機(jī)器上”,兩臺(tái)機(jī)器通過(guò)網(wǎng)絡(luò)互聯(lián),交叉編譯得到的二進(jìn)制文件通過(guò)代碼編輯所在的環(huán)境燒寫到設(shè)備。

那么,這有什么問(wèn)題嗎?

傳統(tǒng)的嵌入式開(kāi)發(fā)方式對(duì)于程序老手來(lái)說(shuō),沒(méi)有任何問(wèn)題,用起來(lái)游刃有余。但是,對(duì)于新手來(lái)說(shuō)就可能是個(gè)噩夢(mèng)了。

大家可以想想,程序出問(wèn)題后如何定位?

就目前鴻蒙設(shè)備開(kāi)發(fā)的情況來(lái)說(shuō),只有打印日志這一招可用。

這一招最常用,可問(wèn)題也不少。。。


當(dāng)然,有同學(xué)可能會(huì)說(shuō):“接個(gè)JTag斷點(diǎn)調(diào)試就可以解決這個(gè)問(wèn)題了!”

我想說(shuō),理論上確實(shí)如此,但是目前支持鴻蒙系統(tǒng)的開(kāi)發(fā)板(如:Hi3861開(kāi)發(fā)板)幾乎不可能使用JTag進(jìn)行調(diào)試!說(shuō)得更簡(jiǎn)單一點(diǎn):目前還沒(méi)法用JTag對(duì)鴻蒙設(shè)備進(jìn)行調(diào)試。所以,得另想辦法,而Python是一個(gè)可行的選擇。

Python語(yǔ)言簡(jiǎn)單而又不失強(qiáng)大,用于設(shè)備應(yīng)用開(kāi)發(fā)是再合適不過(guò)了。并且的,Python開(kāi)發(fā)者數(shù)量巨大,如果鴻蒙應(yīng)用開(kāi)發(fā)能夠支持Python語(yǔ)言,那么鴻蒙宇宙又可以增加無(wú)數(shù)閃耀的新星!

目標(biāo):除C語(yǔ)言之外,給開(kāi)發(fā)者提供另一種選擇,可以使用Python語(yǔ)言開(kāi)發(fā)鴻蒙設(shè)備應(yīng)用程序。所以,最迫切需要的是一個(gè)Python語(yǔ)言解釋器,并且能夠作為應(yīng)用的一部分運(yùn)行于設(shè)備上。如下圖所示:

那么現(xiàn)在的問(wèn)題就是:如何獲得需要的Python語(yǔ)言解釋器?


在這里有同學(xué)可能會(huì)問(wèn):為什么不直接移植MicroPython?而是對(duì)MicroPython做剪裁?

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

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


很顯然,在設(shè)備端需要開(kāi)發(fā)一個(gè)應(yīng)用引擎。如果需要使用Python開(kāi)發(fā)設(shè)備應(yīng)用程序,直接編譯這個(gè)應(yīng)用引擎并運(yùn)行于設(shè)備之上。

而設(shè)備應(yīng)用程序由Python腳本構(gòu)成,編寫好之后傳入設(shè)備中即可。

講到這里相信各位同學(xué)也明白了,設(shè)備應(yīng)用的Python腳本其實(shí)根本“不知道”自己執(zhí)行在鴻蒙系統(tǒng)上,這些腳本的執(zhí)行僅僅需要Python解釋器和相應(yīng)API接口。那么,請(qǐng)大家思考一下,如果這個(gè)引擎運(yùn)行于Windows之上會(huì)發(fā)生什么?


會(huì)發(fā)生的事情顯然就是:我們可以在Windows上執(zhí)行為鴻蒙設(shè)備而編寫的Python應(yīng)用腳本。

于是,前面所說(shuō)的調(diào)試問(wèn)題就可以迎刃而解了。

在Windows上使用純Python語(yǔ)言模擬實(shí)現(xiàn)鴻蒙設(shè)備的API接口(Python版),然后使用現(xiàn)有的Python開(kāi)發(fā)環(huán)境調(diào)試設(shè)備應(yīng)用腳本(如:斷點(diǎn)調(diào)試),這樣就可以大大提高開(kāi)發(fā)效率,避免代碼中滿篇的添加printf 打印語(yǔ)句。




Jython是使用Java語(yǔ)言對(duì)Python的一個(gè)重新實(shí)現(xiàn),借助它就可以在Java中使用Python進(jìn)行編碼。

而鴻蒙手機(jī)APP支持使用Java語(yǔ)言進(jìn)行開(kāi)發(fā),所以理論上可以在手機(jī)APP中使用Python完成部分代碼的編寫!相關(guān)案例我會(huì)在后續(xù)為大家提供出來(lái)。

此次直播回放可以點(diǎn)擊下面鏈接觀看。

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

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

希望大家能多多關(guān)注我的分享!

©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

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

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2021-09-28 10:02:26

鴻蒙HarmonyOS應(yīng)用

2014-12-06 12:18:14

Spark2014SparkSpark亞太峰會(huì)

2012-05-29 14:01:24

微軟鮑爾默創(chuàng)新

2022-09-20 08:00:57

PythonDash

2020-11-09 11:56:49

HarmonyOS

2020-09-28 15:13:04

鴻蒙

2011-05-24 10:30:31

PythonNetBeans ID

2021-09-24 09:08:31

鴻蒙HarmonyOS應(yīng)用

2010-06-20 16:34:00

systemcenter微軟

2011-03-03 09:41:47

iPad 2

2012-12-03 13:49:01

IBMdW

2011-08-08 13:26:48

iOS開(kāi)發(fā) Twitter

2014-06-13 11:06:36

RoboVMiOS應(yīng)用

2020-12-28 17:52:15

華為應(yīng)用市場(chǎng)

2020-12-28 16:11:07

華為

2020-11-24 11:58:19

HarmonyOS

2015-09-23 17:51:24

魅族
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 黑人巨大精品欧美一区二区免费 | 91色在线 | 中文字幕在线精品 | 欧美极品少妇xxxxⅹ免费视频 | 国产一区二区精品在线 | 欧美精品欧美精品系列 | 国产一区二区三区在线 | 超碰在线人人干 | 国产精品揄拍一区二区 | 一级一级一级毛片 | 在线免费观看毛片 | 国产精品久久久久久久久久免费看 | 视频一区二区在线观看 | 日韩欧美一区二区三区免费观看 | 成人午夜在线视频 | 美女艹b | 日韩欧美成人一区二区三区 | 亚洲国产日本 | 国产日韩久久 | www.黄色片视频 | 亚洲一区二区久久 | 久久精品亚洲精品 | 国产成人福利在线观看 | 在线免费激情视频 | 免费av毛片| 一区二区三区免费观看 | 奇米久久久 | 夜夜艹 | 欧美精品中文字幕久久二区 | 欧美精品片 | 黄色av一区| 日本三级日产三级国产三级 | 国产黄色小视频 | 日韩欧美中文 | 国产精品夜夜春夜夜爽久久电影 | 国产探花在线观看视频 | h免费观看 | 国产福利91精品一区二区三区 | 久久国产一区二区 | 欧美日韩亚 | 免费一级片 |