概述

Web应用,俗称网站,随着网络技术的进步逐渐变得越来越多,功能越来越强大,受众面越来越广。那么一个Web应用是如何被开发出来的呢?

随着Web开发技术日新月异,如果你在2017年第一次接触Web开发,就会发现扑面而来的是各种各样的技术和框架,也许有如下疑问充斥着你的脑海:

  1. 学什么?
  2. 怎么学?
  3. 这些框架是如何组合成一个应用的?
  4. 先学习好JavaScript还是先学习好一个框架做出东西?
  5. 我现在懂一些简单的HTML,CSS和JS了,然后呢?

本书的初衷就是从一个Web开发自学者的角度来为这些问题给出一个方案。

准备

你应该能够看懂基本的HTML,CSS和简单的JavaScript。

会讲什么

  • 围绕一个简单的Todo List的Node应用展开讲解,随着对它进行功能扩展而探索Web开发从前端到后端的方方面面。
  • 尽可能不使用框架(只用了Babel转码器和测试框架Mocha),用原生的方式对应用进行开发,让读者了解框架存在的意义。

不会讲什么

  • 实现的语法,ES5和ES2016的区别。
  • 语言的具体细节,例如用函数声明和函数表达式声明函数的具体区别。
  • 语言api的实现原理,例如Node.js的各种模块。
  • 不同操作系统上带来的差异。

目录

  • 第1章:Web应用的基本架构
    • 我们看到的是什么
    • 何谓前后端
    • 动静有别
    • 基本架构
  • 第2章:静态页面的构成
    • HTML
    • CSS
    • JavaScript
    • 静态资源
  • 第3章:成为可访问的页面
    • 什么是HTTP
    • 一个HTTP的组成
    • 一个HTTP请求的旅行
    • 使用Node.js编写后端应用
  • 第4章:数据持久化
    • 数据存放在哪里
    • 数据库
    • 对象关系映射和对象文档映射
    • 用Mongoose存储你的数据
  • 第5章:代码复用
    • NPM
    • 用模块化管理你的应用
    • 异常处理
    • 单元测试
    • 模块化的服务端应用
  • 第6章:前后端通信
    • Ajax
    • 异步操作
    • RESTful风格的路由
    • 重构后端项目
  • 第7章:状态保持方案
    • Cookie
    • Session
    • WebStorage
  • 第8章:数据安全与加密策略
    • 不安全的数据传输
    • HTTPS
    • 拖库和撞库
  • 第9章:数据为核心的前端架构
    • 搭建工作流
    • 理想的数据更新方式
    • 写一个简单的MVVM
    • 跑通前后端数据交换
  • 第10章:了不起的UI
    • 使用CSS预处理器
    • 挑选配色
    • 响应式
    • 栅格系统
    • 动手写UI
    • 绑定数据