AngularJS 在实际应用中优点:
模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令;
是一个比较完善的前端MV*框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能;
自定义Directive,比jQuery插件还灵活,但是需要深入了解Directive的一些特性,简单的封装容易,复杂一点官方没有提供详细的介绍文档,可以通过阅读源代码来找到某些我们需要的东西;
ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮助,即使UI变化很大,而且产品更新迭代,但是js的代码基本上却很少改动。
补充:Angular支持单元测试和e2e-testing。
AngularJS 在实际应用中缺点:
验证功能错误信息显示比较薄弱,需要写很多模板标签,没有jQuery Validate方便,所以我们自己封装了验证的错误信息提示;
ngView只能有一个,不能嵌套多个视图,虽然有 angular-ui/ui-router · GitHub 解决,但是貌似ui-router 对于URL的控制不是很灵活,必须是嵌套式的;
对于特别复杂的应用场景,貌似性能有点问题,特别是在Windows下使用chrome浏览器;
这没有完美兼容低版本,升级之后可能会导致一个兼容性的BUG;
ng提倡在控制器里面不要有操作DOM的代码,对于一些jQuery 插件的使用,如果想不破坏代码的整洁性,需要写一些directive去封装插件,但是现在有很多插件的版本已经支持Angular了;
Angular 太笨重了,没有让用户选择一个轻量级的版本,;
使用的人多才会暴露更多的问题,一起为这些问题寻找解决方案是一个社区的良性趋势,选择Angular,的确使开发效率大大提高。
一直在学习,容易学到什么都懂了,但油烟净化器用起来的时候不知道如何下手。
现在前端需要后端的配合,如果有人能够配合你最好,如果暂时没有,建议去了解一下接口开发。
目前了解angularjs很不错,可以把前端都包含在内。
一句话,用中学。
追问
谢谢。
angularjs的话估计要学一段时间,我是想在学习框架之前,看一下比如那本猫头鹰MVC书籍(《基于MVC的JavaScript Web富应用开发》)和其他单页开发的书籍。
另外,接口开发这个方面有没有相应的学习资料或者书籍呢?
追答
那基本可以开发了,前端还需要了解css的使用,jquery选择器的使用方法就是学css的,很容易上手。
接口并不复杂,前端只要规范、设定好需求的数据,后台提供给你,这就实现基本的功能了。
例如:输出一个list,需要 id、title、time、info 4个字段,后台提供一个json串,格式就是这4个字段组成的多行数据。前台接到数据拆分拼合即可。
用angularjs,就更容易了。只是觉得angular,功能多,上手慢,相对于jquery使用不够灵活。