Generator-M-Ionic - JavaScript 疲勞轉移到 Typescript、Angular 2 & Ionic 2

這是一篇由 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 已發展成為一個成熟的開發工具集合,可讓您使用 CordovaAngularIonic 建立大型企業應用程式。

Generator-M-Ionic 建構於 Yeoman Ecosystem,並使用 GulpBowernpm,它提供了高度有效率的工作流程,可從頭到尾建置應用程式,方法是串連複雜的技術堆疊,並針對所有重要方面提供工作流程,為專業的 Cordova、Angular 與 Ionic 跨平台 HTML5 應用程式開發取得成果。

Generator-M-Ionic technology stack

以下是 Generator-M-Ionic 功能的簡要概觀

程式碼產生

開發工作流程

  • gulp watch 會自動連線前端堆疊,包括 Angular、Ionic 以及所有其他 bower 元件、樣式表、您自己的 Angular 與 Ionic 元件和應用程式,並監控變更
  • gulp --livereload "run ios" 使用 瀏覽器同步建立您的裝置的應用程式,並在開發機器中觀看變更情況
  • … 在我們的 開發緒論中發現更多有用的工作流程

程式碼品質

  • ESLint 與其他 JSONLint 一同隨所有重要開發工作一同執行
  • gulp karmagulp protractor 從開箱即用的 測試工作流程中獲利
  • 這些功能完美地整合在連續整合、預先提交和其他連結器中,並使用 Husky

連續整合

除了我們的 CI 準備好建構及測試工作流程,將 建構變數注入到您的建構中,以及其他 CI 功能,使用 Generator-M-Ionic 補充成功的連續整合設定。

進階工作流程

處理 CORS 和代理 問題、管理不同組的 應用程式圖示及開機畫面、因應不同的 API 終端點和其他事情與 環境,以及其他更多的新手教學都在我們的 進階工作流程區段

生態系

製作像是後端、推播服務、使用者管理、建置基礎建設等事物可能會很困難。幸運的是,有像是 Ionic Platform 等生態系,我們自己的企業目標 Relution,您的 Generator-M-Ionic 專案會完美地整合到它當中。 閱讀更多

如果這些還不夠

… 查看我們的 GitHub 儲存庫,取得完整的說明!

除此之外,我們最近很榮幸在 Ionic 部落格中刊登關於 Generator-M-Ionic 的完整部落格系列。對於想要了解 Generator-M-Ionic 全部價值的人而言,這是一個很適合的教學方式。

我們希望能聽到您的意見反應!

過渡

由於 Angular 2 發行候選 和 Ionic 2 公開測試版 現在幾乎每週都會發布,我們正準備以合理且明智的方式進行過渡

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 頻道 就是你的選擇!


« 查看更多貼文