‹ 指南

過去的兩個月,27 個版本

由 8 月底到 10 月底,Term 推出了 27 個版本。這篇談談我們做了甚麼、為甚麼要自己寫 GPU 終端機和 mosh 伺服器、為甚麼選擇訂閱、品質怎樣、哪些地方仍未夠好,以及接下來要做甚麼。

撰寫於

這兩個月做了甚麼

由 8 月 27 日的 26.2.3 到 10 月 26 日的 26.8.3,Term 一共推出了 27 個版本,平均兩天多一個。不是每個版本都很大,很多只修正幾個問題,但每個都在真機上驗證過才發佈。

揀幾個有代表性的:

為甚麼自己寫一個 GPU 終端機

HarmonyOS 上沒有現成的終端機元件可用。把網頁終端機放進 WebView 是最快的做法,但捲動、輸入法和中文寬度都會受制於瀏覽器,手感很難做好。所以 Term 的終端機由解析到繪製都是我們自己寫的:用 Rust 寫的終端機引擎負責理解程式的輸出,自己寫的 GPU 繪製器負責把它畫到螢幕上。

一開始我們也是用 CPU 畫螢幕。測試下來,整個畫面捲動一格要十幾毫秒,一半花在畫字上,三分之一多花在把畫好的影像搬上螢幕,離 120 Hz 差得很遠。改用 GPU 之後,這兩部分都交給了顯示晶片。現在 CPU 繪製的路徑已經整個刪掉,只剩 GPU 一條。

自己寫的另一個好處,是可以按手機上的真實用法來取捨:

為甚麼自己寫 mosh 伺服器

mosh 很適合手機:轉 Wi-Fi、轉 5G、鎖機再回來,連線都不會斷。但原版 mosh 伺服器已經多年沒有大更新,有些事它做不到:向上翻看歷史輸出、可以點按的連結、Shift+Enter 換行、編程智能體跟隨你的深淺色主題切換。

所以我們按 mosh 的協定,由零開始寫了一個伺服器,叫 termosh。它可以直接取代原版的 mosh-server,原版的測試也全部通過;配合 Term,就能用上以上這些功能,打字的反應也更快。不安裝 termosh,用原版 mosh 一樣可以連線。

為甚麼選擇訂閱

我們想把 Term 做成大家在手機上最順手的終端機,並且一直保持這個水準。這不是做完一次就可以放下的事:SSH 伺服器在變,編程智能體差不多每星期都有新版本,HarmonyOS 自己也在更新。今天好用的功能,過幾個月可能就因為別處的變化而出問題,需要有人持續跟進。

兩個月 27 個版本,背後是大量看不見的工作:每個版本都要在手機、摺疊屏、平板和電腦上逐一驗證;遇到問題,先重現,再修正,再確認沒有引出新問題;大家在 App 裏提出的意見,我們逐條看、逐條回覆。字型下載、termosh 發佈和意見回饋系統,也都靠我們自己的伺服器運作。

一次過買斷,收入集中在賣出的那一刻,之後的維護很難持續投入。訂閱讓我們的收入和 Term 是否一直好用連在一起:只有每個月都把它做得更好,大家才會繼續訂閱。這正是我們想要的方向,也是我們選擇 Term Pro 訂閱制的原因。

品質怎樣

我們用應用程式市場的當機統計來看品質。最近一段時間,無當機啟動率在 99.98% 以上,也沒有出現過凍結。每星期的走勢在品質頁面公開。

當機不是零。大部分出在介面層的程式錯誤,原生引擎的當機極少。每發現一個,我們都先在真機上重現,再修正,再驗證。很多修正也來自大家在 App 裏提出的意見。

仍未夠好的地方

接下來

很多人想連的機器,其實沒有公共 IP:家裏的電腦、公司內聯網的伺服器、藏在路由器後面的開發板。現在要連上它們,要自己設定連接埠轉發、內網穿透或者 VPN,門檻不低。

我們正在開發一項新服務,暫定名 termconnect:在電腦或伺服器上安裝好之後,不需要公共 IP,也不用改路由器設定,Term 就可以隨時連上它,不論你在家、在公司還是在外面。目標很簡單:讓每個人都能輕鬆連上自己的機器。

它仍在開發中,名稱和細節都可能調整。準備好之後,我們會第一時間在這裏和 App 裏通知大家。

有想法或建議,歡迎在 App 裏告訴我們:設定 › 帳戶 › 意見回饋。