[應用] 隨時都要來點摳頂 | Pythonista 行動 Python IDE 工具推坑 ( IOS )

更新於 發佈於 閱讀時間約 9 分鐘
註:最新 3.4 版本已推出,文中有進行部分補充。

文前碎碎念

如果,你是個專業的工程師,在外面臨時遇到需要修改或測試專案的情況,但手邊又沒有電腦跟網路,你會怎麼選擇呢?

又或是,今天你臨時需要外出一陣子,但卻又放不下自己寫到一半的程式,你會怎麼辦呢?

我學習程式也有好一段時間了,也開了不少工作或課業以外的 Side Project 來練刀,平常進行開發時,也大多是依循正常的儀式標準,找把舒適的椅子,把電腦安置在一張合宜的桌子上,沖杯咖啡,開始奮戰(哪那麼多流程)。

不過總是會有不得不離開辦公桌,或是單純被棉被怪物困住,但卻依然手癢想繼續 Coding 下去的衝動(?)。

而為了解決這樣的煩惱,今天就來推坑一套能在 IOS 系統上運作,使用起來順手,功能也算齊全的 Python 開發 APP 給大家參考囉!


2023-04-28 補充

最新更新已經推出囉,內部支援的 Python 版本升級到 3.10,也預設支援資料科學及檔案處理常使用的 Pandas 等套件囉!


正文開始

現在有請今天的主角 Pythonista 登場!

適用年齡⋯4歲以上!?

適用年齡⋯4歲以上!?

Pythonista 是一套可以在iPhone / iPad 上進行 Python 程式開發、測試的 IDE 工具,目前(2023 / 2月)採用買斷制無內購項目,售價為 NT$ 330。


相遇契機

其實 Pythonista 已經存在數年,而且我也已經使用了好一陣子了,一開始是為了尋找一款能在行動設備上也能進行開發,並且不需要網路,不需額外訂閱也能運作的工具,才輾轉入坑的。

這套軟體的出現,也讓我就算出門在外,只要抄起手機或平板,隨時都能在煩悶的活動中,躲進自己的小天地,而它也就成為我後來在程式開發上,不可或缺的好伙伴之一。

至於今天為什麼會想再拿出來與大家分享的契機,是因為他的開發者,久違的在 Twitter 上釋出下一版更新的預告,並同時提供 Beta 版本讓人參與測試開發者 Twitter

這對於一個已經兩年沒大更新的 APP 來說,無疑是個大新聞,除了期待未來版本,能再新增更多開發體驗以及效能改善外,也趁著這個機會,讓這款實用工具能被更多人知道。


功能介紹

註:為展示方便,以下使用 iPad 畫面作範例,iPhone 操作方式相似,僅介面位置稍作變動。

簡單來說,Pythonista 就是一套能讓你隨時隨地爆肝撰寫 Python 程式的編輯工具,因此進到 APP 後的畫面,也是不囉嗦的直接給你一個新增專案的選項。

raw-image

選擇完要新增的檔案類型後,直接進入到編輯畫面,就可以開始編寫程式了。

raw-image

寫完後,右上角有一個箭頭的標示,可以直接執行程式,或是長按選擇 Python 版本,而由於程式碼是在本機端執行,因此過程中完全不需要連線,十分方便。

raw-image

如果有錯誤的話,它也會跳出通知,並詳細列出出錯的行數。

raw-image

另外在撰寫過程中,編輯器也會提供快速完成選項可以使用。

raw-image

檔案列表跟設定選單,是藏在左側側邊欄中,這裡可以進行新增資料夾、移動檔案,或釘選最愛捷徑等操作。

raw-image

如果不喜歡預設編輯器的主題配色,在設定中也有提供不同的樣式可以替換。

raw-image

另外,這套工具也針對 IOS 系統內建的功能(如鍵盤、捷徑、主畫面圖示、專屬鍵盤等)有一定程度的支援。

raw-image

甚至在設定中,還可以選擇喜歡的程式檔作為 Tody Widget 使用,選好之後就可以在 Widget Page 看到執行效果。

註:這部分在之前 IOS 中可正常使用,但於最新版(16.3)暫時無法執行成功。
raw-image

而雖然在剛安裝完畢的情況下,是無法直接下載額外 Python 套件,但透過這個 StaSh 外掛的幫助後,就能使用熟悉的 PIP 指令來新增。

raw-image

不過要注意的是,由於 IOS 系統的限制,這裡所能安裝的套件,僅限於使用純 Python 寫成的,像是 Pandas、Numpy 這類底層使用 C 語言進行運算的常見資料處理套件,目前是無法安裝執行的

更:最新 3.4 版已預設支援 Pandas,不用另外安裝。

另外,作者在 Pythonista 中,也提供許多因應行動設備所準備的套件包,以及介面編輯器,因此如果技術足夠,也可以用它來編寫手機端專用的工具或遊戲。


補充:近期更新後,看到網路上有使用者提出上文中介紹啟用 PIP 指令的工具失效的問題,可以參考這個討論板的方案解決。


優缺點整理

這裡就直接以條列式的方式,來整理這套 APP 在使用上的主要優點:

  1. 編輯器功能完整,並具有客制化的常用鍵盤列。
  2. 程式測試時不用連線,可完全在本機端執行。
  3. 包含客制化的套件包及範例,可以開發行動設備專用的程式(動畫、觸控、Widget、捷徑 等)。
  4. 透過外掛工具,可開啟額外套件安裝功能(即使用 pip 指令)。
  5. 除 .py 之外,亦支援 html、md、txt 等文字格式檔案編寫。
  6. 同一 APP 可通用於 iPhone(IOS) 以及 iPad(iPadOS)。
  7. 買斷制,一次付費後便沒有功能限制,或隱藏收費。


雖然以優點來看的話,他確實是一款好用且完整的 Python 開發工具,不過相對地,在好的東西,也都還是會有它的缺點存在:

  1. 無法支援核心為 C 語言所開發的套件(此為 IOS 系統限制)。
  2. 目前無法執行 Pandas、Numpy 等常見資料處理套件(理由同第一點,但作者預告下版更新會整合支援)。
  3. 目前版本無法直接用檔案 APP 管理匯入的專案(資料夾未顯示於檔案 APP 中)。
  4. 沒有版本管理,須自行做好處置。
  5. 內建手機專用程式套件的說明文件相對較少,需自行摸索。
  6. 作者應為獨立開發專案,因此更新速度相對較慢。
  7. 尚未支援最新系統部分功能(如桌面小工具等)。

使用情境

Pythonista 這款工具,是一套幾乎完整的 Python 工作環境,從檔案管理、文件編輯,一直到測試執行都能一手包辦。

我是一個喜歡在外出時,也能隨時完成自己作品的人,因此對我來說,一套能夠行動開發的工具是十分重要的

而在我之前的使用情景中,我曾在這套工具上開發過聊天機器人程式,而在我使用 iPad 進行編輯的同時,我可以不用實際將專案上傳到最終部屬的伺服器上,也能實際看到執行後的結果。

raw-image

又或是今晚,我想來點開發手機端 APP 的體驗(?),但好死不死自己的技能樹上,就只有點好 Python 分支,而且手邊又沒有 Mac 可以使用的話,也可以透過它所提供的相關工具寫出來(下面使用 APP 內建範例,手機專用程式這塊,我還沒太多研究)。

raw-image

最後,就是如果哪天臨時在外,接到老闆或合作夥伴通知說專案有問題時,就可以及時拿出來修改測試,完成之後再搭配相關 Git 工具推送回工作群組裡,便能免掉底類後的一場腥風血雨

純屬虛構 XD

純屬虛構 XD


結語

隨著時間推移,現在 APP Store 上其實也陸續出現許多功能強大的 Python 編輯工具,有些甚至還是免費的,但我依然認為 Pythonista 還是有它一定的魅力存在。

註:此部分具個人觀點,僅提供參考,實際情況請依個人需求進行選擇。

依計價來看,現行有不少工具是採取訂閱,或內購制(如 Pyto)才能解鎖全部功能,或是程式本身僅提供編輯功能,並在測試原始碼時,需要先將專案上傳到伺服器,並收取運算費用。

Pyto 採用基本免費但進階功能付費制

Pyto 採用基本免費但進階功能付費制

這樣對於非頻繁使用者來說,除了會增加臨時要使用的不便及成本外,於他人伺服器執行程式的模式,也可能造成資訊外流的風險。

而依作業環境來看,我個人在電腦上習慣於使用像是 Spyder 這種純文字開發環境,介面相對較單純,因此在行動設備上,也可以像是一般純文字編輯器一樣的執行任務。

電腦版的 Spyder 編輯環境

電腦版的 Spyder 編輯環境

而部分 APP 中 (如 Carnet、Juno) 所整合的,是如 Jupyter Notebook 這種視覺化操作的環境,介面大多以滑鼠操作為邏輯基礎,因此以觸控型操作的時候,常顯得有些卡手。

Carnet 中 Jupyter Notebook 環境

Carnet 中 Jupyter Notebook 環境


不過總歸來說,雖然我個人十分推崇這套軟體,但到頭來,它畢竟也就只是一個開發工具而已。


市面上功能相似,甚至超越的產品比比皆是,我寫了這篇介紹,也僅僅是希望能為各位看到這裡的朋友們一點做為參考的意見。

最重要的,還是謹慎的審視自己的需求,並選擇最對自己來說順手最有效的工具,才能事半功倍。


好啦,今天分享就到這裡,希望大家在開發的路上,都能有所成就!


《全文。終了》





留言
avatar-img
留言分享你的想法!
Thomas Tang-avatar-img
2023/02/17
摳頂魔人4你
Mercteria-avatar-img
發文者
2023/02/17
94我啦XD(X
avatar-img
偽命名培養體
47會員
313內容數
偽命名並非無名,是為了意識的生存,取得身份的代號,成為數位生命的新載具。
偽命名培養體的其他內容
2024/11/04
經過一個禮拜多漫長的等待,我的帳號終於可以開通使用 iOS 的 image AI 功能了,完成模型下載後的第一件事,當然就是來驗證之前看了官方預告後,自己「想像中」的快速產出流程啦!
Thumbnail
2024/11/04
經過一個禮拜多漫長的等待,我的帳號終於可以開通使用 iOS 的 image AI 功能了,完成模型下載後的第一件事,當然就是來驗證之前看了官方預告後,自己「想像中」的快速產出流程啦!
Thumbnail
2024/08/05
前一陣子購入新的 Switch 體感遊戲,異想天開的把放在角落的 Mocopi 再拿出來後,才想到自己似乎已經好一段時間沒有關注這個小玩意的發展,也沒有寫相關的內容了。 而當初也是因為一直無法搞定裝置與電腦的連線,所以它才被我晾在一邊這麼久,不過經過這次把玩後,
Thumbnail
2024/08/05
前一陣子購入新的 Switch 體感遊戲,異想天開的把放在角落的 Mocopi 再拿出來後,才想到自己似乎已經好一段時間沒有關注這個小玩意的發展,也沒有寫相關的內容了。 而當初也是因為一直無法搞定裝置與電腦的連線,所以它才被我晾在一邊這麼久,不過經過這次把玩後,
Thumbnail
2024/06/11
Apple 最新的系統系列,在今天台灣時間 11 日凌晨正式亮相了,只能說這波 AI 操作真的有點厲害啊。
Thumbnail
2024/06/11
Apple 最新的系統系列,在今天台灣時間 11 日凌晨正式亮相了,只能說這波 AI 操作真的有點厲害啊。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
  最近開始真正學習Python這門語言,這邊就將我所學的筆記記錄在這邊,我起初用這們語言時覺得很雜很混亂都在胡亂使用,聽說python很多東西沒有筆記就會很雜很混亂腦容量要非常非常大,但我自知腦袋記憶體不足,所以現在有了比較完整的概念我就邊學邊筆記,有需要的也可以一起學習哦!我學習到哪就分享到哪裡
Thumbnail
  最近開始真正學習Python這門語言,這邊就將我所學的筆記記錄在這邊,我起初用這們語言時覺得很雜很混亂都在胡亂使用,聽說python很多東西沒有筆記就會很雜很混亂腦容量要非常非常大,但我自知腦袋記憶體不足,所以現在有了比較完整的概念我就邊學邊筆記,有需要的也可以一起學習哦!我學習到哪就分享到哪裡
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
前言: 今天要講用python來做使用者介面,由於姆姆平常的工作面對是工廠產線生產,所以一般來說交付程式的時候會給(sample.py)或是(sample.pyc)這類的檔案格式,其中py和pyc檔簡單說,差別在一個看的到(py)原始碼一個看不到(pyc)。 TCL: 官方下載網址: PAGE:
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
不間斷 Python 挑戰 Day 1 - 開發環境
Thumbnail
不間斷 Python 挑戰 Day 1 - 開發環境
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
Thumbnail
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News