简介:随着 web 开发越来越成熟,各种框架开始越发轻量好用,后端开发可以通过一些简单的包生成前端页面,前端开发也可以通过 node.js 这类新生代来参与后端开发。前后端开发注定会有一个交集,即最近几年风靡各类创业公司的全栈开发。本课以 python 为例,告诉大家如何通过 python + flask + html/css/js 来进行全栈开发,还有一个简单的实战案例。


一、课程目标

  • 了解前端开发基础知识
  • Python后端开发技术栈
  • 掌握Python Web全栈开发技能(前端+后端)

二、web前端开发介绍

1、HTML

超文本标记语言,不是编程语言,是一套标记标签,HTML使用标记标签来描述网页。

2、CSS

层叠样式表,定义如何显示HTML元素,可以内置于HTML文件中,专业的做法是独立存放。

3、JS

JavaScript,一种轻量级的高级编程语言,可插入HTML页面,服务于网页交互的前端编程语言。

4、HTML+CSS+JS 关系

HTML:定义了网页有哪些元素

CSS:定义了网页元素如何呈现

JS:定义了网页元素如何与用户产生交互

三、web后端开发介绍

后端开发技术栈构成

开发工具:sublime, vim, pycharm, ipython[notebook]

web框架:flask, django, web.py, web2py

数据库:mysql, redis, mongo

数据处理:pandas, numpy, scipy, sklearn

业务框架:spark, hadoop, AWS, docker

四、web开发标准流程

1、产品分析

  • 用户需求
  • 竞品分析
  • 市场调研

2、技术选型

  • 前端技术选型
  • 后端技术选型
  • 数据库
  • 业务框架(大数据?流媒体?)

3、开发实现

  • 前后端开发,测试
  • 前后端部署
  • 前后端升级
  • 业务框架

4、生产上线

  • 部署升级
  • 峰值处理
  • 成本优化
  • 警报处理

五、Python基础

1、概念及特点

解释型、面向对象、动态数据类型的高级程序设计语言

语言轻量化,依赖Python包做开发,生态库完善

2、Python的基础数据结构

字符串:str, unicode

列表:list(可变), tuple(不可变), set(集合,元素唯一性)

字典:dict(key-value映射,元素唯一性)

3、Python中的高级特性

迭代器

生成器

切片

4、Python中的函数式

def:自定义函数

lambda:匿名函数

functools.partial:函数封装

functools.wraps:装饰器

六、Python web应用程序结构

1、Python web开发框架

三者都非常好,没有最好,只有最适合

flask:简单,轻量,灵活性大

django:简单,比flask重,灵活性没有flask好,但时间长

web.py:简单,轻量,但不会再积极维护了

2、熟悉Python flask web开发标准

目录结构:配置,发布,资源,日志,测试

前端后端协作:整体发布,分离发布

3、Python中的技巧

汇总:http://litaotao.github.io/python-materials

常见技巧:

匿名函数

列表/字典推导式

列表/字典解析式

函数为第一公民的应用

七、总结

1、常见的前端开发框架

jQuery:一个成熟的客户端JavaScript库

bootstrap:优秀的CSS框架

Grunt:前端自动化工具,提高工作效率

Node.js:JavaScript也可以做后台,前端工程师地位更上一层楼

2、前端开发技巧

Chrome开发者工具:每一位前端开发必须熟练的工具

前端工程师花在调试上的时间远远大于后端工程师

八、案例

下载地址:https://github.com/litaotao/IPython-Dashboard