Angular企业级开发(1)-AngularJS简介

Angular学习脑图

AngularJS介绍

AngularJS是一个功能完善的JavaScript前端框架,同时是基于MVC(Model-View-Controller理念的框架,使用它能够高效的开发桌面web app和移动端应用。AngularJS由Google公司开发而且开源出来,给所有开发者使用。前端基于Bootstrap+AngularJS框架,后端基于RESTful服务框架开发的应用越来越多。未来后端基于Docker+Microservice部署的应用也会越来越多。

Angular Logo

AngularJS官方网站

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主要功能测试,就是开发工程师发布代码之后,测试工程师根据业务需求和功能进行功能测试。

AngularJS相比其他框架

目前主要流行的几大框架:

1.jQuery

2.React

3.Vue.js

4.Ember.js

以上四个框架都有自己的开发者,每个框架都有自己的优点和缺点。在实际项目开发者,还是要根据团队成员对框架的掌握程度来决定。但是我们还是推荐大家使用AngularJS。

Angular1.x和Angular2

在国内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>
还能输入1000个字符
</div>

Angularjs与angular架构对比

lyj4495673 lyj4495673

06-24 347

1.AngularJS

诞生于2009年,后来被Google收购,是一个JavaScript框架。
通过指令扩展了HTML,通过表达式绑定数据到html
可以通过script标签添加到网页中
以J…









第四第三公司小项目简单angularjs




ZkMao1007

ZkMao1007




11-19




197




///////////经理的////////////////////////////////////////

    
        
        
        
  …






<iframe width="852" height="60" scrolling="no" src="https://pos.baidu.com/s?hei=60&amp;wid=852&amp;di=u3491668&amp;ltu=https%3A%2F%2Fblog.csdn.net%2Fbxj593551%2Farticle%2Fdetails%2F54436802&amp;tpr=1538660148695&amp;tlm=1538660148&amp;cja=false&amp;ant=0&amp;cce=true&amp;par=1366x768&amp;cdo=-1&amp;tcn=1538660149&amp;chi=1&amp;drs=1&amp;pcs=1309x643&amp;ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D_ke7OVQzvGyMB33JQ6TTUuWB6g0Ql270hhfrSnCwvruy4QGe4DhLRXfZjHoUQE_8Ab2vnfj59It5o8cybK0A4OuvSdTo2Hq3jmKxznUqCVK%26wd%3D%26eqid%3D90c0466b00000fb5000000025bb61728&amp;psr=1366x768&amp;dc=3&amp;ccd=24&amp;cfv=0&amp;dtm=HTML_POST&amp;prot=2&amp;ti=Angular%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BC%80%E5%8F%91(1)-AngularJS%E7%AE%80%E4%BB%8B%20-%20bxj593551%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;exps=111000&amp;col=zh-CN&amp;dai=1&amp;cpl=12&amp;ps=2890x382&amp;dri=0&amp;ari=2&amp;pis=-1x-1&amp;cmi=28&amp;pss=1309x3549&amp;cec=UTF-8&amp;dis=0"></iframe>

				<div class="recommend-item-box type_blog clearfix" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/codekiller_/article/details/68924183,BlogCommendFromBaidu_3,index_2&quot;}" 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、&nbsp;&nbsp;前端,是一种GUI软件

在一个Web系统中,用户通过浏览器上网,输入URL的那一刻起,就意味着通过HTTP协议发送一个远程请求,服务端会将一个URL请求映射到一个具体的URL,然后将关联的资…









AngularJs前端框架搭建(一)




u014494857

u014494857




04-12




1.3万




(持续更新)
写在最前面,从实习到毕业后这大半年来都是在现在所在的公司工作,才开始接触公司的项目时,后端都是用的熟悉的知识,然后前端却用了从来没听说过得angularjs,从开始接触到现在,也算是会…









AngularJS框架知识点汇总




yangzhanghui

yangzhanghui




10-31




199




1. AngularJS是什么?
它是Google开发的一款具有MVC结构的前端框架。在
Angular 应用中,视图层就是
DOM,控制器就
JavaScript 类,模型数据存储在对象属性中。
2…









AngularJS框架(一)




yexudengzhidao

yexudengzhidao




02-15




254




要理解AngularJS必须要理解数据,数据是AngularJS的核心!AngularJS三要素
ng-model : 数据从哪来
ng-bind : 数据到哪去
ng-app : 哪块归angula…













10 个非常有用的 AngularJS 框架




yanghaonan7758

yanghaonan7758




05-02




8619




AngularJS是最流行的开源web app框架。AngularJS被用于解决阻碍单页应用程序开发的各种挑战。
你作为一个AngularJS用户,却不知道一些可以帮助你美化编码的资源?那么一定不能…









个非常好用的框架-AngularJS(一)




Steven_ssm

Steven_ssm




09-24




470




前  言

         
  AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当…









AngularJS实际项目应用——前端js框架以及库介绍




kittyjie

kittyjie




01-24




925




AngularJS 1.x系列,这个项目开始的时候2.x正式版还没有发布,现在发布了。但是看2.x系列的AngularJS变化非常大,个人觉得学习曲线有点陡,现在还处在观望中,看要不要继续学习一下。U…






博主推荐







换一批


天外野草

关注 233篇文章

漫长学习路

关注 224篇文章

ITzhongzi
ITzhongzi

关注 363篇文章



        <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>

猜你喜欢

转载自blog.csdn.net/wangliang369/article/details/82940709