本書以Web應(yīng)用系統(tǒng)的全棧開發(fā)為主線,對界面設(shè)計、網(wǎng)頁制作、頁面美化、腳本交互、Web及移動APP前端開發(fā)、服務(wù)器后端開發(fā)、Web Service開發(fā)等目前分布式Web應(yīng)用程序設(shè)計所需的主要技術(shù)進(jìn)行講解,并通過實(shí)例進(jìn)行操作演示。
本書的編寫融入了軟件工程的規(guī)范與要求,知識結(jié)構(gòu)嚴(yán)謹(jǐn),內(nèi)容由淺入深,第1-4章介紹Web前端開發(fā),第5-6章介紹服務(wù)器端開發(fā),第7章介紹移動Web應(yīng)用程序開發(fā),第8章通過一個綜合性實(shí)例介紹完成分布式Web應(yīng)用程序的實(shí)現(xiàn)與通信。
1.本書從分析Web應(yīng)用系統(tǒng)項(xiàng)目實(shí)施的流程入手,研究所涉及工作崗位對應(yīng)的工作職責(zé)、能力要求和達(dá)到目標(biāo)等要素,用模塊化的方式將系統(tǒng)開發(fā)過程中的知識組織起來,精煉重要知識,形成一個合乎邏輯、螺旋上升的知識鏈條。
2.本書以設(shè)計制作分布式Web應(yīng)用系統(tǒng)為主線,從Web應(yīng)用前端、Web應(yīng)用后端和移動APP開發(fā)三方面展開,涵蓋Photoshop、HTML5、CSS3、JavaScript、PHP、MySQL、WebService、jQuery Mobile、Ajax、軟件工程等方面的知識。
龍軍,教授,長期從事計算機(jī)軟件相關(guān)課程教學(xué),近幾年主要講授Web應(yīng)用程序開發(fā)、移動技術(shù)應(yīng)用開發(fā)、移動Web開發(fā)、Android應(yīng)用程序開發(fā)、ASP.NET程序設(shè)計等課程。
第1章 Web應(yīng)用系統(tǒng)基礎(chǔ)——如何進(jìn)行Web應(yīng)用系統(tǒng)開發(fā) 1
1.1 什么是分布式Web應(yīng)用系統(tǒng) 1
1.1.1 幾個基本概念 1
1.1.2 分布式Web應(yīng)用系統(tǒng)開發(fā)工具 3
1.2 Photoshop 9
1.2.1 Photoshop入門 9
1.2.2 Photoshop的常用操作 14
1.2.3 Photoshop案例應(yīng)用 18
1.3 軟件工程 29
1.3.1 軟件開發(fā)過程 29
1.3.2 結(jié)構(gòu)化需求分析與設(shè)計 35
1.3.3 面向?qū)ο蠓椒▽W(xué)與UML 39
1.4 練習(xí)題 44
第2章 Web應(yīng)用網(wǎng)頁設(shè)計——HTML5 46
2.1 HTML5基礎(chǔ) 46
2.1.1 HTML基本概念 46
2.1.2 HTML標(biāo)記格式 48
2.1.3 HTML5文件基本結(jié)構(gòu) 48
2.1.4 網(wǎng)站的建設(shè) 50
2.2 HTML5常用標(biāo)記 51
2.2.1 HTML5文件結(jié)構(gòu)與語義標(biāo)記 51
2.2.2 HTML屬性與事件 52
2.2.3 文字與段落標(biāo)記 56
2.2.4 列表標(biāo)記 59
2.2.5 圖片標(biāo)記 60
2.2.6 內(nèi)聯(lián)框架 62
2.2.7 注釋與特殊符號 63
2.3 在網(wǎng)頁中嵌入多媒體內(nèi)容 63
2.3.1 HTML5多媒體技術(shù)概述 63
2.3.2 加載多媒體資源 64
2.3.3 與標(biāo)記的方法和事件 68
2.4 超鏈接 71
2.4.1 什么是超鏈接 71
2.4.2 超鏈接的用法 72
2.4.3 網(wǎng)頁中的特殊超鏈接 73
2.5 表格 74
2.5.1 表格的基本標(biāo)記 74
2.5.2 表格及單元格屬性 74
2.5.3 合并單元格 76
2.6 表單 77
2.6.1 創(chuàng)建表單 77
2.6.2 表單的輸入組件 79
2.6.3 表單的列表組件 83
2.6.4 表單的選擇組件 84
2.6.5 表單的按鈕組件 85
2.6.6 表單的其他組件 86
2.6.7 表單的驗(yàn)證 88
2.6.8 表單的應(yīng)用實(shí)例——會員注冊 93
2.7 練習(xí)題 96
第3章 Web應(yīng)用網(wǎng)頁美化——CSS3 97
3.1 CSS基礎(chǔ) 97
3.1.1 了解CSS 97
3.1.2 創(chuàng)建CSS 98
3.2 CSS語法 102
3.2.1 CSS語法——類型 102
3.2.2 CSS語法——背景 106
3.2.3 CSS語法——區(qū)塊 110
3.2.4 CSS語法——方框 114
3.2.5 CSS語法——邊框 121
3.2.6 CSS語法——列表 124
3.2.7 CSS語法——定位 126
3.2.8 CSS語法——擴(kuò)展 129
3.2.9 CSS語法——過渡 133
3.3 練習(xí)題 138
第4章 Web應(yīng)用程序交互——JavaScript語言 139
4.1 JavaScript的語法和語句 139
4.1.1 JavaScript基本常識 139
4.1.2 數(shù)據(jù)類型和變量 141
4.1.3 運(yùn)算符和表達(dá)式 142
4.1.4 語句 145
4.2 JavaScript函數(shù) 150
4.2.1 函數(shù)的使用 150
4.2.2 JavaScript的內(nèi)置函數(shù) 152
4.3 JavaScript對象 157
4.3.1 自定義對象 157
4.3.2 內(nèi)置對象 158
4.3.3 瀏覽器對象 166
4.4 JavaScript DOM 171
4.4.1 DOM 171
4.4.2 操作HTML元素 172
4.4.3 JavaScript事件 173
4.5 練習(xí)題 177
第5章 Web應(yīng)用程序設(shè)計——PHP+MySQL 178
5.1 Web應(yīng)用程序開發(fā)基礎(chǔ) 178
5.1.1 網(wǎng)絡(luò)應(yīng)用程序基礎(chǔ)架構(gòu) 178
5.1.2 Web應(yīng)用程序開發(fā)簡介 179
5.1.3 HTTP基礎(chǔ) 180
5.1.4 PHP概況 185
5.1.5 PHP Web應(yīng)用環(huán)境配置 186
5.2 PHP語言基礎(chǔ) 193
5.2.1 PHP基礎(chǔ)語法 193
5.2.2 PHP生成HTML 197
5.2.3 變量的概念 197
5.2.4 內(nèi)置變量 198
5.2.5 字符串 199
5.2.6 數(shù)組 200
5.2.7 流程控制語句 202
5.3 Web應(yīng)用數(shù)據(jù)采集與表單操作 208
5.3.1 表單的概念 208
5.3.2 $_GET和$_POST方法 209
5.3.3 表單數(shù)據(jù)處理 211
5.4 PHP數(shù)據(jù)庫操作 211
5.4.1 PHP數(shù)據(jù)庫操作概述 211
5.4.2 MySQL數(shù)據(jù)庫管理 212
5.4.3 表記錄更新 217
5.4.4 PHP操作MySQL數(shù)據(jù)庫流程 218
5.4.5 MySQL數(shù)據(jù)庫操作 219
5.5 練習(xí)題 224
第6章 Web應(yīng)用程序橋梁——基于REST風(fēng)格的Web API 225
6.1 Web API基礎(chǔ) 225
6.1.1 RESTful Web API簡介 225
6.1.2 JSON簡介 228
6.1.3 REST服務(wù)編程 228
6.2 基于Ajax的API的請求 232
6.2.1 Ajax與XMLHttpRequest
對象 232
6.2.2 異步通信超時控制 234
6.3 練習(xí)題 239
第7章 移動Web應(yīng)用程序開發(fā)——HTML5+jQuery Mobile 240
7.1 移動應(yīng)用程序開發(fā)模式 240
7.1.1 移動應(yīng)用程序開發(fā)的3種模式 240
7.1.2 Native App與Web App比較 241
7.1.3 智能手機(jī)瀏覽器 241
7.1.4 基于Web的App開發(fā) 242
7.2 網(wǎng)頁存儲Web Storage 242
7.2.1 Web Storage的分類 242
7.2.2 檢測瀏覽器是否支持
Web Storage 243
7.2.3 使用sessionStorage 243
7.2.4 使用localStorage 244
7.2.5 Web Storage應(yīng)用 244
7.3 HTML5本地數(shù)據(jù)庫 246
7.3.1 IndexedDB的使用 246
7.3.2 Web SQL Database的使用 250
7.4 jQuery和jQuery Mobile 254
7.4.1 jQuery 254
7.4.2 jQuery Mobile 257
7.5 jQuery Mobile事件 265
7.5.1 頁面事件 265
7.5.2 觸摸事件 268
7.6 jQuery Mobile插件 269
7.6.1 表格排序插件tablesorter 269
7.6.2 滑動導(dǎo)航菜單插件mmenu 271
7.6.3 日期時間插件DateBox 271
7.6.4 文件上傳插件ajaxFileUpload 272
7.7 練習(xí)題 274
第8章 Web應(yīng)用系統(tǒng)綜合開發(fā)——HTML5+PHP+MySQL 275
8.1 軟件工程管理 275
8.1.1 軟件工程管理概述 275
8.1.2 軟件項(xiàng)目估算 275
8.1.3 進(jìn)度計劃與人員組織 276
8.2 軟件系統(tǒng)開發(fā)流程 277
8.2.1 開發(fā)流程圖 277
8.2.2 過程產(chǎn)物及要求 278
8.2.3 過程說明 278
8.3 系統(tǒng)設(shè)計 280
8.3.1 可行性分析 280
8.3.2 需求分析 280
8.3.3 數(shù)據(jù)需求分析 281
8.3.4 系統(tǒng)/子系統(tǒng)設(shè)計(結(jié)構(gòu)設(shè)計) 282
8.3.5 軟件(結(jié)構(gòu))設(shè)計 282
8.3.6 數(shù)據(jù)庫(頂層)設(shè)計 283
8.4 Web應(yīng)用系統(tǒng)整體架構(gòu)實(shí)現(xiàn) 283
8.4.1 基于PHP的分布式系統(tǒng)架構(gòu)設(shè)計 283
8.4.2 基于PHP的分布式系統(tǒng)制作流程 285
8.5 軟件測試基礎(chǔ) 300
8.5.1 軟件測試的基本概念 300
8.5.2 軟件測試模型 301
8.5.3 測試用例設(shè)計 302
8.5.4 黑盒測試 303
8.5.5 白盒測試 303
8.6 項(xiàng)目運(yùn)行結(jié)果 304
8.6.1 計算機(jī)Web應(yīng)用程序界面 304
8.6.2 手機(jī)Web App界面 305
8.6.3 手機(jī)Android App界面 307
8.7 練習(xí)題 316