真实世界的项目结构与Sencha Architect



我是Sencha ExtJS和Architect MVC的新手,但我知道MVC和其他一些JQuery库。

我想问一下,当构建一个现实世界的系统时,在Architect 2中布局Sencha应用程序结构的正确方法是什么?

例如,我们的应用程序中有以下部门,它们有不同的功能:

Accounting, Controlling, Quality Assurance, Customer Services, Human Resources, Logistics, Purchasing, Sales, Records Management ...

方法1:在不同的Sencha Architect项目中编写它们。缝合主布局页面+主区域+页眉/页脚+侧栏页面。(使用MVC。. NET)

——优点:

  • 在敏捷中,多个程序员可以在不同的子项目上工作环境。

  • 每个项目都更小,更容易升级或更换。

,缺点:

  • 我们有不同的Sencha Architect项目,例如主要区域,侧栏,页眉,页脚。他们是如何相互合作的?我们现在只使用JQuery在它们之间传递信息,但感觉有点粗糙。

方法2:将它们都写在一个大的Sencha Architect项目中。因此,它在一个app.html页面中启动,其中包含所有内容。

——优点:

  • 现在项目中的每个组件都可以相互协作。

  • 一个真正的单页app All-in-One app.html看起来不错。

,缺点:

  • 如果多个程序员在一个Sencha Architect项目上工作,会有困难。

  • 这是一个大而复杂的应用程序。虽然它被分为简单的app, Store, M, V, C类,但我们可以在更大的项目中对组件进行名称崩溃。

  • 加载速度可能是一个问题?我只是猜测,因为我们不知道Sencha Architect MVC设计是部分地加载相关窗口和组件还是全部一起加载。

问题是,如果我们采用第一种方法,我们如何在不同的项目之间进行沟通?如果我们采用第二种方法,Sencha Architech 2的设计是否以这种方式构建现实世界的项目?把所有东西都放在一个大项目里?

首先我要说的是你思考这个问题的方式是正确的。你的优点和缺点都很准确。

我是Sencha Architect团队的一名工程师。

我的建议是拥有更松散耦合的独立项目,并且可能通过门户/仪表板应用程序连接。glue应用程序可以用任何语言编写,包括Architect中的Ext JS。

我这么说的原因很简单,我不喜欢把所有的鸡蛋放在一个篮子里,如果你建立了单页应用程序,你就会知道当它们工作时,它们真的很响。但是,当未捕获的javascript异常发生时,它可能迫使用户必须进行完全刷新以返回到愉快的状态。当然,如果你是完美的,这种情况就永远不会发生。

我构建了Architect,这实际上是一个非常大的单页应用程序。作为一个团队,我们都尽最大努力保持每个系统能够尽可能少地依赖于任何其他系统。我们使用事件、发布/订阅、适配器和插件模式等…

这些系统被分解成独立的命名空间和目录,像所有软件一样帮助开发人员进行划分。Architect今天并不完全支持这个想法。然而,根据惯例,你可以接近。例如:HRController, HRNewEmployeeForm, HREmployeeGrid

拥有HR作为一个单独的应用程序,然而,为您提供HR。EmployeeController、人力资源。NewEmployeeForm假设你的应用程序名称是HR。每个应用程序都是一个独立的项目,这也使得开发团队在部署时更加灵活!!重大胜利。

其他用户已经采用了这种方法,其中一个用户使用托管iframe方法将他的所有项目图放在一起http://www.sencha.com/forum/showthread.php?243179

Asp。. Net MVC是另一种很好的方法,可能会给你提供一些功能,如用户认证等。

希望这对你有帮助!

最新更新