切换 Deno 技术栈的一点心得

查看 43|回复 1
作者:tanrunhao   
原文 po https://cn.denopark.com/blog/stack

总结一下 deno 好处:
[ol]
  • 无需购买服务器
  • 无需安装依赖,使用简单
  • 自带 kv 数据库
    [/ol]
    以下是复制原文。
    切换 Deno 技术栈的一点心得
    从零开始的挑战
    本网站使用 deno 编写,运行在 deno deploy 上,并使用 fresh 框架,并且使用 supabase 作为数据库以及它的 realtime 实现多人在线, 游戏使用一个叫 kaboom.js 的轻量有趣的游戏引擎。 而这些技术在编写此网站前从未使用过。
    产品时候使用都是新的技术框架,是十分冒险的。但是现在回头看是十分正确的。
    网站上线到现在,有超过 1 万的注册用户。并且期间受到恶意注册攻击,注册超过 10 万的垃圾账号。但是网站都一直保持正常运行。 现在回头看,这些技术的选择让我的工作变得轻松和愉悦。
    为什么使用新技术
    因为新的技术是最简单的,第一版本发布用户测试时候,我只有 kv 没有数据库。开发期间只需要跑一行命令行 deno task start . 没有 npm install ,没有 pm2 logs. 更不用安装数据库,搭建测试和正式环境。
    没有任何 ci ,action 。提交代码马上上线,fresh 的服务器渲染解决了 seo 问题。deno deploy 让我没有服务器运维的烦恼。这些对于一个开发者来说都是无比幸福的事情。
    随着 supabase 的引入,项目变得有一些复杂。但是 supabase 的数据库+实时功能实现太诱惑了。
    正是因为这些新技术带来极大的便利, 我们同时需要克服新技术带来的摩擦。我要分享使用新技术的秘诀,就是放弃完美主义。
    用最简单的方式使用新技术
    如果你的目标是让产品上线, 遇到问题马上用愚蠢的方案解决。比如网站的多语言如何实现,成熟的框架可能会有标准答案。我找不到,找到可能也不会用。所以最本的办法是把多语言写在 html 里面,通过语言变量去选择。
    {["Edit", "编辑", "編集"][langIndex]}
    像以上代码充斥着所有 html 代码中,但是我可以说效果很好。我方便修改,AI 也可以协助我修改。更重要的是我不用等 Fresh 的多语言支持,因为这是我自己的方式实现的。
    最后
    我不是想推广 deno 这项技术, 虽然我的域名包含 deno 。但和官方没有关系,存粹是我注册不了 dinopark 的域名而已。
    或者有更好的技术方案, 比如 bun ,hono 。 但是 deno 和 fresh 是值得尝试的, 特别是你还在使用 express 写网站。

    deno, Fresh, 技术, supabase

  • chuck1in   
    不用 express 的话用什么呢。 如果只是个小网站,不需要 nestjs 那种比较大型的架构。
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部