首先,我希望创建的项目的基本框架是一个作为单页面 Web 应用程序实现的 wiki 引擎。我计划从一开始就拥有一系列可用的特性,并在以后添加大量的特性。
基本特征
高级功能
该引擎最初将包括最基本的页面创建、标记和所见即所得编辑以及保存。我最终想扩展这个基本的引擎与拖放图像支持,文件上传,实时数据图表,和一个侧边栏自定义视图。
我已经做了一个相当广泛的搜索一个体面的项目,从中基础我的项目,但除了 TiddlyWiki 似乎没有任何良好的基于 javascript 的 wiki 引擎。我还考虑过在现有的 wiki 引擎之上应用 Jquery,但我相信我最终还是会重写它(另外,随着我的发展添加我想要的功能会更令人兴奋)。无论哪种方式,我都已经用 javascript 库 + 框架实现了这个怪兽。
我知道,我们不能真正地将这些框架相互比较,因为它们非常不同。我试图将任何比较意见/问题与相关框架的可比部分进行对比,但我愿意接受更正。
我们开始吧:
根据我自己的研究和观点,我已经把清单缩小到以下几个项目。我故意省略了 SproutCore、 corMVC、 YUI 等内容,因为在我有限的能力范围内,我认为下面的内容更适合我。
我的选择
总的来说
据我所知,这种组合被许多人使用和喜爱,并且非常灵活和可扩展。我主要关心的是,这种组合不是开发更面向桌面的 UI 界面的最佳起点。
用户界面
虽然 jQueryUI 或 jqueryTools 可能具有竞争力,但它们似乎无法与其他框架的 UI 功能相提并论。具体来说,他们似乎沉重的影响,但缺乏体面的布局切片支持。
总的来说
在我看来,JavascriptMVC 本质上就是 jquery + MVC (jqueryMX)扩展,还有一些其他的应用程序用于文档编写(documentJS)、功能测试(funUnit)以及代码和依赖管理(stealJS)。除了附加模块的好处之外,我认为功能上的争论实际上可以归结为 backbonejs 和 jqueryMX。在这一点上我是否正确,是否有人同时使用或比较过这两个模块?
用户界面
JavascriptMVC 将 MXUI条目添加到 Jquery 可用的任何条目之上,因此我认为至少在这个类别中略胜一筹。
总的来说
我对此的想法和关注点与 jquery + 主干注释非常相似。它们似乎都提供了相似的功能,但只是从不同的角度来看。一个经常被提到的缺点是敲除法将业务逻辑和表示与数据绑定过于紧密地结合在一起,而且这种绑定方法可能会因为复杂的 UI 交互而失效,但我很想知道为什么这不是问题。
用户界面
目前一片空白
总的来说
我将结合讨论 Dojo 和 ExtJS,因为我对它们的了解最少,而且它们似乎在几乎相同的空间中运行。关于这两个堆栈溢出的大部分信息似乎已经过时了。据我所知,它们都是大型框架,有利于桌面应用程序的实现。Dojo 曾因文档不完善而受到指责,但现在情况似乎不再是这样了。ExtJS 当然拥有商业许可证,但是对于你所得到的东西来说,它是非常合理的,我不会对它有太多的抵触。ExtJS 中的小部件似乎比 Dojo 更专业一些,但我肯定可以在这里进行更正。我很想听听在这两方面都有经验的人的意见。
用户界面
总的来说
还有卡布奇诺。没有 CSS,没有 html,但是使用现有的 javascript 库也很困难。Objective-J 看起来并不可怕,特别是考虑到它们也能够编写普通的 javascript。演示令人印象深刻,似乎非常接近 wiki 引擎的 UI 需求。基于可可的 API 对于不熟悉它的人来说有很多东西需要学习,但也许它是值得的。我听说布局引擎并不总是容易使用,但是像这样一个年轻的、可能具有颠覆性的技术肯定会有一些缺点。
用户界面
目前一片空白
我很抱歉写了这么多,但是,嘿,至少这不是一个 x vs y vs z 的问题,希望得到很多廉价的答案。你觉得怎么样?我的桌面应该以什么为基础,比如 wiki 引擎,希望随着时间的推移,它能变得更加功能丰富(阅读复杂) ?