摘要: 在进行后端选型的时候,要选择的实际上是一个框架。后端领域所使用的技术和框架已经趋于稳定,我们只需要框架。当有多个框架适合时,再选择适合的语言。 本文选自《全栈应用开发:精益实践》。
JavaScript
- 使用 Node.js 作为后台语言,Express、Koa 等作为后台MVC 框架,再选择一个前端框架来实现前台。
- 使用基于浏览器内核的桌面应用Electron,加上Node.js 生态系统里的模块来实现桌面应用。
- 使用混合应用移动框架Cordova,混合应用框架Ionic 来实现跨平台的移动应用。
- 使用 Tessel 和Ruff 等硬件来开发移动应用。
- Express:是在Node.js 上最早的MVC 框架,它由Ruby上的轻量级框架Sinatra启发而来的。其框架本身封装了大量实用的功能,核心特性是使用中间件来处理HTTP 请求。
- Koa:是由 Express 的核心开发者基于 ES6 新特性打造的新框架。与Express相比,去除了一些框架自带的功能,更加轻量级,可以让开发者有更多的选择。
Python
Python 诞生得比较早,其语言特性是做事情只有一种方法,这个特点也决定了这门语言很简单。与JavaScript 相比,它仍是一门性价比非常高的语言,只是它不能在前端运行。
Python 是一门简洁的语言,有大量的数学、科学工具、人工智能的库,这意味着在不远的将来它会发挥更大的作用。同时在Web 开发领域也有广泛的应用,除了正常的Web开发,它还在网络爬虫中广受欢迎。
同样,在Python 语言里也有两个不错的框架可以选择,其中的Django 是重量级框架,Flask 则是轻量级框架。
- Django:最早是被应用于内容管理系统而开发的,其框架里自带了相当多的组件:ORM、表单序列化及验证系统、后台系统、缓存框架、中间件支持等。在其官网上宣称是:The Web framework for perfectionists with deadlines,它既可以满足完美主义者,又可以在截止期限前交付软件。
- Flask:是一个轻量级的框架,它只有简单的核心部分。换句话说,你可以按自己的需要添加ORM、用户认证、文件上传等功能。在今天来看,它的生态系统也相当丰富,可以完成绝大部分功能。
Java
- Spring MVC:是由 Spring 框架提供的构建 Web 应用程序的全功能 MVC模块。由于框架本身高度可配置,即可以直接使用编写 XML 而不是 Java 来实现功能。它是一个典型的 MVC 框架,并且也是一个纯正的servlet 系统。
- Spring Boot:其作用在于创建和启动新的基于 Spring 框架的项目。系统本身做好了对不同框架的配置与集成,我们只需要对其配置,并编写少量的代码即可。
如果你正在考虑使用 Spring 框架,建议使用 Spring Boot。