2014-09-05 55 views
4

對於從單一的monolith應用程序轉向基於服務的方法的人來說,擁有單個統一/複合UI有點棘手。一種方法是通過API公開服務功能,並使用前端應用程序(emberjs,rails等)來使用它們。這種方法將前端和後端(服務)分開,因此,擁有整個服務(前端和後端)的團隊的概念會丟失,前提是前端應用程序由不同團隊擁有,因爲它需要了解整個前端應用程序及其服務與之交互。另一種方法是Composite Frontend Pattern。似乎一旦我們有了前端設置,我們就可以爲每個服務部署前端更改,因此擁有服務的團隊的概念仍然完好無損。基於rails/ruby​​的框架中的複合UI實現

如果重點在於每個服務(包括前端)的一個團隊,那麼有什麼選擇?有沒有在複合前端模式的紅寶石框架或實施例子?

任何指導,高度讚賞。

回答

0

複合前端模式在互聯網上並不是一件大事,它是某人的個人發明。

我不確定我是否正確理解該術語,您提供的鏈接只提供很少的信息。

從我所看到的,解決方案是微不足道的。你提到的EmberJS允許將前端組織成可重用的components。組件表示頁面的獨立部分,通常組件是特定的UI元素或結構塊。我想這正是你的鏈接意思是portlets

爲您的服務的每個API功能創建一個組件,然後僅向用戶顯示所需的塊。

至於編碼,不同的團隊成員可以負責不同的組件。

使用任何其他框架,不僅僅是Ember,甚至使用傳統的jQuery方法都可以實現相同的方法。這不僅僅是一個技術性的東西:只要讓你的代碼模塊化,你就會好起來的。

PS Rails是一個後端框架。

+0

謝謝安德烈。考慮到組件可以獨立開發和部署,我正在尋找你提到的EmberJs。 是的,rails主要用作後端框架,但由於團隊熟悉它,我正在考慮將它用於前端,而不是與db交談的模型將與遠程服務交談。 您是否有其他建議或者您認爲EmberJs是正確的選擇? – bikashp 2014-09-08 05:35:06

+0

需要更多關於您的項目及其需求的信息來推薦任何東西。 – 2014-09-08 07:28:27

+0

你在說,除了Ember以外的其他框架可以實現相同的方法。只是想知道那些其他框架是什麼。我想他們是這裏列出的http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ – bikashp 2014-09-08 08:32:06