当前我正在使用 Svelte 开发一个项目 (
https://github.com/utags/utags-bookmarks )。
此项目曾因前端框架选型( React 、Vue 或 Svelte )的考量而延误了两年(真的),两个月前才正式启动。
React:其生态系统无疑非常强大且成熟,但是 JSX 语法真是不喜欢。(纯个人喜好)
Vue:对其模板语法(例如 v-bind 、v-if 等指令)的设计风格持有保留意见。(纯个人喜好)
Svelte:作为相对较晚出现的框架,虽然早有耳闻,但直到今年初才深入研究。
Svelte 最让我心动的是,
无虚拟 DOM 的架构设计:Svelte 在构建时将组件编译为高效的原生 JavaScript 代码,直接操作实际 DOM 。这种设计不仅消除了虚拟 DOM 的运行时开销,通常还能带来更小的打包体积和更优异的运行时性能,从而减轻了浏览器的工作负担。
顺便推荐一个比较冷门的 i18n 库:paraglide-js 。是开发这个项目时偶然发现的。
与 Svelte 类似,它也是走编译路线,不仅能少些运行时开销,还能减少代码量。
如果是个人项目,非常推荐 Svelte 。( 和 paraglide-js )
但如果是公司的项目,考虑到团队、生态和长期的维护,React 和 Vue 可能还是更稳妥的选择。毕竟这俩的社区更庞大,找人也更容易。