2014-06-11 24 views
1

我是一個學習CS,最近我已經真正享受學習關於web開發..我爲什麼要在Ruby on Rails上使用Angular?

現在,我試圖學習AngularJS幾次,但後來我想要更多地關注後端,因爲我已經知道像html/css/js這樣的東西,這使得前端很好的一部分,所以想看看後端的感覺。

所以我開始學習Rails ..現在,由於我以前嘗試學習AngularJS我瞭解到,這完全是關於MVC,將數據從一個發送到另一個等等。我的問題是,至少乍一看,Rails似乎以非常類似的方式工作。問題是,爲什麼有人會同時使用AngularJS和Rails,至少在新手的眼裏 - Rails似乎可以處理後端和前端?就像,視圖是我們的前端,我們可以在這些.html.erb文件中使用css/js,畢竟這不會被視爲前端?

現在,我幾乎肯定有一個很好的答案,因爲谷歌搜索「爲什麼使用角與軌道」通常帶有教程的結果,向您解釋如何整合它們,我只是想要一些原因,以便我不會像現在一樣困惑..

謝謝!

+0

對不起,這真的是不正確的地方問這樣的問題。 StackOverflow旨在用於具有特定編程問題的情況。 – JamesENL

+1

嗨,歡迎來到Stack Overflow!這是一個有趣的問題(並由以下幾個人回答),但恐怕這不是我們傾向於在S​​tack Overflow上常見的問題。這並不是說它沒有趣味或有用 - 只是Stack Overflow旨在解決特定的技術問題,而不是「爲什麼我會選擇框架X」?一種開放的問題。原因是過去這些問題引發了各種各樣的火焰戰爭......所以現在我們傾向於在可能的情況下儘量避免。 –

+0

我告訴你的原因是,你的問題很可能會被投票決定很快就會結束 - 我希望你不要太過於自己。就像我說的那樣很有趣,而且你甚至可以得到一兩個答案!但它只是不適合S/O模板。我希望你堅持下去,並提出你可能有的任何其他問題:) –

回答

6

Rails是一個生成HTML,JSON和JavaScript以及管理CSS和圖像資源的服務器端框架。

AngularJS是一個客戶端框架。一般來說,沒有服務器組件,它確實不能做太多。

默認情況下,Rails沒有客戶端框架。您可以使用EmberJS,Angular或其他來讓您的客戶端界面更具響應性和靈活性。單獨的Rails不能做到這一點,它不能在你的瀏覽器中運行。

同樣,AngularJS無法在您的服務器上運行。你需要把它們組合起來。

+0

對** tadman **和** Skeptor ** **所以最終人們會使用AngularJS和Rails的唯一原因是純粹基於美學和創造更好的用戶體驗?喜歡我已經看到了類似twitter的網站的示例純粹是在Rails中構建的,如果這是可能的,我可以看到其他一些網絡應用程序的其他可能性。但現在我認爲,並不是所有關於美學的前端畢竟,我想很多web應用程序都可以使用後端+表單+按鈕構建,例如jQuery是一個負責光滑的應用程序。如果我錯了,請再校正一次,仍在學習:/ – eXtreme

+0

單獨的Rails不能除了HTML之外,你需要JavaScript來推動它,你可以只使用基本的JavaScript(煩人),使用jQuery(更好),或者使用像AnguarJS這樣的前端工具包來編寫它,如果你做了很多腳本編寫,只需HTML就可以重新加載頁面,使用JavaScript你可以做到這一點一次性交互,而AngularJS使這類事情更容易完成。 – tadman

+0

所以技術上講,所有這些都是關於更好的用戶體驗,但是有時候它會使沒有腳本的功能變得不可能或不切實際。請記住,沒有什麼說我們需要圖片或CSS,但沒有它們的網站看起來非常糟糕。今天JavaScript也是如此。 – tadman

0

MVC在前端是最近的一個發展。早些時候,我們曾經在後端開發所有東西,並且只將前端用於動畫,UI等。 慢慢地,在Ajax引入時,我們開始在前端做更多,後端更少。 現在我們完全遷移到前端。我們僅將後端用於邏輯,這應該在服務器端和數據庫管理層決定。

單行答案,我們需要rails或任何後端服務,只應用於後端應該發生的邏輯,用戶可以更改邏輯,如果它在客戶端。所以我們強迫它們發生在服務器端。當然,數據庫應該在後端。

除此之外,絕對不需要使用rails視圖和其他視圖。

相關問題