溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

移動設備上 Python 應用不成功的原因

發(fā)布時間:2021-06-16 10:32:23 來源:億速云 閱讀:370 作者:chen 欄目:編程語言

這篇文章主要介紹“移動設備上 Python 應用不成功的原因”,在日常操作中,相信很多人在移動設備上 Python 應用不成功的原因問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”移動設備上 Python 應用不成功的原因”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

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

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

按理說,在 BeeWare 項目取得了初步成功后應值得慶賀,但 Guido van Rossum 卻清晰地認識到:Python 在移動設備和瀏覽器領域中都存在“痛點”。

1、在 Android 上運行純 Python 應用障礙重重

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

不過對此 Guido van Rossum 并不氣餒,他認為 Python 應該專注于有利的應用領域,包括后端網(wǎng)絡和科學數(shù)據(jù)處理。

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

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

到此,關于“移動設備上 Python 應用不成功的原因”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI