这看起来是一个很酷的想法,但粗略的谷歌搜索只找到代码片段:没有纯粹使用 WebSharper 制作的“大型”项目,可以作为“这确实有效”的健全性检查。任何长时间使用它的经验(即制作博客或个人网站)也会很有用。
从理论上讲,这听起来像是一个绝妙的主意:将一种语言编译为多种东西以在客户端、服务器等上运行。但通常情况下,抽象是有漏洞的和/或限制性的,足以使它与编写多种语言一样烦人手(这是我使用 GWT 的经验)并且想知道 WebSharper 是否有任何不同。
这看起来是一个很酷的想法,但粗略的谷歌搜索只找到代码片段:没有纯粹使用 WebSharper 制作的“大型”项目,可以作为“这确实有效”的健全性检查。任何长时间使用它的经验(即制作博客或个人网站)也会很有用。
从理论上讲,这听起来像是一个绝妙的主意:将一种语言编译为多种东西以在客户端、服务器等上运行。但通常情况下,抽象是有漏洞的和/或限制性的,足以使它与编写多种语言一样烦人手(这是我使用 GWT 的经验)并且想知道 WebSharper 是否有任何不同。
从其他产品的经验来看,我通常会寻找那些不常见的场景,在这些场景中,你会将 80% 的时间花在应该直截了当的事情上。我的意思的一个例子是在 SSRS 2005/2008 报告中重置页数,这样您就可以得到 1/2、2/2、1/3、2/3、3/3。您可能会花费大量时间来尝试在 SSRS 中做应该很容易做的简单事情。
在使用 WebSharper 的 100 多个小时内,我没有遇到过这样的情况。该产品非常“FSharpy”,我无需查看生成的 JavaScript 代码。
我真的建议您尝试一下,但要知道 API 非常大,而且我个人一开始就无法区分服务器端标记和客户端代码。
我所有的网站都是后端,因此我不能分享任何东西。
作为 WebSharper 的创建者,我们在内部使用了很多,迄今为止最大的项目是 FPish ( http://fpish.net )。我们的客户也将 WebSharper 用于大型项目,这项工作包括企业在线数据可视化解决方案。所以是的,它通过了健全性检查。
话虽如此,WebSharper 在某些领域可以更好地支持更大的项目,例如编译速度,我们正在努力解决这些问题。
您对限制性或泄漏抽象提出了一个有趣的观点。我没有使用过 GWT,所以我不能对此发表太多评论。由于它的函数类型系统,我发现 F# 大大优于 Java 和 JavaScript,这让我使用 WebSharper 更有效率。不过,切换到 F# 可能很难。
网络锐化的家伙可能会留下更完整的答案,但同时我知道至少有一个使用 websharper 的大型站点:http://fpish.net/它是 FP 程序员的社区站点,它完全是用 websharper 编写的。