<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 之父:移動設(shè)備中的 Python 應(yīng)用“又大又慢”!

          共 2967字,需瀏覽 6分鐘

           ·

          2021-05-29 07:38

          整理 | 鄭麗媛

          出品 | CSDN(ID:CSDNnews)

          近年來,隨著機(jī)器學(xué)習(xí)的興起,有一門編程語言逐漸變得火熱——Python。得益于其針對機(jī)器學(xué)習(xí)提供了大量開源框架和第三方模塊,內(nèi)置大量機(jī)器學(xué)習(xí)算法,Python 在開發(fā)者中逐漸流行起來。

          盡管如此,我們卻很難在移動設(shè)備中看見用 Python 開發(fā)的應(yīng)用程序。

          基于此,Python 之父 Guido van Rossum 和部分 Python 開發(fā)者都希望未來有天能看見用 Python 編寫的應(yīng)用能在 iOS 和 Android 設(shè)備上運(yùn)行。其中 Russell Keith-Magee 發(fā)起了BeeWare 項目,該項目旨在將 CPython 移植到 Android,即用 Python 編寫的應(yīng)用可以在 Android 上本地運(yùn)行。

          按理說,在 BeeWare 項目取得了初步成功后應(yīng)值得慶賀,但 Guido van Rossum 卻清晰地認(rèn)識到:Python 在移動設(shè)備和瀏覽器領(lǐng)域中都存在“痛點(diǎn)”。




          1、在 Android 上運(yùn)行純 Python 應(yīng)用障礙重重


          BeeWare 項目成立的目標(biāo)是讓開發(fā)者能用 Python 編寫應(yīng)用程序,而在去年 2 月,這一目標(biāo)初步實(shí)現(xiàn)了第一個里程碑:一個純 Python 應(yīng)用程序在可以在 Android 設(shè)備上運(yùn)行!

          (視頻來自 BeeWare 項目)

          彼時,Russell Keith-Magee 就指出:“這不是項目的結(jié)束——而是開始?!比缢f,BeeWare 項目的追求,絕對不僅僅是 Python 應(yīng)用可以運(yùn)行在 Android 上就滿足了。

          BeeWare 的目標(biāo)是讓開發(fā)者能用 Python 編寫的應(yīng)用程序,在包括 iOS、Android、Windows、macOS、Linux、瀏覽器和 tvOS 上都能很好地運(yùn)行。但問題在于,Python 無法像臺式機(jī)系統(tǒng)那樣應(yīng)用于移動設(shè)備。

          為了解決這個缺點(diǎn),Python 軟件基金會去年向 BeeWare 項目給予了 50000 美元的資助,以使其對 Android 的支持水平有所提高,而 CPython Android 端口必須支持運(yùn)行 4.4 或更高版本的大多數(shù)現(xiàn)代 Android 設(shè)備。  

          對此,MongoDB 工程師兼 Python 貢獻(xiàn)者 A Jesse Jiryu Davis 表示:“BeeWare 的策略是將 Python 編譯為 Java 字節(jié)碼,但如今 Android 設(shè)備足夠快,并且 Android 內(nèi)核足以運(yùn)行 CPython 本身。”

          不過 Davis 指出這項計劃的一個主要障礙就是用 Python 編寫的 Android 應(yīng)用程序的規(guī)模。因?yàn)?Python 應(yīng)用需要自己的運(yùn)行環(huán)境副本,所以這就意味著 Python 需要縮小規(guī)模以順利運(yùn)行在移動設(shè)備。對此,有些人建議可以通過創(chuàng)建一個簡化內(nèi)核版本的 Python 以解決該問題。

          另外,構(gòu)建 Python 應(yīng)用程序?qū)ζ胀ǖ?Python 開發(fā)者而言也是完全陌生的領(lǐng)域。Davis 解釋道:“沒有子進(jìn)程;套接字和信號行為都與常規(guī) Unix 有所不同;并且禁止許多 syscall?!?/span>

          除此之外,資金和人才也是一大難題。Python 軟件基金會中的 Ned Deily 認(rèn)為,相比許多其他 Python 計劃,提供移動支持需要更多的資金和人力。Davis 也表示,由于 Python 不支持移動設(shè)備,因此沒有公司為移動設(shè)備上的 Python 提供資金,也沒有人愿意依靠移動設(shè)備來為 Python 籌集資金。

          豬哥最近也在嘗試使用BeeWare,它可以一份代碼打包成:安卓、ios、windows、mac、linux應(yīng)用,做到了一份代碼多端運(yùn)行,它的原理是將Python代碼編譯為各個平臺對應(yīng)語言編碼,而且也是調(diào)用各平臺原生控件(如:按鈕、輸入框等待),雖然在各平臺兼容性好,但是目前BeeWare還不是很成熟,包括實(shí)現(xiàn)與文檔,后面豬哥可以單獨(dú)寫篇文章給大家詳細(xì)介紹BeeWare。



          2、Python 在瀏覽器和移動設(shè)備上不成功的原因


          對于 Python 在移動設(shè)備上艱難的發(fā)展,近日 Python 之父 Guido van Rossum 也給予了正面回應(yīng):“許多人都覺得,如果移動應(yīng)用程序可以用 Python 編寫,那就太好了。實(shí)際上也有一些人在為此努力實(shí)現(xiàn),但 CPython 已有 30 年的歷史了,它最初是為工作站、臺式機(jī)和服務(wù)器環(huán)境而誕生的?!?br>

          他補(bǔ)充道:“但那些設(shè)法讓 CPython 能在移動設(shè)備上運(yùn)行的人們發(fā)現(xiàn),Python 消耗了太多的資源?!?br>

          Guido van Rossum 指出,與期待中在移動操作系統(tǒng)運(yùn)行的情況相比,Python 又大又慢:運(yùn)行 Python 編寫的應(yīng)用會迅速消耗電池電量和內(nèi)存。

          不僅如此,他還承認(rèn) Python 在瀏覽器中可能也沒有前途。

          雖然 Python 在后端 Web 開發(fā)中很流行,但的確 JavaScript 在前端 Web 開發(fā)中占主導(dǎo)地位。”他表示,越來越多的 Web 開發(fā)人員都在使用微軟的 JavaScript 超集——TypeScript。

          Guido van Rossum 總結(jié)為:“Python 是一種非常流行的后端語言。在谷歌,我從事的項目都基于 Python 構(gòu)建;在 Dropbox,整個 Dropbox 服務(wù)器都是基于 Python 構(gòu)建的。但你如果看瀏覽器中運(yùn)行的是什么代碼,那必然是 JavaScript 的世界。”

          不過對此 Guido van Rossum 并不氣餒,他認(rèn)為 Python 應(yīng)該專注于有利的應(yīng)用領(lǐng)域,包括后端網(wǎng)絡(luò)和科學(xué)數(shù)據(jù)處理

          除此之外,Python 之父也對 Julia(一種可能在科學(xué)計算和機(jī)器學(xué)習(xí)領(lǐng)域跟 Python 競爭的編程語言,但沒有如 Python 那般豐富的機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)庫)發(fā)表了一些看法:Julia 是一種非常像 Python 的有趣作品。

          他認(rèn)為,Julia 在很多的細(xì)節(jié)上與 Python 非常相似,并且在其編譯器優(yōu)化代碼方面更勝 Python 一籌。但總體看來,Julia 還頗有不足,屬于一種“小眾語言”。

          參考鏈接:

          • https://www.zdnet.com/article/python-programming-why-it-hasnt-taken-off-in-the-browser-or-mobile-according-to-its-creator/

          • https://www.zdnet.com/article/programming-languages-python-apps-might-soon-be-running-on-android/

          • https://beeware.org/news/buzz/python-on-android-its-alive/


          (完)
          瀏覽 37
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷成人娱乐网 | 91国精品 | 日韩高清免费AV一区二区三区 | 成人精品喷水视频wwww | 美女擦逼网站 |