我们使用 Dojo (1.9.3) 作为构建单页面应用程序的 JS 框架。然而,我们在 Dojo 的怪癖上花费了太多时间,因此即使是简单的任务也需要很长时间才能实现。由于缺乏适当的文档,我们经常不得不求助于阅读源代码,然后实施解决方法。
我觉得如果我们转向其他框架,我们会加快开发速度,并使代码的维护变得更容易。我们的代码库相当大,因为它是一个复杂的应用程序,所以我们没有时间立即重写整个代码。因此,我希望能够将 Dojo 与其他一些框架结合起来,这样我们就可以逐步摆脱 Dojo。我只是在业余时间接触过这些其他框架,并且只编写了一些小示例应用程序,所以我觉得我不能真正说它们是否可以与其他框架很好地配合,所以我希望其中的一些你可以。
我一直在研究的框架 - 根据我的简短调查,按照我喜欢的顺序排列,但请随意说服我。
- Ember
- React
- Polymer
- Angular(最后是因为我害怕 2.0 的重大改革)
虽然主要问题是这是否可行,但如果您认为这样做是一个坏主意,也请提供建议。
从 Dojo 的角度来看,我最多可以说的是,Dojo 本身是一个工具包,而不是一个框架本身,因此通常不应该干扰其他脚本或框架。另一方面,并不总是可以说相反的情况。因此,虽然我无法代表您列表中的所有选择,但我不认为 Dojo 本身会妨碍您。
我能想到的一个可能的例外是,如果任何有问题的框架增强了本机原型,特别是Object
,因为这将影响所有对象中的可枚举属性,并且可能对任何使用 for...in 循环而不使用循环的脚本造成严重破坏hasOwnProperty
.
我能想到的唯一的另一个例外是,是否有任何相关框架由于某种原因不能与 AMD 模块加载器很好地共存。
话虽这么说,我还建议您对框架的“承诺”持保留态度 - 您说现在您发现使用 Dojo 实现事物需要付出努力,并且您列出的框架自然很有吸引力,因为它们使通过提供模式和约定,应用程序开发的某些部分变得容易 - 但您应该问的问题是,当您需要做一些超出这些约定或违反这些约定的事情时,您的框架会让您的工作有多困难? Dojo 可能有一个学习曲线,但通常没有prevent你不做任何事。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)