AngularJS可以说是一个非常完美的JS框架。先通过这篇文章来看看AngularJS的几大特性 http://blog.csdn.net/vking_wang/article/details/8817232
文章总结了有这些特性

  • 特性一:双向数据绑定
  • 特性二:模板
  • 特性三:MVC
  • 特性四:依赖注入(Dependency Injection,DI)
  • 特性五:Directives(指令)

再来看看我之前写的一篇文章:https://www.queyang.com/blog/?p=419

想必如果你是一个最求时髦的前端攻城狮一定已经蠢蠢欲动,想在手上的项目里开始小试牛刀了吧。
但是,在上项目前,你务必要了知道AngularJS的脾性,其实在如今的网站实例中,还是有很多类型的不适用它的。那么先说说它比较合适使用的场景:

首先是网站的后台

网站的后台通常都是功能复杂、模块化比较清晰的页面,而且不需要考虑SEO相关的场景,另外就是对浏览器的要求不如前端那么苛刻,你的很多想法可以在后台里体现出来。不过就我了解的情况来看,后台大多是讲究实用的地方,不需要华丽的界面,不需要超前的技术,只要你能赶紧实现一些需求,并且大部分是和服务器、数据库打交道,所以这时候就没前端攻城狮什么事情了,除非你是即做后端又热爱后端的人,比如像我这样的,丑陋的后台是我受不了的。
所以这样来看,AngularJS在后台里只能算是一个配角角色,而且能不能用不是看前端而是看做后台的同学的前端水平了。

网站用户管理页面

这些地方的页面不需要SEO但是直接面对用户,所以还是相当重要的,如果能在这样的页面用AngularJS做好那一定是件非常令人激动的事情。不过现在很多网站的用户管理页面其实还是很薄弱,可能就寥寥几页,这样AngularJS就显得有点没有太大用处的赶脚,不过,如果像淘宝这样的用户中心或者是支付宝里的页面都用上AngularJS来处理页面,那肯定是很赞的。

web应用页面

Web应用页面是非常适合AngularJS使用的,同样不需要SEO,同样可以多方模块化加载,而且经常需要页面上的调整,这样就能够发挥AngularJS的优势了。

单页应用

这样的页面在最近些年开始流行了,所有的内容在单页里,然后分不同的情景呈现给用户,一次做好就不用多改了,这样的页面可以用AngularJS来做,不过貌似也体现不出什么太大的优势来。

那么有哪些场景不适合AngularJS的使用呢?

我个人觉得目前来说期望做较好SEO的页面还是不适合用AngularJS来做,如果你用它做好页面,一定要针对SEO来做一个供蜘蛛使用的页面,否则你页面就基本进不了搜索引擎的门了
当然了,解决方案其实还是有一些的,不过现在来说一来复杂,二来不成熟,也许过些年针对AngularJS的SEO的方案会越来越简单、成熟。

那么除了对SEO有要求的页面外,还有哪些页面不适合用AngularJS呢?答曰:类WEB1.0页面,这种像新浪、搜狐这样一个页面堆叠了N多内容的老古板的页面还是用用老技术来作吧,新玩意不适合他们,呵呵。
我甚至盯着我们公司的 http://www.verycd.com/ 的首页想了老半天,如果这个首页用AngularJS做会出现怎样的情况?
这个首页是由很多模块(部件)组成的一个页面,如果按照AngularJS的完全分离的做法,这个首页在打开时或许会有N多个模板、资源页面需要通过ajax来载入,届时可能不得不担心的就是异步请求太多了,一来会拖慢浏览器端的显示速度,而来会大幅增加服务器的负担。

总的来说,对于前端,不得不考虑模块化带来的各种负面问题,那就是页面需要成倍的增加连接数量。而我曾经在负责VeryCD时甚至会把几个css合并成一个文件来载入以加快页面载入速度,所以说,在前端是接受不了N多个CSS连接、js、模板分别请求的。