《VUE+Django:手把手教你打造自己的电商独立站》专栏写作大纲 《VUE+Django:手把手教你打造自己的电商独立站》1.2 前端技术选型
后端技术主要随着服务器处理性能的发展而演变。早期公有云服务还没有诞生的年代,互联网大厂都是自己建设数据中心,由于服务器硬件资源昂贵,软件就必须尽可能的榨取硬件的每一丝潜力。C++ 以其高性能、代码复用等关键能力,成为后台开发的主力语言。当时腾讯、百度、华为都主要使用 C++。
第一代 web 后台开发主流技术是 PHP,它诞生于 1994 年,最初只是一个追踪在线简历访问量的工具,逐步发展为后台开发的主流语言,当时互联网主流的架构是 LAMP 架构(Linux-Apache-MySQL-PHP)。后来随着在线电商平台的兴起,Android 手机普及,大数据出现,推动 JAVA 技术栈发展,JAVA 成了互联网主流后台编程语言。
随着云计算时代到来,云原生计算兴起,Go 语言生态快速发展,由于能够兼顾性能和开发速度,越来越多企业在生产中使用 Go 语言落地业务,目前很多大厂 后台开发语言已经开始转向 Go。
人工智能发展,也推动 Python 语言发展,简单,上手快,开发效率高,成了一些不是特别关注极致性能后台组件的企业的首选开发语言。
由于安全性,稳定性越发重要,Rust 有可能成后台关键组件开发语言,兼顾性能和内存安全性,用来替换后台系统核心的 C++ 组件,但更多是在操作系统组件部分
Java、Python、Go、Rust 都是后端开发者优先考虑学习的编程语言。当前最主要的后端技术包含了 java 和 python。java 以其标准化、高性能作为大厂的首选。而Python 由于语法简单,对工程师来说更容易上手,以及相关框架的迅速发展,也逐渐成为中小企业的首选。
本系列文章以 python 语言为例讲述后端开发流程,常见的 python 后端框架包括 Django、Flask 和 Tornado。开发过程涉及的各种主要技术如下所示。
1.3.1 Django
Django 诞生于 2003 年秋天,那时 Lawrence Journal-World 报纸的程序员 Adrian Holovaty 和 Simon Willison 在维护几个新闻站点,报社的记者们通常要求在几小时内就发布热点新闻,为了满足这个快节奏的需求,两人决定开发一个框架。
2005 年,这个框架开发完成并被开源。Django 的 D 不发音。框架特点是大而全,包含全自动化的管理后台。只需要使用 ORM,做简单的对象定义,就能通过管理命令自动生成数据库结构、以及全功能的管理后台。Django 是基于 python 语言开发的开源 Web 应用框架。便利性和可重复性好使得在国内很多网站都有用到 Django,很多专门开发网站的建站公司也大量利用模板进行改编。
1.3.2 Flask
Flask 是一个使用 Python 编写的轻量级 Web 应用框架,2010 年发布,作者是 Armin Ronacher,主要用于微小项目。
最开始它只是 Armin Ronacher 在愚人节开的小玩笑,作者把 Werkzeug、simplejson 和 Jinja2 打包在一起,添加了少量代码,并给它起名为 Denied,宣称它是一个微框架。为了使这个玩笑看起来更加可信,作者甚至录制了视频,开发了一个网站进行宣传。大部分开发者在没有仔细阅读文档验证代码的情况下表现了出人意料的热情,短时间内被下载了上万次,真是人有多大胆,地有多大产。
由于受欢迎的程度大大超越了预期,作者被迫自己重新造轮子,在 2010 年 4 月重新发布了真正的 Flask。大胆营销是一个因素,作者拥有强大的编程创造能力更是必不可少,否则就真的只是一个愚人节玩笑不了了之了。
Flask 是一个基于 Werkzeug 和 Jinja2 的微框架,核心非常简单,同时具有很强的扩展能力,可以自由的选择模板引擎或者 ORM,默认的模板引擎是 Jinja2。Flask 很轻,适合初学者学习,根据教程就能很快的开发一个网站。但是 Flask 要学会使用插件的使用,各种强大的功能需要依赖多种多样的插件。
1.3.3 Tornado
Tornado 是一种 Web 服务器软件的开源版本,最初是 FriendFeed 公司用在自家网站的基础框架,后来 Friend 公司被 Facebook 收购,Tornado 框架也于 2009 年 9 月被开源。
它是一个可扩展的非阻塞式服务器,速度相当快,每秒可以处理数以千计的连接,是适用于实时 Web 服务的理想框架,通常用作大型站点的接口服务框架。相对于 Django 和 Flask,它具备以下特征:
- 完整的 web 框架
- 包含高效的网络库
- 提供高效的 HTTP 客户端
- 提供高效的内置 HTTP 服务器,可以直接用于生产环境
- 完备的 WebSocket 支持,实现了客户端和服务器之间的双向实时通信
由于 Django 具备强大而完整的后端开发内容,以及丰富的社区生态,适合移动互联网时代的大中型站点,本系列文章选择它作为网站服务端的开发框架。
1.4 小结
本章主要介绍了前后端分离开发模式演进过程,以及这种开发模式的技术特点。随着前后端的演进越来越复杂,这种模式已经成为开发的主流。
前端的主流框架包括Bootstrap、Angular、React和Vue,在中小型网站中,Vue是一个不错的选择。
后端的主流技术包括Java和Python。Java相对来说比较厚重,但是性能好,大型网站使用比较多。而python语言灵活,上手门槛低,是中小型网站的首选。在主流的python后端框架中,Django以其全面的功能被大量用户选择
后续我们选择Vue和Django分别进行前后端功能的开发