Angularjs与angular架构对比
lyj4495673
06-24 347
1.AngularJS
赞
踩
AngularJS是一个功能完善的JavaScript前端框架,同时是基于MVC(Model-View-Controller理念的框架,使用它能够高效的开发桌面web app和移动端应用。AngularJS由Google公司开发而且开源出来,给所有开发者使用。前端基于Bootstrap+AngularJS框架,后端基于RESTful服务框架开发的应用越来越多。未来后端基于Docker+Microservice部署的应用也会越来越多。
AngularJS官方网站
1.客户端模板
传统的web应用:都是多页面,服务器端创建html,把html和数据装配在一起,然后再把生成好的html页面返回给浏览器。
单页应用(Single Page Application):模板和数据都会返回给浏览器中,然后在浏览器中进行装配。服务端仅仅为这些模板提供静态资源,然后为这些模板提供所需的数据。
2.MVC
M(Model)-V(View)-C(Controller)最早主要是在桌面应用开发中使用,强调的是界面,数据模型和控制器的三者之间的分离。视图会从模型中获取数据,然后展示给用户,当用户通过鼠标或键盘操作或键入与应用进行交互的时候,控制器将会做出响应,并修改模型中的数据,最后模型会通知视图,数据已经发生变化,这样视图就可以刷新其中改变的内容。
3.数据双向绑定
view层的数据和model层的数据是双向绑定的,其中之一发生更改,另一方会随之变化,这不用你写任何代码。
4.指令
可以把模板和相关业务逻辑编写成html标签的形式,之所以可以实现这一点,主要是因为AngularJS引入了一款强大的DOM转换引擎,可以用它来扩展HTML语法。生成的新的html标签就是指令,AngularJS内置了非常多的质量,比如:ng-repeat,ng-app,ng-controller等等。当内置指令不够时,开发者可以根据业务需求自定义开发指令。
5.依赖注入
Dependency Injection是一种设计模式,目的是在配置应用时定义应用所需的依赖。使用依赖注入能避免手动创建应用的依赖。初次启动应用时,AngularJS会使用依赖注入加载模块的依赖。
Java流行框架Spring就是充分使用了依赖注入。依赖注入能提升AngularJS应用的可测试性,而且AngularJS单元测试和集成测试还有专门的测试框架。
6.可测试性
AngularJS应用借助依赖注入的,大大提升了应用的可测试性。目前Web前端应用,一般会进行两种测试。第一种是单元测试(Unit Test),单元测试主要测试代码的一个小的单元,能在开发过程中尽早发现软件的缺陷;第二种是端到端测试(End to End,简称:E2E)。端到端测试主要测试软件中各个组件结合在一起的交互行为,从而发现软件的缺陷。
QA主要功能测试,就是开发工程师发布代码之后,测试工程师根据业务需求和功能进行功能测试。
目前主要流行的几大框架:
1.jQuery
2.React
3.Vue.js
4.Ember.js
以上四个框架都有自己的开发者,每个框架都有自己的优点和缺点。在实际项目开发者,还是要根据团队成员对框架的掌握程度来决定。但是我们还是推荐大家使用AngularJS。
在国内1.5.x版本开发的应用应该较多,但是2.0版本也已经发布了。对于Angular2,很多开发者都觉的要重新学习一遍。因为变动确实太大了,好在提供了从1.x迁移到2.0相关的工具。后面博客中涉及的版本都是基于Angular1.5.X版本。等团队成员对angular1.x相关技术和原理有一定的理解,到时才会考虑使用Angular2.0。
1.https://zh.wikipedia.org/wiki/AngularJS
2.https://github.com/paddingme/ng-demo/blob/master/slide.md
<script> (function(){ function setArticleH(btnReadmore,posi){ var winH = $(window).height(); var articleBox = $("div.article_content"); var artH = articleBox.height(); if(artH > winH*posi){ articleBox.css({ 'height':winH*posi+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } var btnReadmore = $("#btn-readmore"); if(btnReadmore.length>0){ if(currentUserName){ setArticleH(btnReadmore,3); }else{ setArticleH(btnReadmore,1.2); } } })() </script> </article>
诞生于2009年,后来被Google收购,是一个JavaScript框架。
通过指令扩展了HTML,通过表达式绑定数据到html
可以通过script标签添加到网页中
以J…
…
<div class="recommend-item-box type_blog clearfix" data-track-click="{"mod":"popu_387","con":",https://blog.csdn.net/codekiller_/article/details/68924183,BlogCommendFromBaidu_3,index_2"}" data-flg="true"> <a href="https://blog.csdn.net/codekiller_/article/details/68924183" target="_blank" title="前端开发框架之AngularJS篇"> <div class="content" style="width: 842px;"> <h4 class="text-truncate oneline" style="width: 719px;"> 前端开发框架之<em>Angular</em>JS篇 </h4> <div class="info-box d-flex align-content-center"> <p class="avatar"> <img src="https://avatar.csdn.net/D/4/E/3_codekiller_.jpg" alt="codekiller_" class="avatar-pic"> <span class="namebox" style="left: -28.5px;"> <span class="name">codekiller_</span> <span class="triangle"></span> </span> </p> <p class="date-and-readNum"> <span class="date hover-show">03-31</span> <span class="read-num hover-hide"> <svg class="icon csdnc-yuedushu" aria-hidden="true"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#csdnc-yuedushu"></use> </svg> 3426</span> </p> </div> <p class="content oneline" style="width: 842px;"> 1、 前端,是一种GUI软件
在一个Web系统中,用户通过浏览器上网,输入URL的那一刻起,就意味着通过HTTP协议发送一个远程请求,服务端会将一个URL请求映射到一个具体的URL,然后将关联的资…
u014494857
04-12
1.3万
(持续更新)
写在最前面,从实习到毕业后这大半年来都是在现在所在的公司工作,才开始接触公司的项目时,后端都是用的熟悉的知识,然后前端却用了从来没听说过得angularjs,从开始接触到现在,也算是会…
yangzhanghui
10-31
199
1. AngularJS是什么?
它是Google开发的一款具有MVC结构的前端框架。在
Angular 应用中,视图层就是
DOM,控制器就
JavaScript 类,模型数据存储在对象属性中。
2…
yexudengzhidao
02-15
254
要理解AngularJS必须要理解数据,数据是AngularJS的核心!AngularJS三要素
ng-model : 数据从哪来
ng-bind : 数据到哪去
ng-app : 哪块归angula…
yanghaonan7758
05-02
8619
AngularJS是最流行的开源web app框架。AngularJS被用于解决阻碍单页应用程序开发的各种挑战。
你作为一个AngularJS用户,却不知道一些可以帮助你美化编码的资源?那么一定不能…
AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当…
kittyjie
01-24
925
AngularJS 1.x系列,这个项目开始的时候2.x正式版还没有发布,现在发布了。但是看2.x系列的AngularJS变化非常大,个人觉得学习曲线有点陡,现在还处在观望中,看要不要继续学习一下。U…
<div class="recommend-loading-box">
<img src="https://csdnimg.cn/release/phoenix/images/feedLoading.gif">
</div>
<div class="recommend-end-box">
<p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
</div>
</div>
</main>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。