您会为下一个 Web 项目选择哪种技术?

2025-05-25

您会为下一个 Web 项目选择哪种技术?

如果您正在构建一个由用户界面和 API 组成的应用程序,您会做出哪些技术选择?为什么?

我先走了。

1. TypeScript
我会选择 TypeScript,因为它物有所值。如果你以前没用过 TypeScript,可能会暂时降低你的工作效率,但最终还是值得的。我还没遇到过有人在学习 TypeScript 后会回到纯 JavaScript 的。

2. React 和 Next.js

React 是一个久经考验的 UI 构建库。它拥有完善的文档和庞大的社区。它已经实现并准备好使用大量组件,因此您无需自行构建所有内容。

Next.js 诞生才几年,但它已经是 React 生态系统中最受欢迎的工具之一。Next.js 提供了许多开箱即用的功能。SSR(基于文件系统的路由)有潜力改善首次绘制时间 (TTFD) 等指标……

3. PostgreSQL 或 MongoDB
一般来说,你应该根据数据结构来选择数据库。不过,我认为 PostgreSQL 或 MongoDB 都是不错的选择。

如果我最终要使用 PostgreSQL,我会选择 Prisma 作为 ORM。他们的 API 使用起来非常直观,迁移过程轻松便捷,甚至还有 VSCode 扩展!

4.佐德

对于输入验证,我可能会选择 Zod。同样,它与 TypeScript 配合得非常好。它在构建时就考虑到了 DX,没有任何依赖项,而且很轻量(压缩 + 最小化后只有 8kb)。

5. Stitches 或 TailwindCSS

对于样式,我会选择 Stitches 或 TailwindCSS。Stitches
是一个专注于组件架构和开发者体验的样式解决方案。它与 styled-components 有相似之处,但它还拥有一流的变体 API 和良好的设计系统配置。它完全类型化,并且轻量级(小于 5kb)。

另一个可能的解决方案是 Tailwind。作为一个底层 CSS 框架,它已经成为我首选的样式解决方案之一。它提高了我的工作效率,让我的工作更加一致。尽管我喜欢使用它,但这并不意味着它是每个项目的完美解决方案。

6. Supabase

对于数据库、身份验证和存储,我最有可能使用 Supabase。对于那些不知道 Supabase 是什么的人:Supabase 是一套工具,它通过自动处理大量幕后工作来帮助开发人员更快地构建项目。

创建一个项目,Supabase 将为您提供一个 Postgres 数据库、一个用于与数据库交互的 API、一个可与常见登录提供商(例如 Facebook、Twitter 等)良好兼容的用户身份验证系统、一个用于处理上传数据的存储系统,以及一个用于管理所有这些的美观 UI。它免除了您大量的工作,让您可以专注于产品开发。

7. 托管: Vercel 或 Netlify
8. 日志记录和错误跟踪: Sentry 或 Logrocket
9. 测试: Jest、React Testing Library、Jest-axe

在下面评论一下,你将如何构建你的下一个项目:)

关注 Twitter 了解更多:https://twitter.com/bjakyt

文章来源:https://dev.to/bjakyt/which-technologies-would-you-choose-for-your-next-web-project-3a4h
PREV
从 JavaScript 切换到 Golang
NEXT
每个 Angular 开发人员都需要了解的 TypeScript 特性 BigInt 数字分隔符 _ 私有字段运算符