今年第一個獨立 App,TKeyboard,也是第一個開源專案

愚公程式設計MrPeak發表於2017-03-20

在咖啡館耗費了數個週末之後,終於將這個靈光一閃的點子變成了一個實實在在可以執行的 app。同時意味著年初制定的第一個小目標達成,完成了 2017年的第一個獨立 app。

在app上架的同時,我決定將程式碼全部開源,除了兌現去年年底的承諾之外,我相信程式碼本身的價值,要高於 App 的功能,開源能帶來更多知識的碰撞和增長。去年開源給我帶來了不少樂趣,希望今年能有更好的成績。整個專案涉及到一些比較實用的技術點,或能惠之於人。

應用場景

這款應用名為:TKeyboard。有一個 Mac 端和一個 iOS 端 App。簡單來說,可以通過藍芽,使用 Mac 的鍵盤輸入內容到 iPhone 裝置中。

主要是為了解決 iPhone 裝置輸入不方便的問題,有 Mac 在身邊的時候會比較方便,一時腦洞的小應用。

涉及知識點

這兩個 App 解決的使用者場景比較完整,程式碼方面涉及到一些較為實用的技術點:

Mac 端開發,從 iOS 端切入 Mac 端開發其實難度比大部分人預想的都要小,主要是 UI Framework 需要做些學習,用 xib 配合 autolayout 其實很方便,就是做動畫會稍微麻煩一些。

iOS 端的話,主要是各種 Extension 的開發學習,現階段實現的是 Keyboard Extension,後期這個專案計劃實現更多的 Extension 功能,最終的目標是成為一個 Mac 端和 iOS 端的多功能同步應用。Extension 開發的重要性,我曾經專門寫文介紹過,不再贅述。

另外是藍芽通訊這一塊,iOS 端和 Mac 端共享一套程式碼。藍芽這塊網路上技術文章比較少,完整的開源專案幾乎找不到。我在結合官方 demo 和自己踩坑的基礎之上,基本實現了一套完整的藍芽通訊功能。

最後還有一個簡單的網路協議設計,用於 iOS 和 Mac 端做通訊之用,理論上使用 protobuf 更合理,但這是個人專案,處於寫程式碼的樂趣,就自己動手 DIY 了一個,感興趣的同學也可以自己設計。

全部的程式碼大約耗時數個週末。其實專案去年底就已經啟動了,中間因為各種瑣碎事情耽擱了,2017 開年戰勝拖延症,終於完成了第一版本程式碼,算是給去年底做熱血規劃的自己一個交代。

開源計劃

TKeyboard 包含 Mac 端 和 iOS 端兩個專案,涵蓋一些實用知識,決定開源也算是對 iOS 技術社群做一些微薄的貢獻。其中程式碼可以隨意免費使用,但絕不容忍換個皮膚重新上架 App Store 的低素質行為。

後續打算

TKeyboard 的最終目標是一個 Mac 與 iOS 的同步應用,這是一個龐大的工程量,不知道最後會完成為什麼樣的形態,且做且珍惜。歡迎大家提意見修改。

iPhone 版目前售價 $3,Mac 版免費。因為程式碼開源,實際和完全免費沒差別。如果覺得程式碼或者 App 本身對你有幫助,可以考慮去 App Store 下載,贊助 Peak 君一杯咖啡。

iOS 版 TKeyboard 下載地址:itunes.apple.com/cn/app/tkey…

iOS 版 TKeyboard 下載二維碼:

今年第一個獨立 App,TKeyboard,也是第一個開源專案

Mac 版 TKeyboard 下載地址:itunes.apple.com/cn/app/tkey…

Github 地址:github.com/music4kid/T…

Enjoy ;)

相關文章