《奔跑吧,程序员》读书笔记04
继续技术栈的选择这一章,首先介绍应该怎样选择服务器框架。
首先我们在做某个项目时会思考是使用框架还是库,使用框架是
使用精简框架呢还是使用全栈框架。 在作者的论述和举例过后,
作者认为在大多数情况下使用全栈框架会是个不错的选择。因为
当我们选择了精简的框架或引用库文件来架构项目时,当我们的
项目在不断的优化和增加需求的过程中我们会在我们原有的框架
上不断的加入越来越多的库,在最终的成品中,项目大多有着这
样那样的bug或者性能上会不太理想。所以,不必担心最初选择
全栈框架所带来的“繁重”负担。
其次,服务器框架的选择还需要在以下几个方面进行考量:
- 适用问题
- 数据层
- 视图层
- 测试
- 可扩展性
- 部署
- 安全
还认为最主要的考虑因素是其社区规模,因为它影响我们招聘,寻
找学习资源,利用开源库寻找库和插件的能力。同时作者还罗列
出了近几年各个编程语言的流行框架:
- c#:.NET
- Java:Spring、Play Famework、DropWizard 、JSF、Struts
- JavaScript:express.js sails.js derby.js geddy.js
- PHP : Laravel Phalcon Symfony
- ......
在这方面作者首先介绍了关系型数据库,之后又介绍了NoSql数据
库,从多个角度说明了数据库选择时应该的侧重点。在读取数据方面
关系型和图形数据库对于通用目的的数据存储来说是较好的选择,
因为它们较为灵活的的查询模型可以处理大多数创业公司不断变化的
访问模式。其他的NoSQL数据库对于具有特定目的的数据存储来说
是不错的选择,因为它们 满足了一些特定的访问模式。
作者在为创业公司选择数据库时,着重强调了数据库的成熟度:
公司的数据是你业务中最重要的一部分。它存在的时间极可能比任何功能、任何应用、甚至公司本身还要长。你的数据相比于你的功能,你的代码而言,它是不可变的。所以数据的存储是相当重要的,故应用什么样的数据库是相当重要的。而往往数据存储技术需要花很长的时间才能成熟起来:通用的数据存储技术需要花十年才能走向成熟。
而刚好如今NoSQL的平均年龄即是10年。。。