有充分的理由,React是最受欢迎的前端JavaScript库之一。经过战斗测试,具有较大的生态系统,并且包含许多功能,这些功能使创建复杂的用户界面变得容易。尽管如此,React并不是一个千篇一律的解决方案。在过去的一个月中,我研究了替代框架和技术,探索了不同的范式,最后抛弃了反应。
背景
我正在将社交媒体应用程序作为附带项目/“ Dream App”构建,几个月来,我都有自己的心态。切换到“不要重新发明轮子”策略后,我开始重新考虑自己用来更好地满足新咒语的技术:
- 性能
- 快速发展
- 切割(但不出血)边缘
- 现代技术
对当前反应生态系统的不满
我选择寻求反应替代方案的主要原因之一是我对React当前的生态系统的不满。随着React越来越受欢迎,围绕它编写的库,工具和框架的数量也是如此。不幸的是,React直到最近才从类转换为函数,React 18 still 对数据获取,异步操作甚至服务器组件具有可变的支持。 DIY我曾经认为那很好,因为我可以自己构建它。但是,我只是平庸的开发人员。如果它们完全工作,那么实现嵌套路由和错误边界之类的东西也非常困难。
Next.js的慢弱,与Vite相比混音
出于SEO的原因,我不喜欢CSR,所以自然而然地,我决定接下来选择它的SSR支持。不幸的是,接下来仍然将WebPack与SWC结合使用。虽然我敢肯定涡轮袋可能会好得多,但甚至还没有在Beta阶段。目前,启动服务器大约需要5秒钟,然后再进行1-2秒才能快速重新加载。与w/ vite这样的反应相比,接下来只是感觉迟钝。我也为其他元帧工程(例如混音)也有同样的感觉。
React的总体表现
最后,我对React的总体表现有所保留。在VITE上,删除了所有不必要的文件(CSS,图像等)后,捆绑尺寸为142.93kb(45.89KB GZPICPECT)。 Svelte为5.49kb(2.53kb Gzpipped)。这是文件大小下降的96%(94%的GZZED),对于每次单击时都会增加数字的按钮!
探索替代选项
考虑到这些问题,我开始研究反应的替代方案。我考虑了Qwik,Vue.js,Astro,甚至在铁轨上的Ruby。这些解决方案中的每一个都有优势和缺点,但我最终为自己的项目选择了Sveltekit。
Sveltekit是用于构建Web应用程序的框架,该应用程序使用编译器生成高度优化的JavaScript代码。在性能和加载时间方面,它的速度要比React快得多。另外,它提供了与我喜欢的Ruby类似的令人满意的体验。
尽管社区和生态系统较小,但SveltekitSveltekit比反应更有效和有趣。即使React可能是许多开发人员的最佳解决方案,也要考虑其他可以更好地满足您要求的其他选择。
结论
我爱反应。当我进入Web Dev时,这是我的初恋。但是,Sveltekit正在增长。它正在为新的,更好的网络开发铺平道路。就我而言,我发现Sveltekit非常适合我的个人项目,我很高兴继续探索它的提供。