框架和库介绍
要想真正的做东西,只了解语言特性是不够的。即使简单的 hello world 程序也需要 print 的支持。
标准库和第三方库
在现代语言中都会随语言一并听过一些框架、库和工具。他们通常被称为标准库,这有三个好处:
- 提高语言的学习体验,省去到处找第三方库才能够真正的做点什么的时间
- 避免多个实现竞争同一个生态位导致的兼容性问题
- 补足语言早期社区不活跃而导致的生态缺失
但标准库的选择也应当谨慎,一旦标准库提供的过于广泛就会导致社区不在倾向于探索更好的解决方案。因此标准库一般只覆盖最基本和最核心的工具。
Tips
标准库负责的越少,语言早期越难过可能会胎死腹中(或很小众),但也可能社区非常繁荣
框架和库的区别
库和框架都是解决一类问题而出现的,不过他们之间也有很大的区别:
- 库更像是一套工具,对于应用的整体结构基本没有约束,通常解决一类问题
- 框架则严格的多,通常框架必须按照某种方式组织你的应用,他们通常都会有一个脚手架工具来创建模版来开始
Tips
像 scrapy 就是一个框架,它开始要执行 scrapy startproject <projcct>
来创建一个应用。而 requests 就是一个库,没有什么使用限制(通常 也叫模块、包等)
一般来说,在解决特定问题时,约束越强的工具往往开发效率越高,因为约束相当于让框架作者更多地了解你的应用,并给你提供更多帮助。不过一旦框架不在提供对应的功能就会非常别扭,因此绝大多数使用框架的过程就是处理这些事情。