天宫二号成功了,我也完成了从web平台到eclipse的编辑器对接,极大地提高了性能

快速开发师 发布于 2016/09/17 19:33
阅读 601
收藏 1

我14个月之前设计了一个拖拽平台网页版,网页代码编辑器(Codemirror)笨重消耗了大量浏览器内存,目前仅能支持html css等几种语言,且操作不流畅缓慢,显然不够敏捷,有时候还出现代码刷白,鼠标晃一下才出来;现在果断去掉直接搬到eclipse上来,采用eclipse的editor。从而实现了从浏览器到eclipse的“跨”对接: 由浏览器承担拖拽等交互设计,由eclipse本有的编辑器实现代码编码。各司其职各自发挥各自的优势。

我的原拖拽开发设计器模式:

codemirror + easyui拖拽:

1、设计器部分:浏览器做拖拽等动态复杂设计显然更优越:




2、代码编辑器codemirror,可以实现语法高亮 , 如果代码量大,浏览器会很慢,浏览器天生不适合做编辑器:

敲个空格,有时候感觉延迟,在这个编辑器里写代码,有种远程操控别人电脑帮别人写代码的感觉,你们懂的。


3、 而现在 我直接强制把网页设计器对接到Eclipse上来,这样的话,Eclipse自带的编辑器都可以被我所用,

例如编辑器部分直接内嵌HTML编辑器或JSP编辑器,这里是内嵌JSP:



4、 重点来了,去掉原来的网页codemirror编辑器,省掉浏览器消耗,专注于拖拽! Eclipse编辑器强就引用Eclipse编辑器,浏览器强于交互图形显示就专攻设计部分:


5. 深度解析 我说了是强制,但如何在web页面去操作eclipse的编辑器Editor,难度是想当然的难, 这是一个“跨”的操作,Explorer 和 Eclipse的跨进程交互,我已经实现,大家参考这篇文章:

https://www.oschina.net/question/2243631_2195049关于把Jetty内嵌在eclipse插件中的怪胎已实现

主要是在eclipse启动时的插件中内嵌了一个jetty服务器,jetty服务器和eclipse插件共享eclipse的Java进虚拟机程jvm,所以可以在Web Servlet中直接调用Eclipse的API,直接写rcp java代码.作为一个设计器和编辑器交互级rcp java代码,必须要做到 undo (撤销)、redo(重复) 、清空历史记录栈、获取编辑器的当前文本、修改编辑器当前文本,这些操作都是为了让设计器和代码编辑器保持同步。

须菩提。于意云何。须陀洹能作是念。我得须陀洹果不。须菩提言。不也世尊。何以故。


加载中
返回顶部
顶部