我需要使用ExtJs来编写我的下一个项目。 它是一个不错的Javascript库,但我不完全理解它的思想。 以文档页面为例。
我应该像那样使用extjs来编写我的Web应用程序吗? 只有一个页面永远不应该被刷新, 所有操作都是通过AJAX完成的?
如果要到达正确的位置可能需要很多“点击”和与之交互的工作,那么如何调试这样的应用程序呢? 你不能修复错误并刷新浏览器以查看结果。
有什么建议吗?
我需要使用ExtJs来编写我的下一个项目。 它是一个不错的Javascript库,但我不完全理解它的思想。 以文档页面为例。
我应该像那样使用extjs来编写我的Web应用程序吗? 只有一个页面永远不应该被刷新, 所有操作都是通过AJAX完成的?
如果要到达正确的位置可能需要很多“点击”和与之交互的工作,那么如何调试这样的应用程序呢? 你不能修复错误并刷新浏览器以查看结果。
有什么建议吗?
我认为在任何情况下都可以使用ExtJS,如果你刚开始接触它,可能更有意义的是用你最熟悉的方法,并逐步添加一些ExtJS“调料”。但是,一旦你开始使用它创建单页应用程序,并且后端只输出JSON,你可能永远不会再回头使用旧方式来制作Web应用程序。
要进入我的联系人管理器,我浏览到:
这两个“页面”实际上在同一页上,使用应用程序时导航不会真正将我重定向到另一个页面。哈希是唯一发生变化的部分。
window.location.hash
并使用它来更新应用程序的状态。我参与了一个复杂的项目,它是基于以下技术构建的:
我们没有做实际的单页应用程序,但确实减少了页面数。应用程序中的每个工作区通常都是一个单独的页面。所有界面处理要么在客户端使用ExtJS完成,要么在WCF服务内的服务器端完成,该服务向ExtJS客户端界面提供数据。
它运行得非常好。
今天我可能会改变一件事情:我会从Asp.net + WCF迁移到Asp.net MVC。它更适合这种情况。
关于调试,我们广泛使用了Firebug(Firefox插件),就像其他开发人员一样。
但是使用ExtJS库非常成功。它使得轻松创建类似桌面的数据密集型Web应用程序成为可能。对于任何专业的Intranet Web应用程序开发,它都是一个很好的统一库。使用jQuery及其插件时,您总是会遇到社区提供的不同插件的问题。在这方面,ExtJS非常统一,并提供了非常漂亮的外观和感觉。
我认为这就是想法:在Web环境中以某种方式匹配桌面应用程序的感觉,这意味着几乎所有功能都使用Ajax。
至于调试,firebug是你的好朋友。但是调试桌面应用程序与其类似,在其中也可能需要大量点击才能找到错误。
关于测试ExtJs...
这里有一个测试工具,可以测试ExtJs组件(此工具使用ExtJs制作!)
我个人还没有使用过它,但我看了演示视频,感觉非常不错!
也许社区成员知道其他专门测试ExtJs的替代工具?
附注:我与Sencha(ExtJs)或Bryntum(Siesta)没有任何联系。我在客户层面上使用ExtJs。
你不必这样写。有时候这样看起来很好,而且更快(没有刷新新页面)。
你可以使用一些自动化测试工具或自己编写javascript的自动记录程序来完成你的任务。通常调试整个页面并不是一个好主意。如果它被模块化构建,那么就更容易了。隔离问题会更容易。
此外,考虑使用firebug进行调试,它可能会帮助你解决问题。
建议:这取决于你在做什么。如果你正在制作高度交互式页面,那么以这种方式做可能是一个好主意。它更快,ajax请求可以降低服务器负载。另一方面,这样做需要更多的时间。
我正在使用ASP.Net MVC和ExtJS。虽然它不是单页应用程序,但它很接近,感觉像一个单页应用程序。
此外,我们还有一个Web Forms应用程序,有数百个页面,我们在这个应用程序上应用了一些ExtJS UI小部件,使用了大量IFrame,它仍然运行良好并且看起来很棒。但我不喜欢使用Web Forms模型,并尽可能避免使用它。
在我看来:
ExtJS
总的来说,ExtJS是一个很棒的框架。