新書推薦:
《
股票大作手回忆录
》
售價:HK$
55.8
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
《
国术健身 易筋经
》
售價:HK$
33.4
《
古罗马800年
》
售價:HK$
188.2
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:HK$
66.1
《
控制权视角下的家族企业管理与传承
》
售價:HK$
87.4
《
冯友兰和青年谈心系列
》
售價:HK$
167.3
|
編輯推薦: |
《移动Web应用开发教程HTML5 JavaScript框架全栈App开发》系统地讲解移动web应用开发的*技术,从简单的BS应用原理开始,到*的HTML5技术规范,从各种复杂的移动开发框架,精选一两个流行的框架做为入门,通俗易懂。
|
內容簡介: |
本书全面介绍了Web移动应用开发的基本技术,从HTML 4.01 CSS JavaScript的网站开发基础到*的HTML 5的移动特性,CSS 3新特征,增强的JavaScript API,流行的Web移动应用开发框架BootStrap,jQuery Mobile,AngualrJS,NoSQL的MongoDB数据库和Node.js全栈开发,及Web混合(Hybrid)应用开发框架PhoneGapCordova,把Web的应用重新打包编译成为Android App或iOS App。 全书共分为5篇: 第1~4章为基础篇,着重介绍HTML的结构和基本元素,CSS样式布局和JavaScript语言的编程技术; 第5~17章为进阶篇,着重讨论*发布的HTML 5标准的特性,语义化元素,微数据微格式,新的表单元素和属性,Web字体,画图,文件与拖放技术,音频视频播放技术,客户端数据存储和数据库技术,离线应用,Web Socket通信与多线程技术。同时,也介绍了CSS 3的新特征,包括透明度、圆角、阴影、背景图、渐变、过渡和变换特效,及复杂的CSS 3选择器; 第18~24章为移动篇,重点介绍与Web移动开发相关的主要技术,包括移动Web响应式设计和BootStrap框架,移动UI设计与jQuery Mobile类库,移动测试方法,及移动硬件接口编程,例如,地理位置信息、移动设备方向接口、屏幕方向接口和摄像头接口的编程; 第25章为全栈篇,利用前面所学的知识(HTML CSS JavaScript),通过MEAN(MongoDB Express AngularJS Node.js)框架整合技术,介绍了一个完整的Web应用开发过程,包括浏览器端和服务器端的开发(BS模式)及MVC架构的开发方法; 第26~36章为实训篇,介绍了10个Web移动开发实验,包括移动开发环境搭建与测试,地理位置与地图,WebSocket通信,浏览器、多媒体播放器制作,响应式Web移动设计,UI设计,游戏,PhoneGapCordova及MEAN全栈开发实验。本书提供了大量应用实例代码,每章后均有拓展练习。 本书适合作为应用技术型高等院校计算机、软件工程专业高年级学生选用教材,同时也适合从事CS软件开发人员转行到BS模式的Web应用开发,或从传统的网站开发转行到Web移动应用开发,及广大软件编程爱好者作为参考学习用书。
|
目錄:
|
目录
基础篇
第1章Web开发概念和构架
1.1静态网页与动态网页
1.2描述标记语言与脚本语言
1.3解释语言与编译语言
1.4跨操作系统平台语言
1.5软件开发构架
1.5.1服务器端与客户端软件构架CS
1.5.2WebBS的软件构架
1.6HTTP
1.6.1HTTP请求包
1.6.2HTTP响应包
1.7Web应用的开发环境
1.7.1Web服务器
1.7.2浏览器
1.7.3代码编程工具
练习
第2章HTML基本结构
2.1最简单的HTML页面结构
2.2HTML基本语法
2.3HTML标签与属性
2.4HTML特殊符号与转义符
2.5HTML网页的语言定义
2.6HTML标签元素的属性详解
2.7HTML常用标签
2.7.1form表单标签
2.7.2table表格标签
2.7.3div和span区块标签
2.7.4img图像标签
2.7.5a超级链接标签
2.7.6ul和ol列表标签
练习
第3章HTML CSS样式
3.1CSS样式表
3.2CSS的语法
3.3CSS样式结构
3.3.1内联样式表
3.3.2内部样式表
3.3.3外部样式表
3.4CSS选择器
3.5选择器组合定义
3.6CSS颜色、长度和字体单位
3.6.1颜色单位
3.6.2长度单位
3.6.3字体单位
3.6.4CSS字体定义
3.7CSS盒子模型
3.8网页设计的忠告
练习
第4章HTML CSS JavaScript
4.1JavaScript语言
4.2JavaScript的基本语法
4.3JavaScript的结构
4.4JavaScript函数详解
4.5JavaScript的DOM技术
4.6JavaScript的面向对象编程
4.6.1内置对象
4.6.2原生对象
4.6.3宿主对象
4.6.4创建对象和访问对象属性方法
4.7JavaScript事件驱动
4.8JavaScript的AJAX异步通信技术
4.9JSON: JavaScript对象表示法
4.9.1JSON的特性
4.9.2JSON的语法
4.10JavaScript的jQuery框架
4.11JavaScript和jQuery代码风格
练习
进阶篇
第5章HTML 5概要
5.1HTML标准制定时间表
5.2HTML 5的发展
5.3HTML 5在移动领域的应用
5.4HTML 5 CSS 3 JavaScript规范新特性
5.5HTML 5与浏览器
5.6HTML 5验证及回退机制
5.6.1HTML 5功能验证
5.6.2HTML 5的回退机制
练习
第6章HTML 5网页布局新元素
6.1语义化标签元素
6.2HTML 5文档纲要
6.3分节分块元素
6.4section元素
6.5article元素
6.6aside元素
6.7nav元素
6.8details和summary元素
6.9figure和figcaption元素
6.10address与footer元素
6.11meter元素
6.12progress元素
6.13time元素
6.14非英语的国际化元素
6.15其他语义化元素
6.16语义化标签小结
练习
第7章微格式与微数据的语义化布局
7.1格式化数据
7.2微数据
7.2.1微数据标记
7.2.2微数据词汇表
7.2.3微数据取值
7.2.4访问微数据
7.2.5微数据的应用
7.3微格式
7.3.1标记微格式数据
7.3.2微格式工具
7.3.3微数据与微格式比较
7.4data*自定义数据
7.4.1用dataset对象访问自定义数据
7.4.2用getAttribute和setAttribute访问自定义数据
7.4.3dataset和getAttribute的区别
7.4.4data*自定义属性与CSS
7.4.5data*自定义属性的应用范围
练习
第8章深入了解CSS 3
8.1CSS 3介绍
8.2新CSS 3的属性命名
8.3CSS 3的指令@及函数url
8.4CSS 3的盒子特效
8.4.1透明度
8.4.2圆角
8.4.3阴影
8.4.4背景图
8.4.5渐变
8.4.6过渡
8.4.7变换
8.5CSS 3的复杂选择器
8.5.1元素属性选择器
8.5.2元素属性值选择器
8.5.3伪类选择器
8.5.4伪元素选择器
8.5.5伪类与伪元素的区别
练习
第9章HTML 5表单
9.1增强特性
9.1.1占位符
9.1.2自动聚焦
9.1.3自动完成数据列表
9.2新的input的type类型
9.2.1数字
9.2.2日期时间
9.2.3Email、URL、颜色和搜索
9.3表单新元素
9.3.1生成密钥
9.3.2表单输出
9.4表单验证
9.4.1表单验证属性
9.4.2表单验证样式
9.4.3自定义表单验证非法信息提示
9.5HTML标签元素内容可编辑属性
练习
第10章Web字体与排版
10.1Web字体
10.2Web字体格式
10.3Web字体的导入
10.4Web字体的使用
10.5使用Web字体问题
10.6排版中的字体属性
10.7排版中的行高
10.8排版中的特殊符号
10.9排版分栏
练习
第11章画图
11.1画图功能
11.2canvas画布
11.3画线
11.3.1画线外观
11.3.2图形形状路径与填充
11.4画矩形
11.5图形的清除
11.6画弧线与圆
11.7画曲线
11.8变换、渐变、透明度与阴影
11.8.1渐变
11.8.2变换
11.8.3透明度
11.8.4阴影
11.9画布插入文字、图片及图案
11.9.1画布插入文字
11.9.2画布插入图片
11.9.3画布插入图案
11.10关于3D绘图、动画和矢量图
11.10.13D绘图
11.10.2动画
11.10.3矢量图
练习
第12章文件与拖放技术
12.1File文件
12.2HTML的文件操作
12.3File API读取文件属性
12.4FileReader读文件的方法和事件
12.5读取图片和文本文件操作
12.6通过AJAX上传文件
12.7拖放
12.7.1拖放对象属性draggable
12.7.2拖放对象与目标地
12.7.3拖放事件的产生
12.7.4拖放事件的处理过程
12.7.5浏览器外部的拖放
练习
第13章History API
13.1浏览器翻页与URL地址
13.2浏览器翻页与AJAX技术
13.3History对象与浏览器翻页
练习
第14章视频音频播放
14.1浏览器播放视频音频
14.2视频音频格式及转换
14.3视频音频的标签元素
14.3.1video和audio标签元素
14.3.2source标签
14.3.3track标签
14.4JavaScript API控制播放
练习
第15章客户端数据存储
15.1数据存储
15.1.1数据存储方式比较
15.1.2Cookie与Web本地存储比较
15.2Web本地数据存储
15.2.1localStorage和sessionStorage对象
15.2.2Web存储的事件处理
15.2.3保存其他数据类型
15.3数据库存储
15.3.1Web SQL
15.3.2IndexedDB
练习
第16章离线应用
16.1离线应用概述
16.2离线应用原理
16.3创建缓存清单
16.4离线应用事件与缓存更新
16.5Web服务器设置
练习
第17章WebSocket通信与Workers多线程
17.1Web通信
17.2WebSocket通信方式
17.3专用的WebSocket服务器
17.4WebSocket客户端编程
17.5Workers多线程编程
17.6Workers的编程实现
17.7Workers编程注意事项
练习
移动篇
第18章Web移动应用新领域
18.1Web移动应用的发展概况
18.2移动App与桌面App
18.3Web App与Native App
18.4移动Web开发设计方法及优化
18.4.1前端开发模式
18.4.2后端开发模式
18.4.3响应式Web设计
18.4.4单页面应用
18.4.5混合式应用
18.4.6移动Web开发优化
练习
第19章移动Web响应式设计
19.1关于视口、像素和分辨率
19.1.1屏幕分辨率、像素、像素密度与CSS问题
19.1.2视口
19.2媒体查询选择器
19.2.1Media媒体查询
19.2.2viewport的缩放技术
19.2.3使用viewport的效果比较
19.3流体网格布局
19.3.1网格布局
19.3.2将CSS的块单位从像素变成百分数
19.3.3字体的流式布局
19.4动态图片处理
19.5BootStrap一个Web响应式框架
练习
第20章移动Web UI设计
20.1人机交互的UI设计
20.1.1人机交互的发展
20.1.2移动设备的交互特殊性
20.2菜单、导航与标签栏
20.3图标、按钮拟物化设计与扁平化风格
20.4表单
20.5表格
20.6jQuery Mobile类库
20.6.1jQuery Mobile的设计风格
20.6.2jQuery Mobile UI控件
20.6.3jQuery Mobile移动事件
练习
第21章地理位置检测
21.1地理位置信息
21.2地理位置检测方法
21.3Geolocation API
21.4地理位置与地图接口
21.4.1腾讯地图的URI API
21.4.2百度地图服务的URI API
练习
第22章移动设备其他功能接口
22.1摄像头API
22.2设备移动方向API
22.2.1设备方向与alpha、beta、gamma定位值
22.2.2deviceorientation事件编程接口
22.2.3设备移动
22.2.4devicemotion事件编程接口
22.2.5指南针Compassneedscalibration事件
22.3屏幕方向API
22.3.1全屏模式
22.3.2读取屏幕模式
22.3.3锁屏接口
22.3.4浏览器支持
练习
第23章移动混合Hybrid应用开发
23.1Web、Native和Hybrid App的比较
23.2PhoneGapApache Cordova
23.3PhoneGap开发环境
23.4PhoneGap的基本架构
23.5PhoneGap的API
23.6PhoneGap App开发调试
23.7IonicHtml Angular.js Cordova介绍
23.8React NativeJS CSS介绍
练习
第24章移动Web应用测试方法
24.1搭建测试环境
24.1.1Web服务器
24.1.2浏览器
24.1.3网络连接
24.1.4移动模拟器
24.2桌面浏览器与移动浏览器
24.2.1移动浏览器
24.2.2渲染引擎
24.2.3浏览器识别
24.3通过桌面浏览器做移动测试
24.3.1专用HTTP测试工具
24.3.2使用开发者工具
24.3.3修改桌面浏览器用户代理
24.4移动设备模拟器
24.4.1在线模拟网站
24.4.2模拟器软件
24.4.3浏览器插件的移动模拟器
24.4.4厂商SDK开发工具包自带模拟器
24.4.5虚拟机下的模拟器
24.5远程测试
24.6Web软件测试范围
24.6.1单元测试
24.6.2端到端测试
24.6.3UI与浏览器兼容测试
24.6.4性能测试
24.6.5安全要求
练习
全栈篇
第25章全栈Web开发
25.1Web开发三层软件架构
25.2全栈Web开发的三层软件架构
25.3Node.js
25.3.1Node.js语法规范
25.3.2Node.js构建简单的Web服务器
25.3.3Node.js的非阻塞IO,异步编程和事件驱动
25.3.4JavaScript函数的闭包与自我调用
25.3.5构造一个静态资源的Web服务器
25.3.6Node.js路由功能
25.3.7Node.js的模块化编程
25.4Web框架Express
25.4.1Express的路由
25.4.2Express的中间件
25.4.3Express的模板引擎
25.5AngularJS框架
25.5.1RESTful架构
25.5.2AngularJS的单页应用
25.5.3模块化编程和依赖注入
25.5.4AngularJS的指令、视图和模板
25.5.5作用域、模板和数据模型
25.5.6Angular的路由
25.5.7AngularJS的控制器
25.6MongoDB数据库
25.6.1用MongoDB驱动连接数据库
25.6.2用Mongoose模块连接数据库
25.7MEAN: 一个简单的全栈Web应用
25.7.1RESTful API设计
25.7.2AngularJS前端设计
25.7.3服务器后端设计
练习
实训篇
第26章实训准备团队学习模式
26.1团队合作学习
26.2学习小组组成
26.3小组管理
26.4小组考核
练习
第27章移动开发环境搭建实验
27.1实验目的
27.2实验环境及工具
27.3实验方法
27.3.1Apache Web服务器介绍
27.3.2安装WAMP服务器
27.3.3Web代码编辑器
27.3.4手机访问Apache Web服务器
27.3.5用浏览器开发者工具
27.4实验拓展
第28章响应式Web设计实验
28.1实验目的
28.2实验环境及工具
28.3实验方法
28.3.1Responsive移动布局CSS值改变
28.3.2Responsive移动优化、媒体查询
28.3.3Responsive移动优化、视窗优化
28.3.4测试环境搭建与测试效果
第29章UI外观设计实验
29.1实验目的
29.2实验环境及工具
29.3实验方法
第30章多媒体音频视频实验
30.1实验目的
30.2实验环境及工具
30.3实验方法
第31章离线应用实验
31.1实验目的
31.2实验环境及工具
31.3实验方法
31.3.1离线应用缓存事件检查
31.3.2缓存文件资源检查
31.3.3Manifest文件本地缓存检查
31.3.4清除离线应用缓存
31.4实验拓展
第32章网络通信与本地数据存储实验
32.1实验目的
32.2实验环境与工具
32.3实验方法
32.3.1基于Node.js Socket.io的运行环境搭建
32.3.2浏览器开发者工具检查Web Socket
32.4实验拓展
第33章地理位置和其他传感器实验
33.1实验目的
33.2实验环境与工具
33.3实验方法
33.3.1编写一个应用
33.3.2测试
第34章游戏实验
34.1实验目的
34.2实验环境与工具
34.3实验方法
34.3.1游戏规则
34.3.2源码分析
第35章PhoneGap制作Hybrid App实验
35.1实验要求
35.2实验环境与工具
35.3实验方法
35.3.1Java SDK开发环境的安装
35.3.2Node.js下载安装
35.3.3安装Cordova和PhoneGap
35.3.4创建helloworld应用
35.3.5添加应用平台
35.3.6在浏览器端调试App应用
35.3.7安装Android SDK开发工具包
35.3.8通过AVD Manager安装一个模拟器
35.3.9在模拟器上运行helloworld项目
35.3.10在手机环境下运行helloworld项目
35.4实验拓展
第36章全栈Web开发实验
36.1实验目的
36.2实验环境与工具
36.3实验方法
36.3.1安装运行Node.js解释器
36.3.2一个最简单的HTTP服务器
36.3.3一个简单的AngularJS框架应用
36.3.4MongoDB数据库安装
36.3.5MongoDB的后台管理
36.4实验拓展
附录
参考文献
学习网站
术语解释
致谢
|
內容試閱:
|
前言
自从1981年IBM公司的PC问世,到1990年Internet从校园走向商业化,及2007年第一代Apple iPhone智能手机问世,计算机给人们的社会生活带来了新的革命,计算机已经不是仅作为数学运算的工具,它可以处理文字,处理图形数据,进行数据分析等各种工作,甚至可能成为智能机器人的核心部件。随着计算机的发展,也不断地产生各种学科领域。本书就是针对Web移动应用领域的一门新课程,基于互联网在移动设备上的Web应用开发教程。
早期的互联网仅用来传递信息、电子邮件,或者是网上阅读。在互联网上,浏览器看到的内容,也仅能叫作网站,根本不能与C语言或C语言开发出来的应用程序相提并论。例如,Sina网站、163网站,都是以内容服务为主的门户网站,更多的Web应用也就是博客和论坛及电子邮件服务。由于Web开发的网站所用的语言也是基于排版的标记语言,称为HTML,虽然加入了其他高级语言的支持来作为服务器端的脚本语言,例如基于Java的JSP、PHP、Ruby等,但是由于互联网带宽的影响,一直没有能达到传统应用系统的技术要求。
但是到了今天,情况大大不一样了。首先,网络技术的发展使得互联网带宽不断提高,移动技术的发展使得无线网络的带宽和有线网络带宽接近。同时,计算机的硬件发展,使得计算机性能不断提高,特别是移动CPU速度,运行一般的普通应用程序已经不是什么障碍了。今天一台智能手机的性能,都已经大大超过十年前的一个台式计算机。况且,现在的硬件设备和上网成本越来越低。更重要的是,人类社会的生活已经完全依赖于互联网,例如,网络购物、在线支付、在线银行等应用已经完全融入人们的生活。早期基于浏览器的Web网站是以内容为管理的系统,已经不适应社会的发展需要。人们开始要求更多的以浏览器为中心的互联网服务,所以,Web应用开始流行。人们开始习惯于用浏览器去网络商店购物,通过浏览器订机票火车票,通过浏览器处理个人的银行业务。到2007年,第一台智能手机iPhone问世,人类迈入移动互联网时代。今天,智能手机已经超越台式计算机,逐步普及,许多的基于台式计算机的Web应用开始移植到智能手机上。但是,由于基于浏览器的计算机语言的滞后发展,很多移植到智能手机上的应用都放弃了基于浏览器的框架应用(BS),而重新回到传统的CS应用框架上,并放弃了以HTML为主流语言的Web编程,而改用手机原生语言编程,例如,安卓的Java、苹果的CObjective。而作为浏览器的厂商,移动Web应用面临严重的生死存亡的考验。他们开始组建联盟,修改HTML规则,使HTML有着与其他高级计算机语言同样的功能,从而促使了HTML 5的诞生。所以说,本书提到的HTML 5技术,就是为移动设备而生的。这是一个新的领域,虽然还有许多问题需要解决,例如,基于浏览器应用的性能问题。HTML 5的新标准在2014年12月刚刚公布,就已经有很多IT巨头公司开始关注这一个领域,并把自己的很多移动应用采用基于HTML 5的框架来重写,例如,Facebook、Twitter等社交应用软件。
本书分为5大部分: 基础篇、进阶篇、移动篇、全栈篇和实训篇。基础篇主要回顾和巩固学习HTML CSS JavaScript传统网站开发的三种语言基础知识。为进一步更好地深入学习理解HTML 5做好准备。进阶篇,主要学习HTML 5的新特征,例如,语义化标签、微数据、微格式、Web字体、强大的表单元素和增强的属性。还介绍了CSS 3的新技术,例如,盒子模式的特效,有透明度、圆角、阴影、背景图、渐变、过渡和变换,这些特技以前都是靠复杂的JavaScript编程实现的,现在用一行CSS代码就可以了。在进阶篇还介绍了强大的JavaScript的编程接口扩展,例如,浏览器的音频视频播放API,完全可以替代传统的Flash外置播放器,WebSocket通信机制编程接口和Workers,JavaScript的多线程技术,及浏览器端本地数据库接口,解决了早期仅靠容量有限的Cookie存储技术。甚至,HTML 5的标准制定了JavaScript可以访问客户端的文件。移动篇主要讨论针对移动设备的JavaScript编程接口及方法,移动设备的优化,例如,响应式布局。还介绍了移动UI设计思想,及一些流行的JavaScript框架,如BootStrap和Mobile jQuery等,介绍移动Web应用的测试手段和方法。最后,介绍PhoneGapCordova混合(Hybrid)应用开发,把基于Web的应用转换成移动设备的原生应用,例如,Android App。全栈篇涉及服务器端脚本的编写。得益于Node.js的推出,让JavaScript这个前端辅助计算机语言成为一个全能语言,实现了让JavaScript在服务器上运行。结合前面学习的知识,利用最流行的MEAN开发架构,来开发一个完整的BS架构的Web应用。MEAN是由 MongoDB(NoSQL数据库) Express(Web模块) AngularJS(前端MVC框架) NodeJS(JavaScript服务器端运行环境)4个组合形成的Web开发架构,是对传统Web开发的LAMP(Linux Apache MySQL PHP)架构的新挑战。实训篇中,我们会鼓励学生组建学习小组,按照企业团队开发模式学习项目的开发,首先学会自己动手搭建移动开发环境,学习利用浏览器的开发工具,根据前面四个部分的学习内容,动手编写、修改和运行课程里面的应用实例代码,及做一些小的Web应用软件项目。有许多Web项目是开源的,可以在网上下载,通过修改这些开源代码来学习。通过实验,可以让学生接触更多的最新技术,掌握最新编程技能,达到培养应用型的人才的目标。
作为应用型技术大学的教程,本书侧重于编程技能的培养。所以,每一章都有大量的案例代码来辅助学习。与传统课程不同,应用技术型课程不是以应试为目的的,而是侧重于掌握实际技能,所以,每一章还有结合本书案例的课堂编程练习,让学生一边学习一边动手写代码,基本是以代码为驱动的学习模式。本书的读者对象,要求是具有面向对象编程基础及数据库知识的学生,准备提升进入Web移动应用领域开发的传统Web网站开发人员。
由于HTML 5在正式发布标准前,许多浏览器厂商如Firefox、Google Chrome、Opera、Safari 4 、IE 91011都已经有不同程度的支持HTML 5,但是并没有统一标准,所以在代码演示时,可能出现兼容问题,希望本书的学习者检查自己的开发环境,把浏览器安装版本升级到2015年以上,如果发生兼容问题,可以尝试用不同的浏览器做测试。大多数的代码都可以在台式计算机上完美运行,如果有些测试需要在手机上完成,也希望手机操作系统的版本是2015年以后发行的。由于本书引用了一些流行的JavaScript框架,例如,BootStrap、AngularJS等,这些新技术更新很快,作为新技术的入门引导,让学习者接触和了解行业的一些流行Web开发框架技术,虽然涉及这些框架的演示代码都是经过精心调试,可以正常运行,但是,如果遇到问题,可能是框架版本有重大变动,请到官网阅读更新文档,给代码做出相应调整,同时也锻炼自己分析问题、解决问题的能力。
本书的编写结构是由文字、图表和代码组成,图表有标题注释,代码配合文字说明,没有标题注释。课程提供完整的源代码,每一个章节的案例代码都有清晰的标注位置,方便读者很快找到源码做演示。
编者
2018年5月1日
|
|