几个框架,用于编写基于网络的桌面应用程序最近已经出现。E.g。 SproutCore卡布奇诺咖啡.你有任何经验使用他们?你有什么印象?我有没有错过一些其他框架?

我已经看到了 相关的 的问题 在计算器,但是它们生成的主要标准答案,如"使用jQuery或MochiKit或脱或道场或锐".虽然有些人得到 非标准 答案, 他们似乎没有什么经验 使用 这个框架。

任何人都可以共享实际经验的发展中destop样的应用程序的浏览器?

有帮助吗?

解决方案

由于速度问题的这些高级别的框架会导致对于许多较大的(如:非微不足道)的应用,我们只用纯!在我们的测试,所有高级框架爆发的情况下,有许多拖动对象或许多下降的目标,并在情况很长的清单(超过1000条目)都显示在屏幕上。

这部分是由于问题IE6和IE7(其中业绩突然开始急剧恶化之后DOM树木达到一定的复杂性),但部分是由于开销这些框架产生。

因此,我不建议任何高级别框架。我的建议是使用能力和工作与DOM。

一些提示,以改善性能:

  • 在可能的话,呈现HTML上 服务器。
  • 保持HTML样简单 可能的。
  • 避免具有许多元素 在DOM树。
  • 避免递归 表结构(即突然停止 表示他们在相对较少 水平的嵌套)。
  • 删除无形的 元素从DOM树。
  • 删除 事情从DOM树之前 改变它们,然后重新插入 它们,而不是改变他们 而他们在树。

其他提示

就我而言,卡布奇诺是不做的一个例子。他们在JavaScript之上实现了另一种语言,这已经带来了缓慢的问题,而浏览器开发人员已经在努力应对,而最糟糕的是,他们完全不依赖于浏览器小部件,打破了所有用户导航体验。例如,他们实现了自己的滚动条,使用鼠标滚轮的主要缺点将不再起作用!

我更喜欢ExtJS的方法,它可以为您提供丰富的小部件,同时保持UI尽可能接近浏览器。

我也是,作为小发明,推荐EXT JS。他们的许可证已经改变,它可能不适用于所有人,但如果你想做像桌面这样的东西,它仍然是一个很好的选择。

以下是桌面环境的示例页面: http:// extjs。 com / deploy / dev / examples / desktop / desktop.html

Apple正在证明sproutcore确实有效,尽管很难估计它的工作情况。目前,我使用自行开发的一组库构建Web应用程序,从我们的Windows软件套件中复制一组功能(但适用于Web界面)。到目前为止,我已经避免使用框架,特别是因为我不想要膨胀。这种方法的问题在于我浪费了过多的时间来复制框架中已经存在的功能,而且我觉得随着时间的推移,我将接近类似于这些框架的东西。

因此我一直在尝试在extjs中实现一个Web应用程序,这是一个非常好的体验。性能非常好,易于开发,因为它们的组件集非常适合实际构建应用程序,而不仅仅是花哨的演示(Web工具包中的常见问题)。如果您有兴趣构建类似桌面的Web应用程序,我肯定会推荐它。

扩展它的问题显然仍然适用,但说实话,我觉得在规模不重要的情况下使用工具包更好,并且只在你需要的地方回退到基本的javascript(过早的优化是万恶之源)。 Extjs可以在原型或jquery之上进行分层,因此这种方法绝对可行。避免在DOM中存在太多内容通常是按需加载和卸载的方法。例如,extjs网格类的第三方扩展允许通过巧妙地加载和卸载数据来滚动一百万行数据集。

您可以考虑使用 GWT-Ext (使用Ext下面)可能是如果您打算使用Java,这是一个非常干净的解决方案。

我喜欢 qooxdoo ,虽然它采用了JS的OOP方法而不是原型,但它是一个坚实的框架,有很多功能。

我对SproutCore或Capuccino没有任何经验。但是已经尝试在Django之上使用Dojo进行这种工作。只能告诉你它很慢而且有错误。

extjs可能会有所帮助。 http://dev.extjs.com/deploy/dev/examples/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top