javascript 没有JSX的SolidJS的可行性如何?[已关闭]

myzjeezk  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(144)
    • 已关闭**。此问题为opinion-based。当前不接受答案。
    • 想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

22小时前关门了。
此帖子在12小时前编辑并提交审查。
Improve this question
我计划开发一个DOM操作非常简单的应用程序(我只需要画布元素来绘图,以及一些div来把东西放在一起),但是React性非常重要。Solid JS对我有强烈的吸引力,原因如下:
1.基于推挽式的系统,具有基于图形的依赖性自动检测功能(对我来说非常重要)
1.默认情况下为热可观察对象
1.简单的函数API。然而,我觉得JSX不是很好,因为,就像我说的,我只需要对DOM做很少的事情。JSX感觉有点不必要的开销。
Solid不使用JSX可行吗?这个文档页面说它可以(https://www.solidjs.com/guides/faq#can-i-use-solids-reactivity-on-its-own)。但是,如果我决定不使用JSX,我会放弃任何特定的更深层次的功能吗(那些不仅仅影响DOM的功能,例如优化等)?我是Solid的新手,所以我希望在订阅一种或另一种方法之前有一个粗略的想法。

e5nqia27

e5nqia271#

Solid从渲染逻辑中提供核心库,这就是为什么你看到浏览器相关的API是通过solid-js/web库导出的。也就是说,你不需要使用JSX来使用Solid,但它提供了很大的便利性,提供了可组合性。多亏了JSX,你可以组合你的UI逻辑。没有JSX,构建和维护复杂的UI真的很难。
关于复合相对于继承的优点有一个古老的讨论,SolidJS文档并没有对它的设计决策进行哲学上的讨论,但是你可以从React的网站上读到:
https://reactjs.org/docs/composition-vs-inheritance.html
所以,我会放弃JSX,除非你有一个很好的理由。人们不喜欢JSX一般是因为:
1.他们不想在代码中使用HTML,因为他们坚信关注点分离。
1.他们认为它很脆。
1.他们认为他们会牺牲性能。
1.他们习惯于MVC、MVP、MVVM等替代方案。
但是,
1.可组合性比关注点分离更重要,也更有优势,但大多数情况下他们还是使用模板。
1.它经过了很好的测试。它不是模板,而是语言的扩展,得到了生态系统和工具的很好支持。
1.它比手工编写的代码性能更好。另外,它更容易维护。但是性能差异是看不出来的,除非你有写得很差的代码。
1.这可能是一个合理的理由,但由于它成为行业标准,从专业Angular 来看,它并没有多大价值。

相关问题