如何选择基础设施

462 阅读2分钟

在进行项目开发的时候,我们经常会看到不同的项目框架。在项目进行选型的时候,不同的框架到底如何选?

在项目的开发的时候,我们选择底层基础设施的时候有很多的选择,这里提供一个思路:

  • 你的目的到底是什么?

在我自己开发项目的时候,基本上可以分为两种情况:

  1. 快速上线一个项目:比如我自己做的项目,一些短平快的工作相关的项目。
  2. 长期规划的项目:一些和朋友协作的项目,会有不少的顶层设计。

这两种场景下的核心诉求并不相同,因而我们在选择基础设施的时候,也需要选择不同的基础设施,以更快的达到自己的目的地。

举个例子,如果你是一个 Python 开发者:

当你的需求是快速上线一个项目,那么 Django 显然更加适合你。但如果你的需求是长期规划一个项目,你需要的是尽可能简单的基础设施帮助你处理一些写代码过程中的 dirty work ,在这种情况下,很显然,Flask、Tornado 会更适合你,这两个框架在帮你处理了 Dirty Work 的同时,还给你提供了尽可能多的自由,让你完成自己的设计。

那么问题来了,应该如何评估一个基础设施适合的场景?

最简单的方式就是去判断他的官方文档做的如何,对于一个适合快速上线项目的基础设施,他的文档一定是十分丰富的,包含了你在进行项目开发的适合所需要的各种东西。他为你提供了 Best Practice 来完成自己的工作,而不会让你困扰。

而对于长期规划的项目,特点是文档没有那么多,更多的一些 use case 都需要你自己去看底层的代码才知道。也不会给你一个所谓的 Best Practice ,让你自己有充分的空间让你自己操作。

对于我自己而言,我绝大多数的场景都需要快速实现某些东西,来完成自己脑海中的想法,因此,对于我来说,显然 Django 是比 Flask 更适合的。Django 可以让我把自己的精力都放在应用本身的核心功能上,而不是放在基础设施的建设上。不仅于 Python ,我选择 Vue,云开发之类的工具,也都是相同的逻辑,当你的目的是快速实现需求,那么选择这样的工具,显然是更好的。

最后,推荐一本我自己看的不错的书,来自前搜狐,现知乎程序员 the5Fire 的 《Django 企业开发实战》。