我已经开发了一个新的Rails项目几个星期了,虽然我对框架中一些真正出色的插件和功能感到惊讶...但我也有点失望。我很担心。
我认为我犯了一个错误。
我应该继续前进,还是回到我熟悉的Java/Spring?
看起来,除非你在寻找“简单的例子”,否则搜索规则的异常、特殊情况等会严重影响生产力,并越来越成为我的常态。
主站点、博客、屏幕录像等的文档和示例大多已过时。在那里面每找到5-10个示例中,只有1个是正确的。
做任何新事物都应该“正常工作”,但几乎从不正常。我尝试遵循文档和示例,但我的结果似乎各不相同,并发现文档和示例中从未提到的问题。实际上,这种情况似乎经常发生。
我尝试使用CoffeeScript及其与Rails的集成,但是失败了。每当出现“编译器错误”时无法看到问题超级令人沮丧。
ActiveRelation真的很棒,直到您需要进行连接7个表的查询。然后它开始崩溃。我认为您可以通过Hibernate快速完成此7个表连接查询并可靠地完成第一次学习。
在Rails中进行测试实际上非常困难。有太多的“魔法”正在发生。由于Ruby是动态的,我不知道我需要调用什么来适当地测试某些东西。总是似乎有例外。
例如,Devise的工作方式就像您期望的那样……直到您想要在助手中测试Devise。它根本不起作用,因此您必须在测试中发明Devise生成的方法以使测试通过。对于控制器,您不需要这样做。
有一些博客教如何使用Rails进行测试,但它们非常琐碎且没有多大帮助。其中一些实际上很糟糕。例如,我发现如何有效地测试验证比我找到的许多博客都要好得多。我只是发现在测试时经常是自己一个人。
为什么切换到生产后图像和样式表无法正常工作?这太疯狂了。如果您搜索,会有很多人问这个问题……但框架并没有“正常工作”。
我真的很害怕最终部署这个应用程序。生产版本似乎与开发版本完全不同。可怕。
出现jquery-rails和devise之后,某种原因导致在ajax请求期间未传递身份验证令牌。我必须添加4行JavaScript代码才能使其工作。这花了我5个小时。在Java中,由于您拥有适当的会话,您甚至不需要考虑这种类型的事情。
测试运行非常缓慢。我大约有780个测试,它已经比具有1800个测试的Java项目花费更长时间。
在浏览器中测试应用程序非常缓慢。渲染某些页面需要大约1/4秒……而且没有太多ORM操作!即使对于只有一个数据库查询的页面,也需要100-200毫秒。这太疯狂了。
文档经常过时。例如,尝试覆盖Devise中的内容很麻烦,
经过两周的使用,"陷阱"的数量并没有真正减少。我非常担心和害怕。我知道Java并不免疫于陷阱和问题,但通常一个月只会遇到2-3次问题而已,而不是一周30次。
我几乎认为,在考虑平台的稳定性、速度和可预测性时,使用Java/Spring时缺乏敏捷性并不是太大的负担。你可能需要写更多的代码,但你确切地知道发生了什么......你从来不会真正处理无声的失败......事情往往更加可靠地工作。
我开始质疑在这个新项目中使用Rails了。