作者:Nikita Savchenko
来源:InterSystems开发者社区
大家好!本文介绍了如何在不使用Studio或Atelier等集成工具的情况下开发InterSystems解决方案。本项目的所有代码都可以用“传统”源代码文件进行存储,可以在自己喜欢的开发环境中编辑(例如Visual Studio Code),可以被任意版本的控制系统索引,并且可以与多种用于代码分析、预处理、打包等的外部工具任意组合。
本文所介绍的方法适用于基于InterSystems产品任何类型的项目。我本人已经利用这个方法开发了一些应用程序(包括WebTerminal,Visual Editor和Class Explorer)。本文演示了一个完整的开发周期——不是传统的InterSystems开发周期,而是一个实用的开发周期——你可以将其应用到自己的开发中。
以下项目实例均使用本文中所述方法:WebTerminal、Class Explorer、Visual Editor及Entity Browser(其他一些项目可能也采用了同样的方法——欢迎大家留言评论!)。如果想要检查这些项目的文件结构,请单击“Repository”标签后面的“Open”按钮,重定向到GitHub。我在开发这些项目期间完全没有用到Studio/Atelier!
下面介绍几种实现这种项目开发技术的最简单的方法,每种方法都可以修改和扩展为一个完整的工具,用于在InterSystems Caché中导入、组装甚至调试项目,不过本文只是提供一些基础知识,并说明其可行性。
本文描述的开发方法具有以下特点:
- 整个项目(其源代码)位于文件系统中,具有任意目录结构
- 项目目录由Git版本控制系统建立索引,包含导入/编译项目所需的自述文件、配置和脚本
- 类的源代码为CLS格式(如Studio/Atelier中所示)
- 该项目的开发工作完全在文件系统中完成,可在任何外部文本编辑器或IDE中编写代码
- 这种方法的主要特点是可以连接任何附加工具,如代码预处理(比如在编译阶段的存根替换)、前端组装等等
本文只讨论ObjectScript类文件,不涉及ObjectScript例程、CSP及其他文件。可以用与ObjectScript类相同的方式组织第一个类的工作。如有必要,用户自己可以类比文中提供的示例实现ObjectScript例程导入支持。至于CSP文件,这些就是磁盘上的文件,所以根本不需要导入。要让CSP文件与InterSystems应用程序一起工作,只需将它们复制到应用程序的目录中即可。
除了安装最新版(2016.2+)的InterSystems Caché(Ensemble,HealthShare)或InterSystems IRIS之外,本文介绍的方法不需要使用任何额外的工具和平台。文中附加的客户端代码组装和预处理是使用Node.JS构建的。但是你可以使用自己喜欢的任何其他技术。NodeJS是一个开源的、易于使用的平台,之所以选择它是因为它已经为我们将要执行的任务构建了许多现成的包。
为什么要在非InterSystems IDE中进行开发?
问题来了,为什么不继续在Studio里开发,或改用“新的studio”,比如Atelier?完全不使用这些IDE有什么意