当前位置:  开发笔记 > 后端 > 正文

在RoR的大项目中使用ExtJS的危险?

如何解决《在RoR的大项目中使用ExtJS的危险?》经验,为你挑选了3个好方法。

我们正在使用Ruby on Rails框架(CRM系统)开发一个相当大的应用程序,并且正在考虑重写它以使用ExtJS以便Rails只进行数据处理,而ExtJS将以类似桌面的方式进行所有浏览器重量级处理.

任何人都有一些经验和暗示什么是最好的方法?ExtJS是否足够成熟,可以用于相对较大(和复杂)的应用程序?那么Rails部分 - 这里最好的方法是什么?

编辑:

只是为了说清楚.我宁愿这样做,以便所有的javascript客户端应用程序代码一次加载(在应用程序的启动时,最好是作为一个压缩的js文件),然后只使用ajax与Rails之间发送数据应用程序.此外,让ERB可用于动态生成Ext apliccation元素会很不错.



1> Jonathan Soe..:

我目前有一个用ExtJS编写的超大型桌面式应用程序.它曾经运行在Perl的Catalyst MVC框架之上,但是一旦将整个View层转换为基于ExtJS的桌面,我就开始迁移到Ruby on Rails模型和控制器.它同样快,即使不是更快,也更容易维护,并且具有更小的代码库.

确保将活动记录配置设置为不在json中包含模型的根名称,以便Ext的JsonStore读取记录没有问题.ActiveRecord BASE上有一个选项,include_root_in_json你必须设置为false.

确保在Ext中正确定义Application类并最大化代码重用,并且您将需要某种方法来清理DOM中未使用的节点.除非您使用最新版本的Safari或Firefox 3.1,否则Javascript性能可能会非常痛苦.

您可能需要某种缓存方法,以便在加载页面时以JSON格式将服务器上的数据提供给您的应用程序.这将减少通过Ajax的往返次数.

绝对使用Ext的WindowManager和StoreManager对象,或从Ext.util.MixedCollection中自己滚动

在单独的可管理文件中开发代码,然后有一个构建过程将它们组合到一个文件中,然后在其上运行YUI的压缩器或Dean Edwards Packer来压缩/混淆文件.在他们自己的单个文件中提供所有JS和CSS,包括Ext提供的文件.


为'分离并稍后组合'构建过程+1.这对所有重型JS应用程序来说都是必须的.

2> Chii..:

[2012更新] ExtJS被Sencha收购,后者提供GPLv3许可证和两个商业许可证.

[2008年10月评论] ExtJS在技术优势方面表现出色,但几个月前获得许可的惨败让我看到了其他框架 - 我现在根本不相信ExtJS的创造者.我不喜欢他们如何措辞他们的许可,以及他们如何假装成为开源倡导者,同时显然试图从那些相信他们的人那里获得不公平的利益.

我只是出于道德原因反对使用ExtJS.



3> 小智..:

这属于米兰对我以前的回答的评论,但作为一个新手,我没有足够的声誉点来回复:

"sp is undefined"存在问题,这是Rails将JavaScript文件缓存到一个大文件中的结果(否则会有几百个文件).缓存引入了一些奇怪的错误,其中包含了新行,这些错误将整个事情都抛弃了.这让我把头发拉了一会儿,但解决方案是将Ruby从1.8.6(补丁级别72)更新到最新的1.8.7.这解决了这个问题,所以如果你想看一下,请再次检查(你需要进行全面刷新才能击败资产缓存).

我很高兴你之前遇到过Ext MVC的东西.目前我完全相信它一定很难理解,主要是因为缺乏示例,教程和演示.然而,代码本身有相当好的文档记录(至少是新代码,还有很多需要清除的代码).

我目前正在重构几个关键类,然后才能准备好'释放'.当它准备就绪时(我想了几个星期),我将生成文档并设置一个包含一些演示和示例代码的快速站点.当我这样做时,我会在我的博客上发帖子(http://edspencer.net).

我的目标是尝试提供一个框架,使得编写这种类型的应用程序变得更加简单,并建立一些约定.目前还没有结构化ExtJS应用程序的共识或默认方式,因此我们可以做的任何事情都是朝着正确方向迈出的一步!评论和贡献非常受欢迎.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有