為什麼?🤔️#
確實,這個需求聽起來很有趣,誰會閒著沒事在手機 /iPad 上寫程式碼。但是,這很酷不是嗎?想像一下,隨時隨地拿起手機就可以寫專案,而且是真正可以推送的。
實際上,在手機上編寫程式碼有著悠久的歷史。極客們把設備壓縮到極限,先別說生產力,光是這件事情就很酷了🤩!
所以,如果你現在還有著一顆好奇和折騰的,火熱的心,接著往下看,我保證你馬上就可以在朋友面前 show 一手。
第一步,陳列清單。🧾#
我們現明確目標:
- 能真正的寫程式碼。
- 能真正的在本地運行。
- 可以提交到我的遠程倉庫。
我找遍了 App Store,留下了一些還不錯的:
1. Code App 30¥#
Code App 是一個完全開源的項目。她擁有友善地頁面和版本管理,擁有一個簡易的命令行,支持十多種語言的編寫和運行,不過大多數是建設在網絡上的。目前支持 Node.js, Python, C, C++, PHP 的本地運行。
對於前端開發者來說,她是絕對友好的,因為幾乎所有的前端框架都可以運行,其他語言的支持也很不錯,可是,她對無鍵盤用戶非常不友好,操作十分別扭,如果有錢買妙控板的話,她就是完美的開發工具。
但是!#
雖然 Code 很強大,但是這不符合我們隨時隨地折騰的心願,而且由於終端是個假的,限制也有一大堆。
2. C Code Develop 5¥#
C Code Develop 是一位國人大佬開發的,能隨時隨地編寫小玩具,還可以上傳到作者搞的小商店裡。作者寫了很多好玩的東西,比如把 SwiftUI 搬到裡面,編寫小程式;編寫小組件;搞到自己的 ip;發送 get 請求.....
而且,最重要的是,頁面真的超級好看,可以自定義背景。代碼上不僅有高亮甚至擁有自動補全!
但是!#
她不支持 git...... 不僅如此,根本沒有命令行....
ish 0¥#
ish 是一個完全開源免費的,運行在 ios 上的 Linux 仿真軟體。你可以在上面使用一個近乎完整的Alpine Linux,你可能會疑惑:“蘋果不是從來不允許虛擬機上架 App Store 嘛?”。小了,格局小了!這仿真器怎麼能叫虛擬機呢!
總之,有了這玩意,你幾乎可以在你的 iPhone 上 iPad 上愉快的嘗試 Linux,然後灰溜溜跑回圖形頁面。
關於這個軟體的介紹可就太多了,國內外都有,在上面幾乎可以運行所以編程語言,比如我試過的 c,py3,py2,lua,OCaml。可惜的是,她現在還不支持 node 和 rust,當然,我還試了 dotnet,也是無法運行(順帶提一嘴,想要在 ios/iPadOS 上運行 dotnet 最好的軟體我認為只有Continuous)。她的內核版本還是 AlpineLinux 3.14,而 rust 直到 3.18 才支持 AlpineLinux....
最重要的是,她還支持 git(畢竟就是半個 Linux 系統)。
但是!#
這玩意發展沒多久,作者還在勤奮更新,坑實在是太多了,許多東西也不完善,不過已經是 ios/iPadOS 上最好的了。
綜合評價下來,似乎只有 ish 能夠大約滿足我們的要求。而且,手機上的終端實在是太酷了!
現在,開始折騰!
Begin!🤩#
首先,下載好ish 然後打開她!
你會發現真的和終端一樣,而你找不到設置。
其實,設置就在右下角,下面這張圖給出了基本的操作。圈起來的就是設置。
好啦!個性化之後就是真正的編程啦!
開始前的調教!🎼#
我們需要先調教一下包管理器。
包管理器在這裡的指令是apk
。
因為一些眾所周知的原因,我們需要更換一下源才能正常的下載包。在終端裡輸入:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && apk update
等待命令跑完,就可以愉快的 install 啦!
你也可以在/etc/apk/repositories
裡自定義源。記得編輯完之後運行apk update
哦!
下載!配置!⬇️📦⚙️📄#
我們需要安裝一些必須的東西。
軟體原生攜帶了 gcc 和 make,但是等你真的寫了你就會發現她其實還用不了,這時候我們需要下載一個 “補丁”。
在終端輸入:
apk add build-base
如果你的軟體沒有攜帶 gcc 和 make 之類的必需品,你也可以用相同的方式下載。
apk add gcc make
或者你喜歡用 clang 也可以,隨喜好。
現在,當你編寫一段代碼再去編譯時,就不會再找不到頭文件啦!
現在,我們還需要 git,按照之前的方法直接 add 即可
apk add git
如果你想,你也可以下載例如 vim,nvim,nano,emase 之類的編輯器。按照之前一樣 add 即可!
注意⚠️#
這裡有一個小問題,在 iPhone 上,nvim 十分不正常(或者說穩定),vim 在配制後也會發癲。但 iPad 上完全沒有這個問題,我猜測可能是屏幕大小的問題。
關於 Git⬆️📊#
Git 可是開發人員或不可缺的工具,在 ish 裡有些問題讓 git 無法正常的連接 Github,不過我們仍然可以通過個人令牌進行 push 操作。
首先下載 git
apk add git
然後進行最基礎的配置,比如郵箱和用戶名,這些就不過多介紹了,不會請自行谷歌。
我們需要在 GitHub 上創建一個新項目,並且在設置裡創建一個 30 天或者更長時間的個人令牌。
在修改完項目後,進行 push 項目時,GitHub 會提示您進行登錄,這時候填密碼是無法正常登錄的,需要把你的個人令牌填進去,就可以正常的進行 push。
最後#
生命不息,折騰不止!