简介:随着 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