3 min read

2023 在 iPad 上寫程式的體驗

之前想說如果能在 iPad 上寫程式,應該可以提升一些生產力,有時候坐飛機或過境,中午用餐完去個咖啡廳,會想要輕便的攜帶個 iPad + 鍵盤就能處理工作上的事務,但這樣的幻想在現今的 2023 還有許多障礙,記錄一下之前研究的心得

挑戰1:沒有 Terminal 工具

基本上寫程式大概離不開 Terminal,目前找到最推薦的 APP 叫做 Blink (付費),專門為寫程式需要用到的像是鍵盤配置設定等功能

對,第一步就會發現 iPad 的 Magic keyboard 是沒有 Esc 按鍵的,衍生許多的問題,接著要面對的就是到底是真的在 iPad 上跑程式碼,還是實際連到一台伺服器寫程式?

挑戰2:VSCode For Web

微軟提供了 VSCode For Web 大大提升了在 iPad 上撰寫程式的可能性,但還有很多小問題沒有解決,而這些小問題是會讓你放棄的事情,像是

在 iPad 上按滑鼠右鍵的操作

完全無法順利的達成平常在 VSCode 編輯器上的體驗,簡單的右鍵選單會跟 iPad 上的瀏覽器右鍵互相衝突,連選取要複製的內容跟文字都有問題

挑戰3:網路環境

如果想連到一台雲端伺服器來寫程式,第一個會遇到的就是 VPN 的問題,試過了很多軟體像是 cloud flare tunnel、Tailscale,目前體驗比較好的是 Tailscale 方便安裝在 iPad、電腦、雲端伺服器上

微軟自己也出了一個 Tunnel 服務,可以輕鬆的連到自己電腦上的 VSCode 編輯器繼續工作階段

這時候會遇到的陷阱就是不管哪一套連線方式,都難以抵擋 iPad 或是手機的原始設計 — 背景運行

所以只是單純想要查個資料,換個 App 回覆訊息,很容易遇到連接到自己架設的 Code Server 斷線或需要重新連線的問題

挑戰4:Vim

想過那乾脆用用看只需要鍵盤就能寫程式的編輯器 Vim,結論只有滿滿的坑,被 VSCode 慣壞的開發者,兩者會是完全不同的體驗,而且在 iPad 上的鍵盤少了 Esc 鍵,也不會像用電腦那樣的行雲流水,最後放棄使用 Vim

挑戰5:Code Server

這裡的 Code Server 是 Remote VSCode 開發環境的統稱,分為微軟官方提供的版本以及各家平台提供的版本,像是 gitPod

架設一個 Code Server 的目的只有一個,我想要可以像在電腦本機上跑 VSCode 可以享受那些整合好的開發工具,尤其是 Extensions...

結果發現 Open Source 解決方案的 Code Server 都存在一個重大的問題,上面的 Extension Market Place 和微軟官方維護的 VSCode Market Place 是不同的東西

也就是...很有可能你平常工作會需要用到的 Extension 在你安裝的 Open source 版本的 Code Server 上無法使用


補上一些背景,我自己寫程式會需要用到 Nodejs/Docker/Jest/React Native..

結論

最後果斷放棄了這條路,還是乖乖的用筆電來寫程式吧,下一個想挑戰的是...

在 VR 頭戴顯示器 Quest 3 裡面寫程式

體驗應該不會很好,但是值得體驗一下