为什么我的博客的新域名迁移到了 wp.hawa130.com 这个奇怪的 wp 前缀上?
当然是因为我想自己写一个博客系统,而不依赖于古老而臃肿的 WordPress。
计划归计划,什么时候实现是不确定的,咕咕咕

为什么要手写新博客?

WordPress 是一个典型的 PHP 内容管理系统,而 PHP 又是一个典型的服务器端渲染语言。这给我这个1核2G乞丐阿里云服务器带来了巨大的一定的压力,同时也因为服务器配置低、渲染速度慢导致了页面加载缓慢。

与此同时,因为服务器带宽有限,导致生成的页面传输巨慢,让我本来就加载很慢的博客雪上加霜。
(家境贫寒也搞不起 CDN 服务,阿里云 HTTPS 请求计费太高了 QAQ)

不过如今通过缓存插件缓解了一些问题,虽然第一次打开网站慢,但是再打开就很快了。
(感谢缓存技术的诞生,让我的博客显得更快了)

传统服务器端渲染方式的转变迫在眉睫。

手写博客,应该选择什么技术?

首先要排除一切服务器端渲染异类,比如那些模板语法之流。
模板语法也是典型的服务器端渲染,和 PHP 的渲染方式如出一辙,会给我的乞丐服务器带来压力,所以 pass 掉。

前后端分离显然是更好的写法。

什么是前后端分离

简单来讲,前端只需要放上静态页面,然后去调用后端提供的 API 接口,获取格式化后的数据。这就是前后端分离。
一切与用户的交互都将在这个静态页面上进行,用户进行的操作只需要调用对应的 API 接口,利用云数据库和云函数,甚至可以打造出一个无服务器网站。
后端只需要获取输入,返回输出,如同函数一般优雅。前端渲染的一切,都与后端无关。

以我掌握的知识来说,只会用 Python 的一些 Web 框架来写写后端 API,比如 FastAPI、Flask等等。我要做的也仅仅是数据库 CRUD 罢了,毕竟博客系统也不是什么复杂的东西。

前后端分离的优点

节约服务器运算资源和流量

服务器端渲染页面需要耗费服务器端算力,对于我这种乞丐服务器十分不友好。

而前后端分离,用户所看到的界面都是客户端渲染的,只有一些数据需要从后端获取,这样既节省了服务器运算资源,又节省了流量。
因为传输数据量减小,在用户体验上,网站也显得更快了。

后台维护更方便,容错性更高

因为前后端分离,只要后端的 API 接口正常工作,那么前端的页面就能正常使用。

想要改进后端算法?没问题,只需要改动后端代码里提供 API 接口的函数就行了。
即使后端服务器暂时处于不可用状态,前端依然能保持大部分内容的正常渲染。

若是服务器渲染,一旦后端服务器或者数据库挂掉,网站剩下的只有空白的错误信息页面了,对用户和搜索引擎都十分不友好。

团队开发更加快捷

对于个人前后端全栈感知不强。因为无论是服务端渲染,还是前后端分离,都要一个人去肝完。

而对于团队来说,服务端渲染因为同时涉及到前端和后端,不利于分工,于是开发速度显著被拖慢。
前后端分离的架构,让前端程序员专注于网页的开发,后端程序员专注于 API 开发,两条线并行,提高开发效率。

开发 APP 更快捷

APP 也可以看作是前端。(虽然我的博客不需要 APP,但是万一哪天我想给自己写个发布文章用的客户端呢~/doge但是后端的 API 可以给 iPhone 上的快捷指令用啊,假装自己有手机端)

后端写好的 API 接口可以给 APP 接着用,不必重新开发一套给 APP,节约开发时间。

前后端分离的局限性

不利于爬虫和搜索引擎优化

不知道算是优点还是缺点。

我当初写的简单爬虫都是直接爬 HTML 的。若是前后端分离,怕不是只能爬到一些占位符。

不过显然的一个缺点是不利于搜索引擎优化,毕竟搜索引擎的爬虫也是爬虫,爬不到内容的话,搜索权值显然就降低了,也自然得不到流量。

像我这种自己建着玩的网站,偶尔会有认识的人来访问,也不用管什么搜索排名的


所以新博客的域名应该是 www 开头,并且是我自己写的了。
不过具体上线日期的话咕咕咕

分类: 知识

发表评论

邮箱地址不会被公开。 必填项已用*标注