新書推薦:
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
《
中国摄影 中式摄影的独特魅力
》
售價:NT$
4998.0
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:NT$
347.0
|
編輯推薦: |
主要讲解jQuery、AngularJS、Bootstrap这三个常用的前端框架,并针对每个框架都提供了实用的案例,让读者理论联系实际。
本书提供两个综合案例,综合利用了jQuery、AngularJS、Bootstrap前端开发技术,并在后端采用了极为流行、规范的轻量级Java EE架构:控制器层-业务逻辑层-数据持久化层。
书中案例对实际项目具有极好的指导价值和借鉴意义。
案例既提供了IDE无关的、基于Ant管理的项目源码,也提供了基于Eclipse IDE的项目源码,极大限度地满足读者的需求。
|
內容簡介: |
《疯狂前端开发讲义》基于《疯狂Ajax讲义(第3版)》的部分内容升级而来,全书升级了HTML 5.1支持的XMLHttpRequest,jQuery升级到3.1。本书的重点是新加入的两个目前十分主流的前端框架:AngularJS和Bootstrap。本书详细、全面地介绍了AngularJS和Bootstrap的知识,由于这两个框架是本书的重点,因此花了近400多页来介绍它们的功能和用法,这部分内容独立出来完全可以作为AngularJS和Bootstrap的学习手册。《疯狂前端开发讲义》主要就是讲解jQuery 3.1、AngularJS 1.6、Bootstrap 3.3这三个*常用的前端框架,并针对每个框架都提供了实用的案例,让读者理论联系实际。这部分内容是“疯狂软件教育中心”的标准讲义,既包含了实际前端开发的重点和难点,也融入了大量学习者的学习经验和感悟。笔者以丰富的授课经验为基础,在讲解深入浅出,力求使读者真正掌握前端开发的精髓。本书*后提供两个综合性案例:图书管理系统和电子拍卖系统,这两个项目都综合利用了jQuery、AngularJS、Bootstrap前端开发技术,并在后端采用了*流行、*规范的轻量级Java EE架构:控制器层->业务逻辑层->数据持久化层。这两个案例对实际项目具有极好的指导价值和借鉴意义。案例既提供了IDE无关的、基于Ant管理的项目源码,也提供了基于Eclipse IDE的项目源码,*限度地满足读者的需求。如果在阅读本书时遇到任何技术问题,都可登录http:www.crazyit.org与本书庞大的读者群交流。本书并非针对零基础的读者,本书不再包含HTML、CSS、JavaScript相关知识,这些知识是阅读本书的基础。本书适合有初步HTML、CSS、JavaScript基础的读者,或对企业应用前端开发不太熟悉的开发人员。如果已经掌握本书的姊妹篇《疯狂HTML 5CSS 3JavaScript讲义》,将非常适合阅读本书。
|
關於作者: |
李刚,十多年的软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系的兼职副教授,51CTO专家门诊特邀嘉宾。培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。国内著名高端IT技术作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂iOS讲义(基础篇)(高级篇)》《疯狂 Swift讲义》《疯狂Ajax讲义》《疯狂XML讲义》《经典Java EE企业应用实战》《Struts 2.x**指南》《疯狂HTML 5CSS 3JavaScript讲义》等著作。其 中疯狂Java体系图书均已沉淀多年、赢得极高的市场认同、多次重印成为超级畅销图书,并被多所“985”“211”高校选作教材,不少图书已被翻译成繁体中文版、 授权到中国台湾地区。
|
目錄:
|
第1章 前端开发与Ajax技术1
1.1 重新思考Web应用2
1.1.1 应用系统的发展史2
1.1.2 传统Web应用的优势和缺点3
1.2 重新设计Web应用4
1.2.1 富Internet应用4
1.2.2 改进的服务器通信5
1.2.3 丰富的客户端交互6
1.3 前端开发介绍7
1.3.1 XMLHttpRequest简介7
1.3.2 前端开发的核心技术7
1.3.3 前端Ajax的特征9
1.3.4 Ajax带来的优势10
1.4 前端开发体验:Ajax聊天室11
1.4.1 实现业务逻辑组件12
1.4.2 注册、登录控制器15
1.4.3 注册、登录视图16
1.4.4 异步发送请求17
1.4.5 聊天控制器18
1.4.6 解析服务器响应21
1.4.7 何时发送请求21
1.5 前端开发的技术难点24
1.6 本章小结25
第2章 HTML 5增强的XMLHttpRequest对象26
2.1 XMLHttpRequest对象的方法和属性27
2.1.1 XMLHttpRequest对象的方法27
2.1.2 XMLHttpRequest对象的属性30
2.2.3 XMLHttpRequest对象的事件32
2.2 发送请求33
2.2.1 发送简单请求33
2.2.2 发送GET请求34
2.2.3 发送POST请求36
2.2.4 发送XML请求37
2.2.5 发送表单数据40
2.2.6 发送Blob对象42
2.3 处理响应44
2.3.1 处理响应的时机44
2.3.2 使用文本响应44
2.3.3 使用JSON响应45
2.3.4 使用Blob或ArrayBuffer响应48
2.4 XMLHttpRequest对象的运行周期50
2.5 跨域请求和安全性问题50
2.5.1 跨域请求50
2.5.2 安全性问题53
2.5.3 性能问题54
2.6 本章小结56
第3章 jQuery库详解57
3.1 jQuery入门58
3.1.1 理解jQuery的设计58
3.1.2 下载和安装jQuery59
3.1.3 让jQuery与其他JavaScript库共存60
3.2 获取jQuery对象61
3.2.1 jQuery核心函数61
3.2.2 jQuery与jQuery.holdReady62
3.2.3 以CSS选择器访问DOM元素63
3.2.4 以伪类选择器访问DOM元素65
3.2.5 表单相关的选择器70
3.3 jQuery操作类数组的工具方法72
3.3.1 过滤相关方法74
3.3.2 仿DOM导航查找的相关方法76
3.3.3 串联方法78
3.4 jQuery支持的方法79
3.4.1 jQuery命名空间的方法80
3.4.2 数据存储的相关方法83
3.4.3 操作属性的相关方法84
3.4.4 操作CSS属性的相关方法86
3.4.5 操作元素内容的相关方法89
3.4.6 操作DOM节点的相关方法90
3.5 jQuery事件相关方法96
3.5.1 绑定事件处理函数96
3.5.2 特定事件相关的方法98
3.5.3 事件对象99
3.6 动画效果相关的方法100
3.6.1 简单动画和复杂动画100
3.6.2 操作动画队列103
3.7 jQuery的回调支持104
3.7.1 回调支持的基本用法104
3.7.2 创建Callbacks对象支持的选项106
3.8 Ajax相关方法108
3.8.1 三个工具方法108
3.8.2 使用load方法109
3.8.3 jQuery.ajaxoptions与jQuery.ajaxSetupoptions111
3.8.4 使用getpost方法112
3.9 jQuery的Deferred对象115
3.9.1 jQuery的异步调用115
3.9.2 为多个耗时操作指定回调函数119
3.9.3 为普通对象增加Defered接口119
3.9.4 jQuery对象的promise方法120
3.10 扩展jQuery和jQuery插件121
3.11 本章小结122
第4章 基于jQuery的应用:电子相册系统123
4.1 实现持久层124
4.1.1 实现持久化类124
4.1.2 配置SessionFactory126
4.2 实现DAO组件127
4.2.1 开发通用DAO组件127
4.2.2 DAO接口定义130
4.2.3 完成DAO组件的实现类131
4.3 实现业务逻辑层132
4.3.1 实现业务逻辑组件132
4.3.2 配置业务逻辑组件134
4.4 实现客户端调用135
4.4.1 访问业务逻辑组件135
4.4.2 处理用户登录136
4.4.3 获得用户相片列表138
4.4.4 处理翻页140
4.4.5 使用jQuery实现文件上传141
4.4.6 加载页面时的处理144
4.5 本章小结145
第5章 AngularJS详解147
5.1 AngularJS入门148
5.1.1 理解AngularJS的基本设计148
5.1.2 下载和安装AngularJS149
5.2 表达式150
5.2.1 简单表达式150
5.2.2 复合对象表达式151
5.2.3 AngularJS表达式的容错性152
5.2.4 AngularJS表达式与JavaScript表达式152
5.3 模块与控制器153
5.3.1 模块的加载153
5.3.2 控制器初始化$scope对象155
5.3.3 $rootScope作用域157
5.3.4 $watch方法的使用158
5.4 过滤器159
5.4.1 内置过滤器159
5.4.2 在表达式中使用过滤器160
5.4.3 在指令中使用过滤器162
5.4.4 自定义过滤器162
5.5 函数API164
5.5.1 扩展型函数164
5.5.2 jqLite函数168
5.5.3 判断型函数169
5.6 指令170
5.6.1 表单相关的指令170
5.6.2 表单的输入校验175
5.6.3 事件相关的指令178
5.6.4 流程控制相关的指令179
5.6.5 绑定相关的指令183
5.6.5 DOM及DOM状态相关指令187
5.6.6 自定义指令193
5.6.7 自定义指令的scope属性195
5.6.8 自定义指令的transclude属性197
5.6.9 自定义指令的link和compile属性198
5.6.10 自定义指令的controller和controllerAs属性202
5.6.11 自定义指令的require属性203
5.7 调用内置服务205
5.7.1 $animate服务205
5.7.2 $cacheFactory服务207
5.7.3 $compile服务209
5.7.4 $document、$window、$timeout、$interval和$rootElement211
5.7.5 $parse服务214
5.7.6 $interpolate服务214
5.7.7 $log服务215
5.7.8 $q服务216
5.7.9 $templateCache服务218
5.8 自定义服务219
5.8.1 使用factory方法创建自定义服务219
5.8.2 使用service方法创建自定义服务220
5.8.3 使用provider方法创建自定义服务221
5.8.4 使用$provide服务创建自定义服务223
5.8.5 在过滤器中使用自定义服务225
5.9 依赖注入226
5.9.1 依赖注入机制简介226
5.9.2 使用$injector对象获取组件228
5.9.3 隐式依赖注入230
5.9.4 行内数组式依赖注入230
5.9.5 标记式依赖注入231
5.10 与服务器交互232
5.10.1 $http服务232
5.10.2 $http的快捷方法235
5.10.3 使用$http上传文件237
5.10.4 使用$resource服务239
5.11 多视图和路由240
5.11.1 使用$routeProvider配置路由规则240
5.11.2 创建多视图242
5.11.3 通过路由切换视图244
5.11.4 使用$location实现多视图切换246
5.12 使用ui-router框架实现多视图248
5.12.1 ui-router的下载和安装248
5.12.1 使用$stateProvider配置路由248
5.12.2 多视图切换与$state250
5.12.3 多个命名的嵌套视图252
5.13 本章小结255
第6章 Bootstrap全局样式256
6.1 Bootstrap257
6.1.1 Bootstrap简介257
6.1.2 下载和安装Bootstrap257
6.2 网格布局260
6.2.1 网格布局基础261
6.2.2 多余的列另起一行264
6.2.3 响应式列重置264
6.2.4 单元格偏移266
6.2.5 单元格排序267
6.2.6 嵌套网格268
6.3 Less和mixin269
6.3.1 Less简介269
6.3.2 Less的两种用法270
6.3.3 Less的变量和运算符274
6.3.4 mixin274
6.3.5 内嵌规则275
6.3.6 Bootstrap网格系统的变量和mixin276
6.4 Bootstrap排版相关样式278
6.4.1 标题元素和样式278
6.4.2 段落279
6.4.3 增强的HTML元素280
6.4.4 对齐282
6.4.5 改变大小写283
6.4.6 列表283
6.5 表格相关样式286
6.5.1 基础表格286
6.5.2 条纹表格287
6.5.3 边框表格287
6.5.4 鼠标高亮288
6.5.5 紧凑型表格289
6.5.6 响应式表格289
6.5.7 表格行状态290
6.6 图片和图标291
6.6.1 图片相关样式291
6.6.2 图标293
6.7 辅助样式294
6.7.1 情境背景色294
6.7.2 情境文本颜色295
6.7.3 关闭按钮和三角箭头295
6.7.4 快速浮动296
6.7.5 显示或隐藏内容296
6.7.6 屏幕阅读器和键盘导航297
6.7.7 图片替换297
6.8 响应式布局相关样式297
6.8.1 显示隐藏相关样式298
6.8.2 打印相关样式299
6.9 表单相关样式299
6.9.1 基础表单299
6.9.2 行内表单300
6.9.3 水平表单302
6.9.4 多选框和单选框303
6.9.5 表单控件的大小305
6.9.6 静态控件307
6.9.7 表单控件的状态309
6.9.8 帮助文本309
6.9.9 校验状态310
6.9.10 校验状态的图标311
6.10 本章小结313
第7章 Bootstrap内置组件314
7.1 按钮315
7.1.1 按钮大小316
7.1.2 按钮状态317
7.2 下拉菜单319
7.2.1 对齐321
7.2.2 禁用菜单项322
7.2.3 按钮式下拉菜单323
7.2.4 分裂式按钮下拉菜单324
7.2.5 大小326
7.3 按钮组327
7.3.1 基本按钮组327
7.3.2 工具栏328
7.3.3 控制按钮组的大小329
7.3.4 按钮组嵌套下拉菜单329
7.3.5 两端对齐的按钮组331
7.4 输入框组332
7.4.1 基本输入框组332
7.4.2 控制输入框组的大小334
7.4.3 单选框或多选框作为附加元素335
7.4.4 按钮式下拉菜单作为附加元素336
7.4.5 多按钮337
7.5 导航338
7.5.1 简单导航的基础样式338
7.5.2 两端对齐340
7.5.3 嵌套下拉菜单340
7.5.4 路径导航341
7.5.5 基础导航条342
7.5.6 导航条中的品牌图标344
7.5.7 导航7
|
內容試閱:
|
前 言
现在企业应用开发越来越重视前端开发,很多企业已经独立出一个专门的岗位:前端开发工程师,前端开发工程师专门负责企业应用的前端编程。前端工程师与美工不同,美工负责的是应用界面的规划和设计,他们只负责做出静态的界面构图,有时也包括规划界面交互效果,但美工通常并不懂编程实现;而前端开发工程师则负责使用HTML 5、CSS、JavaScript以及各种前端框架来实现整个前端界面:包括应用 界面的搭建、用户交互的实现,这些内容其实都属于JavaScript编程。
有些初学者往往容易混淆美工和前端开发工程师的区别:他们以为会用网页设计工具制作网页就算前端开发工程师。实际上会用网页设计工具既算不上美工,也算不上前端开发工程师。美工的重点在美,他们需要有扎实的美术功底,他们可用任何工具来设计静态界面,甚至可直接在纸上绘制界面草图,因此网页制作工具只是其中的工具之一;而前端开发工程师往往并不使用网页设计工具,他们通常会使用专门的代码编写工具,他们用HTML、CSS来编写静态界面,再使用JavaScript或各种前端框架来实现界面的动态交互效果。因此,前端开发工程师的本质依然是程序员,他们常用JavaScript以及各种JavaScript框架,如jQuery和AngularJS等。
这里必须说明,前端开发并不简单,原因主要有如下两点:
1、 JavaScript作为一门编程语言,有其自身的优势和特点,要想真正掌握并熟练使用它,有一定的难度。
2、 各浏览器之间存在一定的差异(虽然这种差异正在被相应的规范减少),而且同一个浏览器的不同版本之间也存在较大差异(如IE 8、IE 9、IE 10等),这同样给广大开发者带来了较大的困难。
正因为前端开发存在的复杂性,使得前端开发的相关框架也相当活跃,除了zui主流的jQuery之外,其他还有如AngularJS、Bootstrap等。尤其是jQuery,目前它已经超出一般框架的概念,甚至变成了某种规范,很多前端框架底层都会借鉴或依赖jQuery。
AngularJS则是一个非常实用的前端框架,这个框架不是一种简单的工具,它甚至会强迫开发者采用一种优雅的前端架构,这也是笔者对这个框架情有独钟的原因。
对于初级甚至中级的前端开发者来说,他们有一定的JavaScript代码功底,如果单纯交代他们实现一个前端功能,他们可能也可以实现出来,但他们的实现风格要么乱七八糟,要么随心所欲:今天可能这样实现,明天可能会那样实现如果整个前端都由一个开发者完成,这样做可能问题不大。但实际企业应用的前端往往需要多人协作开发,这时各前端开发者的风格不统一就会带来巨大的沟通成本,从而导致项目进度受阻。
AngularJS的价值就在于此,AngularJS可以极好地规范前端开发的风格,AngularJS对前端开发进行分层,它将前端开发分为Controller层、Service层、DAO层和Model层,Model对象则与HTML页面(视图)上HTML元素进行双向绑定,这样开发者可通过Controller调用Service、DAO与后端交互,获取后端数据之后,只要修改其中Model对象的值,视图页面也会随之动态改变。这个设计架构层次非常清晰,而且具有一定的强制性,整个前端团队一旦采用AngularJS框架,那么整个前端开发风格会变得简单、清晰,所有团队成员都能采用一致的开发风格,这就是AngularJS的魅力所在。
Bootstrap则更像一个CSS框架,使用起来非常方便。对于大部分前端开发者,zui令人头疼的可能并不是如何实现某个界面,而是不清楚到底要实现什么界面?怎样的界面才能算得上优雅、美观?而Bootstrap正好解决了这个痛点,该框架提供了大量优雅、美观的CSS样式,开发者直接应用这些CSS样式即可实现优雅、美观的页面。从这个角度来看,Bootstrap的上手非常简单,甚至不要求开发者掌握JavaScript知识,只要开发者略懂CSS样式即可,因此Bootstrap完全是真正简单且强大的前端框架。
本书有什么特点
本书只是一本介绍前端开发的图书,不是一本关于所谓思想的书,更不是一本看完之后可以吹嘘、炫耀的书因为本书并没有堆砌一堆深奥的新名词、一堆高深的思想,本书保持了疯狂Java体系的一贯风格:操作步骤详细,编程思路清晰,语言平实。
本书带给读者的只是9个字:看得懂、学得会、做得出,本书并不能让你认识一堆新名词,只帮助你掌握扎实的企业前端开发基础。对于本书,光看是不够的,一定要做,阅读本书的同时,应该把所有知识点的配套示例都做出来,这样才能真正掌握本书的知识。
无论如何,读者在阅读本书时遇到知识上的问题,都可以登录疯狂Java联盟(http:www.crazyit.org)与广大Java学习者交流,笔者也会通过该平台与大家一起交流、学习。
除此之外,本书还有如下几个特点。
1.通俗易懂,适合自学
该书吸收了大量学习者的学习体会和心得,并重点讲解了学习过程中难以理解和掌握的知识点,降低了学习者的学习难度。
2.知识丰富,内容全面
本书全面、详细地介绍了jQuery 3.1、AngularJS 1.6、Bootstrap 3.3 3个框架,它们是企业开发中最主流的前端框架,具有很强的代表性。掌握本书内容即可具备扎实的前端开发功底。
3.深入实用,实践性强
本书并不是一本前端开发的入门图书,本书全面、深入地介绍了企业开发中zui主流、zui具代表性的前端框架,并将它们真正融入Java企业应用开发中,这对实际企业应用开发具有极好的指导意义。
本书写给谁看
本书并非针对零基础的读者,如果您具有HTML 5、CSS 3、JavaScript基础,认真学习此书即可让您成为前端开发的实战型人才;如果您已经阅读过本书上篇:《疯狂HTML 5CSSJavaScript讲义》,阅读本书非常合适。如果您完全没有HTML、CSS、JavaScript基础知识,建议您暂时不要购买、阅读此书。
2017-07-28
|
|