Hello Astro

你好呀,这是我的第一篇博客,我在去年的时候就一直想弄一个属于自己的网站记录一些东西,先后都尝试了 WordPress、Hexo、Hugo、Typecho、Halo、Nextjs、Nuxt。我最后稀里糊涂选择了 Astro

为啥不选其他博客框架?

如果你想看到一篇深度分析、性能对比,那就要失望了,我选择 Astro 主要全靠排除感觉

我的技术背景

  • HTML/CSS:还算能看懂和写出一点静态页面来
  • JavaScript:目前主要能看懂语法,复杂功能实现很大程度上依赖claude-3.7-sonnet
  • 至于 Vue 和 React:学了一会就学不下去了,准备先把 JavaScript 学好

我尝试过的框架

过程中把各种框架都换来换去,各种主题和插件也是换来换去,始终达不到我的满意,要么主题差一点,要么插件有一点问题

WordPress 和 Halo

最开始的时候什么技术都没有,就打算用 WordPress 或者 Halo 的,因为这两个是宝塔面板1Panel面板直接就能一键安装的,至于为什么没有用下来主要有以下原因

  1. 托管成本:需要后端,必须要服务器或者虚拟主机什么的。
  2. 个性化:主题没有我喜欢的,WordPress设计插件付费。
  3. Halo:生态不成熟,插件和主题较少,社区不如 WordPress 活跃,扩展性有限。
  4. WordPress:性能较差,感觉不太安全,以及不同主题和插件的学习成本
  5. 升级和维护:WordPress 和 Halo 都需要定期更新,但更新可能会导致插件或主题不兼容,尤其是 WordPress,有些插件更新慢或者不再维护,容易出问题。而且需要维护数据库,不然可能影响性能

Nextjs 和 Nuxt

先让 Ai 写了不少,但是自己完全无从下手修改。所以这个就很简单明了了,因为我不会 React 和 Vue ~

Hexo、Hugo、Typecho

首先是 Typecho,因为这个是 PHP 的,我下意识就感觉修改困难,就没深入体验,而且也没发现喜欢的主题。

其次是 Hexo 和 Hugo,这两个应该是使用最多了,也是我除了 Astro 以外使用最久的,一直在使用别人的主题,看着别人的文档进行配置,有时候找到了两个我喜欢的主题,但是遇到了一些只通过配置文件似乎无法解决的问题,然后就要涉及到修改主题代码了,但是我比较菜,懒得改,最后也是看到别人的网站太好看了,下定决心自己搞一个,开始学起了前端三件套

Astro 来了

起因是我在浏览博客的时候发现一款非常陌生的技术栈,既不是 Next 也不是 Nuxt,我怀着好奇心点开了文档,非常引人注目的就是一篇教程,教你手动搭建一个博客,于是我就动手做了起来,最后就下定决心使用 Astro 了。

主要原因

  1. 学习目的:我想着光有个网站多没意思,我要自己学习然后自己做自己改,了解到 Astro 的群岛架构似乎还能让我以后尝试集成 React/Vue 组件,感觉很有潜力,不至于把路堵死。
  2. 门槛低:任何有效的 HTML 都是有效的 Astro 模板语法,因此我可以直接使用熟悉的 HTML 和 CSS 就能写出astro组件来
  3. 性能好:因为官网说“使用 Astro 几乎不可能做出缓慢的网站”,然后默认不加载 JS,听起来速度就非常快

现在用起来如何?

还是有一点的 JS 问题,不过我可以多“借鉴”别人的代码。它有没有传说中那么快?我的小破站还没啥内容,暂时也体会不深。

最后

也许等我用 Astro 深入一些,或者踩了足够多的坑之后,我能写出更有技术含量的分享。但现在,这就是我选择 Astro 的(不那么光鲜亮丽但足够真实的)理由。

评论