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

2023/02/17閱讀時間約 8 分鐘
註:最新 3.4 版本已推出,文中有進行部分補充。

文前碎碎念

如果,你是個專業的工程師,在外面臨時遇到需要修改或測試專案的情況,但手邊又沒有電腦跟網路,你會怎麼選擇呢?
又或是,今天你臨時需要外出一陣子,但卻又放不下自己寫到一半的程式,你會怎麼辦呢?
我學習程式也有好一段時間了,也開了不少工作或課業以外的 Side Project 來練刀,平常進行開發時,也大多是依循正常的儀式標準,找把舒適的椅子,把電腦安置在一張合宜的桌子上,沖杯咖啡,開始奮戰(哪那麼多流程)。
不過總是會有不得不離開辦公桌,或是單純被棉被怪物困住,但卻依然手癢想繼續 Coding 下去的衝動(?)。
而為了解決這樣的煩惱,今天就來推坑一套能在 IOS 系統上運作,使用起來順手,功能也算齊全的 Python 開發 APP 給大家參考囉!

2023-04-28 補充

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

正文開始

現在有請今天的主角 Pythonista 登場!
適用年齡⋯4歲以上!?
Pythonista 是一套可以在iPhone / iPad 上進行 Python 程式開發、測試的 IDE 工具,目前(2023 / 2月)採用買斷制無內購項目,售價為 NT$ 330。

相遇契機

其實 Pythonista 已經存在數年,而且我也已經使用了好一陣子了,一開始是為了尋找一款能在行動設備上也能進行開發,並且不需要網路,不需額外訂閱也能運作的工具,才輾轉入坑的。
這套軟體的出現,也讓我就算出門在外,只要抄起手機或平板,隨時都能在煩悶的活動中,躲進自己的小天地,而它也就成為我後來在程式開發上,不可或缺的好伙伴之一。
至於今天為什麼會想再拿出來與大家分享的契機,是因為他的開發者,久違的在 Twitter 上釋出下一版更新的預告,並同時提供 Beta 版本讓人參與測試開發者 Twitter
這對於一個已經兩年沒大更新的 APP 來說,無疑是個大新聞,除了期待未來版本,能再新增更多開發體驗以及效能改善外,也趁著這個機會,讓這款實用工具能被更多人知道。

功能介紹

註:為展示方便,以下使用 iPad 畫面作範例,iPhone 操作方式相似,僅介面位置稍作變動。
簡單來說,Pythonista 就是一套能讓你隨時隨地爆肝撰寫 Python 程式的編輯工具,因此進到 APP 後的畫面,也是不囉嗦的直接給你一個新增專案的選項。
選擇完要新增的檔案類型後,直接進入到編輯畫面,就可以開始編寫程式了。
寫完後,右上角有一個箭頭的標示,可以直接執行程式,或是長按選擇 Python 版本,而由於程式碼是在本機端執行,因此過程中完全不需要連線,十分方便。
如果有錯誤的話,它也會跳出通知,並詳細列出出錯的行數。
另外在撰寫過程中,編輯器也會提供快速完成選項可以使用。
檔案列表跟設定選單,是藏在左側側邊欄中,這裡可以進行新增資料夾、移動檔案,或釘選最愛捷徑等操作。
如果不喜歡預設編輯器的主題配色,在設定中也有提供不同的樣式可以替換。
另外,這套工具也針對 IOS 系統內建的功能(如鍵盤、捷徑、主畫面圖示、專屬鍵盤等)有一定程度的支援。
甚至在設定中,還可以選擇喜歡的程式檔作為 Tody Widget 使用,選好之後就可以在 Widget Page 看到執行效果。
註:這部分在之前 IOS 中可正常使用,但於最新版(16.3)暫時無法執行成功。
而雖然在剛安裝完畢的情況下,是無法直接下載額外 Python 套件,但透過這個 StaSh 外掛的幫助後,就能使用熟悉的 PIP 指令來新增。
不過要注意的是,由於 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 進行編輯的同時,我可以不用實際將專案上傳到最終部屬的伺服器上,也能實際看到執行後的結果。
又或是今晚,我想來點開發手機端 APP 的體驗(?),但好死不死自己的技能樹上,就只有點好 Python 分支,而且手邊又沒有 Mac 可以使用的話,也可以透過它所提供的相關工具寫出來(下面使用 APP 內建範例,手機專用程式這塊,我還沒太多研究)。
最後,就是如果哪天臨時在外,接到老闆或合作夥伴通知說專案有問題時,就可以及時拿出來修改測試,完成之後再搭配相關 Git 工具推送回工作群組裡,便能免掉底類後的一場腥風血雨
純屬虛構 XD

結語

隨著時間推移,現在 APP Store 上其實也陸續出現許多功能強大的 Python 編輯工具,有些甚至還是免費的,但我依然認為 Pythonista 還是有它一定的魅力存在。
註:此部分具個人觀點,僅提供參考,實際情況請依個人需求進行選擇。

依計價來看,現行有不少工具是採取訂閱,或內購制(如 Pyto)才能解鎖全部功能,或是程式本身僅提供編輯功能,並在測試原始碼時,需要先將專案上傳到伺服器,並收取運算費用。
Pyto 採用基本免費但進階功能付費制
這樣對於非頻繁使用者來說,除了會增加臨時要使用的不便及成本外,於他人伺服器執行程式的模式,也可能造成資訊外流的風險。
而依作業環境來看,我個人在電腦上習慣於使用像是 Spyder 這種純文字開發環境,介面相對較單純,因此在行動設備上,也可以像是一般純文字編輯器一樣的執行任務。
電腦版的 Spyder 編輯環境
而部分 APP 中 (如 Carnet、Juno) 所整合的,是如 Jupyter Notebook 這種視覺化操作的環境,介面大多以滑鼠操作為邏輯基礎,因此以觸控型操作的時候,常顯得有些卡手。
Carnet 中 Jupyter Notebook 環境

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

市面上功能相似,甚至超越的產品比比皆是,我寫了這篇介紹,也僅僅是希望能為各位看到這裡的朋友們一點做為參考的意見。
最重要的,還是謹慎的審視自己的需求,並選擇最對自己來說順手最有效的工具,才能事半功倍。

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

《全文。終了》
為什麼會看到廣告
25會員
170內容數
偽命名並非無名,是為了意識的生存,取得身份的代號,成為數位生命的新載具。
留言0
查看全部
發表第一個留言支持創作者!