总结一下 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 里面,通过语言变量去选择。
<a>{["Edit", "编辑", "編集"][langIndex]}</a>
像以上代码充斥着所有 html 代码中,但是我可以说效果很好。我方便修改,AI 也可以协助我修改。更重要的是我不用等 Fresh 的多语言支持,因为这是我自己的方式实现的。
我不是想推广 deno 这项技术, 虽然我的域名包含 deno 。但和官方没有关系,存粹是我注册不了 dinopark 的域名而已。
或者有更好的技术方案, 比如 bun ,hono 。 但是 deno 和 fresh 是值得尝试的, 特别是你还在使用 express 写网站。
1
chuck1in 2023-09-09 19:50:49 +08:00
不用 express 的话用什么呢。 如果只是个小网站,不需要 nestjs 那种比较大型的架构。
|
2
tanrunhao OP |
3
tanrunhao OP @chuck1in 选择可以 edge deploy 的框架, 这样子做小项目的时候, 都不用服务器费用。 现在 vercel ,deno deploy 这些 edge deploy platform 都有很高的免费额度。
|
4
iugo 317 天前
我们使用 deno 有一段时间了. 我们最在乎的是:
1. Web API 兼容. (前后端一致) 2. 原生 TypeScript 支持. (前后端类型一致) |