[翻譯]MEAN.IO與MEAN.JS的前世此生

寫在前面:

由於項目要求要學習mean,因此要從搭建環境開始,網上的教程不怎麼多,可是感受方法卻是很多,也沒多想,就開始安裝,運行起來發現怎麼和安裝教程中的目錄結構不一樣?
想了很久,也翻看目錄半天,總感受怪怪的,是有些包沒失敗仍是哪裏出了問題,無心中看到一我的說的mean有兩個github,以下:html

mean.io: https://github.com/linnovate/mean

mean.js: https://github.com/meanjs/mean前端

而後有一篇文章說明了二者的關係,也就是下面要翻譯的文章,其實也不是翻譯了,全當是好奇心驅使,想要搞清楚怎麼會有兩個mean...翻譯水平本身都信不過本身的,大神路太輕噴,Just for fungit

原文:Forking out of an open-source conflictangularjs


序言

兩年多以來我一直是一位自由開發者,在這段時間裏,我在工做中使用全棧的Javascript解決方案,涉及到MongoDB,Node.js和AngularJS
大約在一年前,我注意到當建立一個新的web應用時老是一個循環模式,並且我意識到我最近開發的三個web應用都是使用的相同的技術:使用MongoDB最爲數據庫,
Node.js和Express最爲後端架構,AngularJS做爲前端框架,我開始構建一個樣板來幫我應付這類工程,並且我很高興能看到別人也注意到這樣的開發模式。
通過谷歌搜索,我發現了瓦列裏·卡爾波夫的MongoDB博客文章建議使用MEAN名稱,
到目前爲止,這是我發現的最先說起mean名稱的地方了github

大概在10個月之前,我接手了一個名爲Linnovate公司的工程,這個工程是Linnovate公司從別處接手的一個糟糕的mean變種,
他們但願我能組織它們,幸運的是,我已經擁有本身的樣板,而且向他們進行展現,咱們一塊兒決定把它開源,不久以後,社區開始受到樣板,在hacker news上的第一個帖子獲得咱們的指引,
而後一些人開始在推特上關注這個項目,不久以後,出現了不少關於全棧方面的文章,MEAN開始蓄勢待發web

與此同時在Github上,我經歷個人職業生涯中最好的一段經歷。做爲工程的維護人員,我發現了開源的真正力量,社區中好多好的開發者們幫助我學到了不少新的事物:從利基陷阱到大版本變動,
從管理工程到社區禮儀,全部的這些都使我更加充滿編寫代碼的激情,我愈來愈多的參與到項目當中,比以往更加頻繁的查看郵箱,常常調整問題頁,測試提交上來的代碼,這些事情成爲我大部分的平常工做mongodb

衝突

直到去年年底以前一切進展的都很好,就是我將成爲首席維護人員,Linnovate給我更多的時間,這至關的不錯,由於公司在不犧牲核心利益的前提下可以更多的幫助社區,對我來講,我能保持獨立,
而後能很好的維護這個工程,惟一爲問題就是公司和自由開發者持有不一樣的議程,因此,在去年年末,咱們的合做走到了十字路口數據庫

幾乎在其它的專業領域這都將致使嚴重的法律糾紛,一般都將損壞雙方的利益,幸運的是在咱們開源社區,這將獲得優雅的解決,在當前項目中分離出去,因此在一個月以前,我離開MEAN.IO而且成立一個新的工程叫MEAN.JS。
我叫來個人小夥伴同事科恩(最初MEAN貢獻之一)來和我一塊兒工做express

結局

當咱們走進MEAN.JS開發時,咱們心中有一個主要的設計目標:讓MEAN.JS從不斷髮展的黑客馬拉松樣板成爲真正的生產框架,換句話說 - 咱們想要幫助你說服項目經理是時候離開PHP。自從每一個MEAN模塊已經生產就緒,
問題就是要把他們正確的結合在一塊兒,先把這些放在內心,咱們指出一些問題:後端

模塊化

爲了使MEAN.JS變得優秀,咱們須要把它分解成明確的模塊,每個模塊支持一個主要的特性。咱們還須要改編它使其支持建立合乎邏輯的模塊。
因此,咱們改變了一點工程結構去支持新的方法,一些文件被分割,一些被合併,不過總的來講咱們作了主要兩件事:

  1. 咱們改變後臺結構使其支持MVC模型
  2. 咱們重組了AngularJS部分來支持垂直模塊

咱們也增長了一些自動加載模塊特性來緩解開發過程,模塊化是至關不錯的,它也幫助咱們解決另外一個原MEAN的主要問題,傳統支持

傳統支持

一個原MEAN棧存在的問題是對之前的支持很弱,項目常常變動,沒有版本方案產生不少的版本,不少特性添加或刪除沒有正確的通告,人們在升級他們工程時會遇到問題,
而且它一般會放下一些規則,因此咱們從一些咱們喜歡的框架中借鑑一些經驗:

  1. 版本號 - 像一些其它的框架同樣使用奇偶數,一些版本號表明穩定版本
  2. 分支 - 咱們使用標籤和分支來正確標記不一樣的變動和布丁來代替之前的直接合並
  3. 模塊化 - 把工程分割成多塊使咱們有能力去提交BUG補丁更快速

咱們的願望是能支持更多的受衆,固然也包括原MEAN社區,讓咱們來處理下一個來自MEAN用戶主要的抱怨,文檔

文檔

可能這是來自社區最廣泛的需求,擁有正確的文檔是任何一個可敬項目所必須的。咱們創建了一個網站
來提供這個棧的基本文檔介紹創建樣板,裏面介紹了主要依賴和如何配置它們,MEAN.JS如何工做,
還有就是如何開始開發一個新的應用。你能夠訪問文檔頁面去發現更多的幫助,若是你還有其它問題,你能夠直接向社區求助

社區

最後一塊版塊要說下如何爲MEAN開發者提供更好的幫助,通過一些實驗性的工具,最終咱們決定使用已經公認的通訊方式,
咱們有了新的推特和一個Facebook頁來更新新聞和一些討論,創建MEAN.JS的google group來技術支持,並在#meanjs的IRC頻道實時支持。
因此,請聯繫咱們若是你還有進一步的問題

將來

關於將來的開發,咱們會集中精力在下面的四個部分:

  1. 核心 - 優化MEAN的核心,並修復Bugs
  2. 模塊 - 創建更多的模塊來擴展MEAN,使其支持不一樣web應用特性
  3. 產生器 - 咱們已經開始創建期待已久的yeoman
  4. Admin - 創建一個admin面板來管理你的MEAN應用

結語

離開原MEAN項目是我人生的最艱難的轉折點之一,不過有些時候你須要冒險去支持你所堅信的。說了這麼多,它按照咱們所想象的那樣自由地發展,
今天,咱們帶來MEAN.JS的第一個版本,邀請你們加入咱們新的征程

Amos Haviv

MEAN的做者。

* 請隨時問我問題,我將盡我最大努力來提供你紮實的事實和真實的想法~



呼呼,好累,總算知道了這兩個MEAN的區別聯繫,也算長了點知識。 以前一直糾結的項目中沒APP目錄是什麼狀況算是清楚的解決了,關於兩個MEAN的結構也有了認識。 小憩一下,新MEAN,走起~

相關文章
相關標籤/搜索