幫你加速應用開發的五種工具
譯文【51CTO.com快譯】通常而言,構建一款應用是一項既費時又費力的過程,而且往往您需要在沒有足夠預算的情況下,將“造價昂貴”的應用盡快地投入市場,以搶占商機。那么,您會為此“砍掉”應用程序的部分功能,或四處尋找加快應用開發過程的“獨門秘籍”嗎?
讓我們通過本文來看看,您可以用來加快應用開發過程的五種不同工具。它們主要體現在兩個方面:既可以減少您構建應用的成本,又能夠加速應用的發布。
同時,下列的大多數工具也能夠幫助您加快項目的迭代。例如:Fastlane就能夠自動化原有手工部署應用的過程,因此您既可以縮短發布周期,又能夠將時間更多地轉移到修復bug和實現功能特性上。
下面讓我們開始吧!
1. Parse Server(解析服務器)
***款工具是Parse Server。它擁有一個開源的后端云,并提供諸如:數據庫、推送通知、文件存儲、以及用戶管理等增值服務。
其工作原理為:
- 在某個普通的平臺即服務(PaaS)的環境中(如:Heroku)創建一個Parse Server的實例。
- 將您的Parse Server實例連接到某個普通的數據庫即服務(DaaS)環境中,如:mLab,https://mlab.com/。
- 將您的應用與新生成的Parse Server實例相結合,并開始使用它所提供的各種工具。
- 至此,您手上就有了一套全面的、基于后端云的服務。
Parse Server是2017年初關停的parse.com的“轉世”產品。不同于以前parse.com為您提供的成品服務,Parse Server讓您能夠自行定制基于云的后端服務。
由于它是開源的,您可以在包括:AWS、Heroku、Google App Engine、Azure和Digital Ocean在內的許多基礎設施提供商上,配置自己的Parse Server實例。
Parse Server還能夠連接到諸如推送通知、和文件存儲等各種后端工具上,這對于應用開發人員是非常有用的。當然,您可能需要每一種服務對接到另一種服務提供商處,如:Amazon S3或OneSignal。因此,雖然這些工具可能很酷炫,但是您需要為了多家服務提供商,而進行相對復雜的安裝和維護。畢竟Parse Server不像其他平臺那樣“大而全”。
Parse Server的各種云相關功能特別亮眼。通過JavaScript,您可以對任務進行簡單編碼,以觸發并執行Parse Server上的某個事件,如:上傳文件或存儲數據庫對象。
比如說,您有一個電影推薦類型的應用,如IMDB,那么當某個用戶產生了一條電影評論的時候,您可以通過服務器端腳本“鉤住(hook)”該事件,并推送通知到已關注了用戶的其他會員處,通知他們此條新的評論。
通過Parse Server,應用開發人員將節省花費在構建后端服務和維護Web服務器上的時間,從而有更多的時間去專注于應用本身及其功能。它的特點還包括:可擴展、價格實惠、易于維護、可定制,并配有大量實用的內置工具。
優勢:
- 支持大量的平臺類型,包括物聯網
- 優秀的聯機文檔和代碼示例
- 活躍的開源社區
劣勢:
- 需要一個獨立運行的平臺,如Heroku
- 縮放程度取決于基礎設施
- 并非一站式工具
定價:
開源且免費,但您需要類似Heroku的基礎設施來運行Parse Server。當然,一些簡單的入門級的設置需要20美元/月。
平臺:
iOS、MacOS、tvOS、Android、JavaScript、React、.NET、Unity、PHP、Arduino和Embedded C
2. Fastlane(快速通道)
Fastlane是一款主要適用于持續集成和連續部署(CI/CD)的工具。也就是說:當您為某個應用創建新的版本時,它會自動推送或發布給最終用戶或beta版測試用戶。Fastlane能夠支持您的各種自動化工具與工作流。
比如說,您創建了一個應用,并在App Store里發布了其1.0版本。幾周后,您發現并修復了一些bug、也實現了某個新的應用功能。那么您想向beta版測試用戶發布該1.1的改進版,并且隨后要向每一位用戶全面鋪開。那么您可以進行如下操作:
- 創建一個新的版本,并發布到App Store Connect中
- 手工為每一種設備型號創建該新應用的屏幕截圖
- 更新您的應用元數據、和相關截圖等
- 使用TestFlight為測試用戶構建并推送beta版
就單獨的開發者而言,上述流程是完全可控的。但是如果您處于一個分布式的團隊之中,而且同時開發著多個應用程序的版本的話,那么情況就不一樣了。您需要將某些修復和新功能,以每一到兩周的頻率推送并發布到其2.0版本上。可見,在您的應用部署過程中,一些手動任務是相當耗時的。因此,我們需要加速該過程,并實現自動化的方法。
Fastlane也就應運而生了,下面我們來看它是如何加速應用的進程與發布的:
- 為多種設備型號和語言,自動化生成相應的程序截圖
- 自動分發應用的beta版本,包括設置編譯版本號、管理代碼簽名、上傳應用、和記錄應用的變更
- 自動化該應用的發布工作流,包括設置元數據、上傳截圖、提交應用以供審查
- 在團隊中自動化代碼簽名,包括在團隊內部的開發者之間共享各種開發私鑰和證書
實際上,Fastlane由一系列“動作”所組成,包括:上傳需要編譯的應用、和將不同的工作流程與多種操作相關聯。對于這些動作,您完全可以通過自定義腳本來實現。同時Fastlane集成了時下流行的CI/CD的工具,包括:CircleCI、Jenkins和Travis CI。
而且它是開源的,這就意味著各個開發者可以貢獻自己的工具、定義自己的動作和插件。同時,Fastlane的每一款工具都有配套的聯機文檔,包括:各種示例和***實踐,這些都是應用開發者所必備的工具。
優勢:
- 能夠節省您大量的時間
- 自動化各種繁瑣的任務
- 手動操作越少,出錯幾率越低
劣勢:
- 需要花精力進行設置
- 對于單獨的開發者和偶爾編譯的工作量,并無改善
定價:
免費且開源!
平臺:
iOS和Android
3. App Design Templates(應用設計模板)
如今,用戶更關心的是應用程序能否給他們帶來很好的用戶體驗。畢竟,我們安裝自己所熟悉的應用耗時會更少。因此,一方面是用戶不愿冒風險安裝自己不熟悉的應用;另一方面,應用開發人員則希望通過新奇、且無可挑剔的UI/UX設計得以“出位”。
一般而言,從頭開始設計一個應用,往往需要大量的時間、資金和資源。也許您的設計師并無太多在移動應用方面的經驗,或者您的預算不足以支撐精益的應用原型、而只夠設計出平實的產品平面。
實際上,我們需要用一種設計模板,來預先為您的應用準備好成品的圖形界面。您既可以選取自己喜歡的組件與風格,也可以直接復制與粘貼其整個圖形設計。
下面是我最喜歡一些設計模板:
- NOW、TETHR和InVision的DO
- Facebook的iOS 11 iPhone GUI
- Baianat的Stark UI kit
- Lina Seleznyova的Stitch
- Adrian Chiran的Phoenix
- Michael Flarup的Apply Pixels
其中的許多模板都是專門為應用類型所設計的,如:社交、生產效率和電子商務。當然,您也可以用它們來創建出自己的應用程序模型。
例如,您可以使用Facebook的iOS GUI模板來根據iOS的默認布局和組件,“一比一”地創建自己的應用。而Apply Pixels的各種模板也能幫助您設計出應用的圖標和截圖,以及達到App Store的展示效果。
值得注意的是:當您在使用某個設計模板時,請務必檢查它的許可證和使用條款。雖然它們可以被免費獲取,但是并不意味著您可以任意使用、改變或用它們去盈利。它們的版權永遠屬于模板的創造者,如有疑問,請勿擅用。
優勢:
- 節省了大量的時間和資金
- 價格上可接受,且往往質量高
- 大多數模板可被定制
劣勢:
- 需花時間定制
- 需花時間找到自己需要的
- 許可證條款不一定清晰
定價:
免費/付費
平臺:
任意
4. PaintCode
PaintCode是一款簡單高效的工具,它最善長為可視化設計的UI組件生成程序代碼。
其工作原理如下:
- 在PaintCode的可視化界面中,您先設計出UI組件,如一個按鈕
- PaintCode迅速生成其相應的Objective-C、Java、C#、JavaScript或SVG代碼
- 您將該代碼運用到自己的應用程序中,使其UI組件出現在屏幕上
過去的傳統方式是:開發人員通過手工編寫代碼,在應用中創建一個按鈕,包括其顏色、文字、邊界設置、以及按鈕顯示。隨著UI組件越來越復雜,時間開銷也越來越大。而設計人員則可以通過PaintCode創造出***的UI組件和生動的應用。同時,開發人員也不會再抱怨自己“辦不到”了。
PaintCode能夠將其“草圖”導出為一個文件,從而方便您在UI組件被更新時,直接重新載入便可。當然,您也可以使用各種參數變量和表達式,例如:將某種顏色陰影更新到一個新的配色方案之中。
另外,PaintCode也為Sketch(UI設計工具)準備了一個插件式的圖形設計工具。通過該插件,您可以直接將Sketch草圖輸出到Swift或Objective-C。所以您不必在PaintCode中重新創建草圖,直接從Sketch中導出便可!
PaintCode擁有大量的教程、優秀的聯機文檔、和及時的響應支持。
優勢:
- 節省了開發人員與設計人員之間“扯皮”的時間
- 靈活、可定制
- 支持四大主流應用平臺
劣勢:
- 需要具有設計和開發的能力
- 某些開發者不喜歡自動生成代碼的方式
- 對于面向界面生成器的工作流的支持能力有限
定價:
免費試用,1–3人團隊收取99美元/年
平臺:
iOS、MacOS、Android和Web
5. Awesome iOS and Android
準確地說,Awesome并非一個工具,而是一種資源,而且是一種值得分享的資源!
Awesome是一張資源的列表,它包括:框架、庫、課程、書籍、博客、播客、應用程序的開發工具和模板。如果您在GitHub上做一個簡單的搜索,如:https://github.com/search?q=awesome,就能發現從iOS到Swift、到Android、再到JavaScript,幾乎所有資源的列表。
下面是我最喜歡的一些:
擴展閱讀
只要站在巨人的肩膀上,您就能更快地構建出更好的、且更有益的應用程序。所以說,有了現成的工具,我們還需要重新“發明輪子”嗎?
基于后端云服務的應用構建雖然很方便,但是在某些情況下,您還是應該自行建立Web服務。因此聰明的開發人員,會知道何時去使用其工具包里的哪些工具。當然無論如何,快速且智能的開發進程總會讓您受益的!
原文標題:5 Tools to Speed Up Your App Development ,作者:Reinder de Vries
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】