這是一篇由 Jonathan Grupp 的訪客文章
Generator-M-Ionic 是一個進階工作流程的開放原始碼集合,可讓您使用 Ionic 建立跨平台 HTML5 行動應用程式。本文簡短介紹產生器的功能,並提供更多關於如何使用它資源給願意使用它的讀者。
隨著我們過渡到包含 Typescript、Angular 2 和 Ionic 2 的下一代技術堆疊,我們試圖克服 JS 疲勞 和 JS 工具疲勞,並將不同工具的開發更緊密地連結在一起。您可以透過加入討論來協助我們!
Generator-M-Ionic 的用途為何?
進階工作流程,用於建立穩健的 Ionic 應用程式:使用 Yeoman、Gulp、Bower、Angular、Cordova 以及 Ionic 來開發、原型製作、測試、建置並提供高品質的應用程式。所有功能都集中在一個熱門的產生器。
Generator-M-Ionic 的起源可追溯自兩年多前,當時我和我的團隊 (@gruppjo) 在 M-Way Solutions 決定將我們的 HTML5 行動應用程式開發堆疊轉移到 2014 年 初的 Angular 和 Ionic。從那之後,Generator-M-Ionic 已發展成為一個成熟的開發工具集合,可讓您使用 Cordova、Angular 和 Ionic 建立大型企業應用程式。
Generator-M-Ionic 建構於 Yeoman Ecosystem,並使用 Gulp、Bower 和 npm,它提供了高度有效率的工作流程,可從頭到尾建置應用程式,方法是串連複雜的技術堆疊,並針對所有重要方面提供工作流程,為專業的 Cordova、Angular 與 Ionic 跨平台 HTML5 應用程式開發取得成果。
以下是 Generator-M-Ionic 功能的簡要概觀
程式碼產生
yo m-ionic
會建立一個經過微調的專案,其中包括- 免煩惱的 Git 整合
- 妥善設定的 Cordova 專案
- 開箱即用的 範例應用程式
- 無縫的 Sass 整合
- 易於瞭解的 檔案結構
- 子產生器 可建立許多立即可用的元件,例如 Angular 控制器、範本、服務等等
開發工作流程
gulp watch
會自動連線前端堆疊,包括 Angular、Ionic 以及所有其他 bower 元件、樣式表、您自己的 Angular 與 Ionic 元件和應用程式,並監控變更gulp --livereload "run ios"
使用 瀏覽器同步建立您的裝置的應用程式,並在開發機器中觀看變更情況- … 在我們的 開發緒論中發現更多有用的工作流程
程式碼品質
- ESLint 與其他 JSONLint 一同隨所有重要開發工作一同執行
gulp karma
和gulp protractor
從開箱即用的 測試工作流程中獲利- 這些功能完美地整合在連續整合、預先提交和其他連結器中,並使用 Husky
連續整合
除了我們的 CI 準備好建構及測試工作流程,將 建構變數注入到您的建構中,以及其他 CI 功能,使用 Generator-M-Ionic 補充成功的連續整合設定。
進階工作流程
處理 CORS 和代理 問題、管理不同組的 應用程式圖示及開機畫面、因應不同的 API 終端點和其他事情與 環境,以及其他更多的新手教學都在我們的 進階工作流程區段。
生態系
製作像是後端、推播服務、使用者管理、建置基礎建設等事物可能會很困難。幸運的是,有像是 Ionic Platform 等生態系,我們自己的企業目標 Relution,您的 Generator-M-Ionic 專案會完美地整合到它當中。 閱讀更多。
如果這些還不夠
… 查看我們的 GitHub 儲存庫,取得完整的說明!
除此之外,我們最近很榮幸在 Ionic 部落格中刊登關於 Generator-M-Ionic 的完整部落格系列。對於想要了解 Generator-M-Ionic 全部價值的人而言,這是一個很適合的教學方式。
- 進階工作流程可建構堅如磐石的 Ionic 應用程式。 第 1 部分:遊戲場
- 進階工作流程可建構堅如磐石的 Ionic 應用程式。 第 2 部分:高山
- 進階工作流程可建構堅如磐石的 Ionic 應用程式。 第 3 部分:軌道
我們希望能聽到您的意見反應!
過渡
由於 Angular 2 發行候選 和 Ionic 2 公開測試版 現在幾乎每週都會發布,我們正準備以合理且明智的方式進行過渡。
Angular 1 和 Ionic 1 生態系十分龐大,而且許多公司例如我們自己,或者使用我們的產生器的組織,都會為此堆疊撰寫大量的應用程式和資產。因此,在市場的大多數都完成過渡前,Angular 1/Ionic 1 堆疊仍會持續扮演重要的角色。
因此,對我們來說,提供能發揮這些資產和應用的工具而非讓它們變得無用,這一點特別重要。無腦地衝向新堆疊,還不如順利過度。
要達到這一點,我們需要你的協助。
展開討論
如果你喜歡在我們的產生器中看到的內容,你可以協助我們釐清未來所有人都可以如何建置 Ionic 2 應用程式。有許多開放問題和針對整個 Angular 2 / Ionic 2 堆疊提出的許多意見。例如是要使用 Browserify 還是 Webpack,ES6/7 還是 Typescript,CLI 還是 Yeoman?
做出許多選擇會造成 JS 疲勞,而從工具的角度來看,這並無不同。
使用 Angular 建立者建立的 Angular 2 CLI 原型 和使用 Ionic 建立者建立的 Ionic 2 CLI。不幸的是,兩個系統或多或少都是封閉的系統,這讓建立在你自己的需求之上的工作變得極為複雜。現在,這是耗時的,要讓 Ionic、Cordova、適當的 e2e 和單元 測試工作流程、格式檢查、環境、建置變數 以及我們許多其他功能整合進這些工具中,而不進行分岔或大幅度地改變它們,這是不可能的。
我個人很迷 FountainJS 產生器提供的彈性,這是著名的 generator-gulp-angular 的下一代,由 @zckrs 和 @Swiip 建立。我希望我們可以在他們的架構上建置。仰賴 Yeoman 架構,讓我們的專案有極大的彈性和可擴充性。不幸的是,Angular 2 CLI 和 Ionic 2 CLI 沒有使用 Yeoman,而且沒有提供建置在其功能之上的簡單方式。事實上,這與我們在 Angular 1 和 Ionic 1 中遇到的問題完全相同,也是 我們最初開始建置我們的產生器 的原因。
取得聯繫
你可以透過加入討論,告訴我們你喜歡 Generator-M-Ionic、Angular 2 CLI 和 Ionic 2 CLI 的哪些功能,來提供協助,希望我們可以讓所有這些功能的開發更加緊密地結合,擺脫一些讓你做出決策的疲勞,並為我們所有人帶來更好的工具。
你可以從針對我們儲存庫中 此問題 發表評論開始,也可以更深入地探討 yeoman 儲存庫、angular-cli 儲存庫 或 ionic-cli 儲存庫 中對應的討論。
讓我們知道你的想法,並協助我們建構更好的工具,用於下一代 HTML5 行動應用程式開發!
對於其他事情,我們的 GitHub 儲存庫 和 Gitter 頻道 就是你的選擇!