11

我开始试用 Sencha Architect,我使用它的次数越多,我想到的关于它在开发环境中的实际可行性使用的问题就越多,我遇到的一个更大的问题是

在您无法在不同编辑器中编辑单个文件的环境中,多人如何协作开发网站的不同部分,例如

app/models|components|views/Model1.js  <- In charge of developer one
app/models|components|views/Model2.js  <- In charge of developer two.

例如,在常规环境中,您可以使用 git 分发每个文件,但在架构师中,您不需要手动编辑文件(这很糟糕,因为架构师中没有公开配置文件等功能)。如果您手动编辑它们,它会导致问题,或者它可能会将您的代码覆盖回项目文件中的任何数据,所以我想知道与 Sencha 的正确或预期的协作工作流程是什么。

4

5 回答 5

21

阅读了上述帖子后,我仍然无法相信将 Sencha 元数据文件保存在代码存储库中并从元数据生成所有 JavaScript 适合大型项目。

Sencha Architect 的想法是让代码不保存在 javascript 文件中,而是保存在 JSON 元数据中,每当您需要编辑 JavaScript 代码时,您都必须使用 IDE 并编辑元数据。Phil Strong 说:“我们要求您继续使用 Architect 作为您的编辑器,并且使用 Git 或 SVN 与 20 名工程师一起这样做是完全安全的。”。当然,这个工作流程对 Sencha 来说是非常有利可图的,它迫使 20 个人使用授权的 Sencha Architect,因为要更改一行 JavaScript 代码,开发人员必须使用 Sencha Architect。

当两个人编辑同一个文件时,IDE 会更新元数据。然后他们将文件签入代码存储库,其中一个必须解决冲突,因此开发人员必须合并两个元数据文件,而不是 JavaScript 文件。

除非开发人员使用 Sencha Architect,否则不允许开发人员编辑 JavaScript 的整个想法适得其反,因为同一个人可以使用他最喜欢的 IDE 同时进行 Java 和 JavaScript 开发,或者 Python 和 JavaScript。在同一个 IDE 中进行客户端和服务器编程比在两个 IDE 之间切换要快。一个大项目的现实是,您在全球有多个团队使用不同的 IDE,您也可能有一个由承包商实施的短期项目,他也拥有他最喜欢的 IDE。

ExtJS 是一个设计良好的框架,你不需要 SenchaArchitect 来修改一行 JavaScript 代码。

使用 JavaScript 编码时,我保存我的 JavaScript 文件并刷新浏览器,然后立即查看更改。Sencha Archtect 增加了一个额外的步骤,它需要你发布 javascript(从元数据生成 JavaScript),并且项目越大,延迟越长。通常我必须在生产中修改 JavaScript 文件,有时更改一行可以解决问题,再次,我必须使用 Sencha Architect 从元数据重新生成这一行。

我只使用 Sencha Architect 进行快速原型设计,然后将生成的文件签入代码存储库并继续手动编辑 JavaScript。通过这种方法,我可以使用版本控制系统来查看 JavaScript 的历史。如果我将 JSON 元数据签入到 VCS 中,那么我将没有 JavaScript 的历史记录,我将拥有违反直觉的 JSON 元数据的历史记录。

我认为拥有 GUI 表单的元数据是可以的,但是 MVC 控制器级别也必须从元数据生成的限制是不行的。

于 2012-12-21T09:24:52.610 回答
10

虽然我非常感谢 Sencha 在创建有用且功能齐全的开发环境方面所做的努力,但我认为 Sencha Architect 还没有为相对较大的项目和开发团队做好准备。

我最初的 Architect 软件对于快速原型设计和设计复杂的 UI 结构非常有用,但话又说回来 - 在你弄清楚你的 UI 元素将在 JS 文件中放置的方式之后 - 通常复制粘贴现有的 JS 代码会更容易和更快。

我认为这不是您要寻找的答案,我只是想分享我的想法。

于 2012-05-15T12:46:14.470 回答
4

当我搜索相同的主题时,我发现metadata/目录是项目的重要内容,并且所有组件都被分离到它们自己的元数据文件中。这与根级项目文件一起,可能是版本控制的重要部分。保存时会app/重新生成,并且可能会从版本控制中排除。

主要的 xds 项目文件包含更通用的引用,并且可能比元数据组件更改的频率更低。但是当创建新组件或修改项目/应用程序级别设置时,它会发生变化。

理想情况下,如果您只签入根文件和元数据文件夹,它应该可以正常工作。

于 2012-05-16T23:27:09.543 回答
4

使用 Sencha Architect 在具有源代码/版本控制的团队中工作非常容易。一个 Architect 项目都包含在一个项目目录中。里面由n个部分组成

  1. 项目文件 - 由 Architect 用于打开和维护您的项目的少量数据组成。这是单个文件,您可以双击打开它

  2. 元数据目录 - 由描述项目所有部分的文件组成。每个类(控制器、视图、模型、存储、资源)都将其信息存储在自己的文件中。 元数据

  3. app 目录 - 包含您创建的项目的 src。每个类都有一个 javascript 文件。 应用程序

  4. 其他根文件 - app.html 和 app.js,它们是应用程序的启动板,以及预览应用程序时运行的内容。这也是您的 packager.json、app.json 所在的位置。

我描述所有这些的目的是向您展示 Architect 生成的文件与您在最喜欢的编辑器中手动创建的文件几乎相同。唯一的附加信息是元数据和项目文件。元数据都是 JSON。

目前!!我们要求您继续使用 Architect 作为您的编辑器,并且使用 Git 或 SVN 与 20 名工程师一起这样做是非常安全的。当开发人员进行更改时,它会更改这些文件的元数据和应用程序。

在此处输入图像描述 在此处输入图像描述

于 2012-05-24T14:12:27.890 回答
2

我在私信中向 Sencha 的 Aaron 提出了同样的问题。他建议检查整个项目结构,包括应用程序和元数据。它有效,我们在团队中做了一个流程。

于 2012-05-16T20:50:49.980 回答