博客迁移与新站搭建思路
记录从 Jekyll 模板迁移到 Jaspr 与 flutter_scene 的选型缘由、内容与三维书房设想,以及 Cloudflare 部署考量。
此前的博客采用的是比较简便的 Jekyll 模板,代码量小、方便维护,很适合当时作为初学者的我;同时可以依托 GitHub Pages 免费部署,域名也是后期才加上去的,只添了一条解析记录,整体成本很低。
后面随着对前端技术的深入,加上具备了一定的三维建模基础,我开始考虑重写自己的博客。
这里面首先涉及到了技术选型。我当然可以采用更为主流的前端框架,比如 Vue、React 等等;但因为平时在跨平台移动端开发上对 Flutter 抱有兴趣,顺带注意到了 Jaspr 这个基于 Dart 的 Web 前端框架。既然是个人博客,我也希望多尝试自己感兴趣的语言和工具,在这点上我确实存在偏爱。
Jaspr 刚好解决了 Flutter Web 最让人头疼的问题:SEO 与搜索引擎收录。Flutter Web 采用 Canvas 自绘,对搜索引擎爬虫抓取极不友好,而 Jaspr 直接编译输出原生 HTML,就不存在这个问题。再加上我对 Dart 语法和生态的熟悉程度,故此选择了 Jaspr 作为以文字为主的内容载体。
与此同时,我也在思考创新与个人兴趣的结合,希望能够建立一个带三维交互的博客场景。可选的方案其实不少,无论是其他优秀的 Flutter 三维库,还是 Three.js 这类传统 Web 三维引擎;也是因为种种契机了解到了 flutter_scene,具体是怎么发现的已经有些记不清了。这个引擎主要由前 Flutter 官方团队成员维护,进展很快,对 Web 端的支持也跟进得非常迅速。最后便选择了 Jaspr + flutter_scene 作为整站的技术栈。
对于站点内容的编排:
- 文字内容上,以我日常的技术体验与感受为主,可能有些肤浅,但如果能起到一点帮助当然最好不过。
- 三维场景上,采用了维多利亚风格,以一间可以交互的书房为主,也希望三维场景不只是静止的画面,更是可以互动的、有趣的。
最后是部署,这次采用了 Cloudflare,一方面有出于成本的考虑,另一方面它在各地区的访问可达性也很优秀。
希望你玩得开心。