標籤:

AngularJS 於前端開發有什麼作用,對比其它框架有何優點?

從實現網站功能的角度看,在已經掌握jsp的情況下,有必要學習 angularJS 嗎?它有哪些存在的必要?請注意,是必要,就是它比其它工具所特有的能力。


未來的發展趨勢是前端後端只靠json數據來進行通信:後端只處理和發送一段json數據到前端,然後計算和模板渲染都在前端進行。而前端的改動後,形成json數據然後傳回到後端。未來趨勢就是:後台程序再也不做模板的任何處理

AngularJS 的作用簡單說就是就是把後台的json值直接用html進行渲染,然後html的操作又直接在形成json傳回後台。

未來的後台MVC,試圖不再是模板了,而是一段結構整齊標準的JSON,而這個JSON作為前台的model直接在AngularJS直接使用。

或者說後台的試圖是前台的模型,而整個前台就是後台的視圖。後台程序再也不做模板的任何處理了。

Angular是框架的一種,不學也能開發前端。學backbone或者ember也能開發前端。沒有js的mvc,就光弄個jquery,也能開發前端。


到底要不要學?個人覺得就是要看發展趨勢。angular是否簡化的前端開發,是否符合未來前端的開發趨勢。以現在的js的發展程度來看,angular
是符合發展趨勢的,第一,解耦前端,第二,可以模塊化,第三可測試,第四天生支持json,第五依賴注入等等等,還有一些其他特性使得angular跟隨
甚至是推動了前端的開發趨勢。

所以說angular學習是有好處的:

1.了解前端的開發趨勢

2.學習MV*的設計方法

3.學習模塊化編程

4.學習如何測試模塊

5.使用angular簡化開發流程

6.隨著google的大力支持和逐漸流行,公司開始使用angular,有些崗位需要有angular的知識才能工作。


jsp 和 angularjs 根本不具有可比性。

angular是前端MVW框架,對比的是backbone, embed等。

想知道angular能幹嘛, 看看豌豆莢的這個分享:

&<開源技術構建 Web App 架構-Paracutin-豌豆莢.pdf&> http://atian25.github.io/files/%E5%BC%80%E6%BA%90%E6%8A%80%E6%9C%AF%E6%9E%84%E5%BB%BA%20Web%20App%20%E6%9E%B6%E6%9E%84-Paracutin-%E8%B1%8C%E8%B1%86%E8%8D%9A.pdf


買一本《用AngularJS開發下一代Web應用》入門下。


簡化了你寫DOM操作,你看不到那些蛋疼的each,append。還你一個清晰地邏輯世界。框架的出現只是為了簡化開發流程,讓我們能投入更多的精力貼合業務邏輯,做出完美的產品。每種框架各有各的優缺點,要學會分析這些框架的各自的優劣,好好把握


有這麼個有趣的事情,不知道大家經歷過么?

各種開源框架--&>自己寫框架--&>不用框架

好了回歸正題,AngularJS是什麼?樓主可是真懶哈,這裡有個鏈接 AngularJS_百度百科

接下來我講下我對AngularJS框架的理解,其實就是藉助於MVC的思想來剝離前端各部分代碼,各就各位。說白了,你可以認為是一種代碼的規範,或者是一個個框框把功能相似的代碼放到一起,便於維護管理。優點很多,樓上的都答的很全,不多說了。

看個例子,

&

&{{title}}&

&

{{content}}&

&

main.js:

var articleService = new ArticleService();

var article = articleService .fecthOneArticle();

var articleView = new ArticleView();

if(article) {

articleView.render(article);

}else {

articleView.showErrorDialog("An error occurred!");

}

ArticleService.js

this.fecthOneArticle = function() {

// 利用ajax從伺服器端獲取數據,並返回

return article;

}

ArticleView.js

this.render = function(data) {

var elements = document.getElementsByTagName("*");

var savedElements = [];

var pattern = /^{{.*}}$/i;

for(var i = 0; i &< elements.length; i++) {

var text = elements[i].innerText;

if(pattern.test(text)) {

// 獲取{{與}}之間的作為key

savedElements[key] = elements[i];

}

// 接下來就是遍歷data中的數據,然後填充到相應的element上,不相寫了,

//回家還寫代碼,真是苦逼死了。

}

}

article的數據結構:

{

title: "AngularJS",

content: "什麼是AngularJS?"

}


這兩天剛好正在看angularjs,剛開始用的時候感覺真的跟一般的MVC或MVT框架不太一樣,主要有以下幾點:

1.前台DOM和後台Model的雙向綁定,前後台的更改都可以隨時生效,這給一些普通的業務邏輯的開發帶來了很大的方便。個人認為,僅憑這一點它的存在價值就是毋庸置疑的。

2.依賴較少,上手容易。只要包含一下Angularjs文件就可以著手簡單的開發了(如果程序稍微複雜些的話還是需要藉助其他工具的)

3.能與多種其他工具整合,如Nodejs,Express,且侵入程度較低。

4.及其適合開發SPA(Single Page Application)類型的web應用,有多方便,只有嘗試過的人才知道。

要想知道到底好在哪裡,還是自己親手嘗試一下感觸會比較深。


主要的作用就是簡化單頁面應用的開發。比如說Gmail等等。。。如果你想把web應用做出桌面應用一樣的感覺,那用angular就沒錯了。


其實用angular的最大好處就是雙向綁定了,這樣可以避免大量的用js操作dom,這樣能使代碼清晰,更便於維護。

而且以後的很多應用前端越來越重,代碼越來越多,這樣就帶來了前端mvc的需求,也就產生了backbone,angular類似的框架。

就像後台一樣,當初沒有struts的時候用servlet也可以寫,之所以用框架,以便於項目的擴展和維護。


angluar不是未來的趨勢,是現在。。


angularJS 給你另外一個角度去操作 DOM


建議使用前端MVC更為強大的Ember.js


遵循 angular 的規約可以防止有些剛會 js 的前端程序員寫出一堆又一堆的不可維護代碼。


angular.js實現前端MVC,便捷開發利器,後起之秀


如果用Angularjs 的話,因為是mvc 的,所以整體代碼還是比較工整,不雜亂,邏輯上比整個代碼都是jquery 的要清晰一些~


還沒有使用,看了一些關於它的使用介紹。最近的工作是開發移動終端的web app,終端只存儲頁面靜態頁面和js css,數據通過遠端伺服器獲取。一直想如何高效優雅的組織數據和展現,感覺angular就是我想要的東西。


這些層出不窮,名字怪異得框架,基本都屬於吃飽了撐得沒事幹得Geek弄出得玩具或者遊戲,然後再忽悠他人加入一起玩,玩的人若是玩不嗨都得反省自己不會玩,沒玩好。

實際上,沒有存在得必要。

這到底是工業界還是遊戲界還是雜耍屆?

90%得新技術,新框架也好,基本都是左右互博得遊戲。自己製造問題,然後再解決問題得自嗨而已,解決得咋樣嗨都的另說。

嗯,就是這樣。


推薦閱讀:

angularjs項目需要從一個頁面跳轉到另一個頁面,同時需要傳遞一個參數。請問大神該通過什麼實現?
Web 前端開發需要使用 MVVM 框架嗎?
小菜鳥如何系統性學習React?
放棄後端轉前端是否是個明智的選擇?
angularjs許可權細粒度怎麼做到按鈕級別?

TAG:AngularJS |