自从[关于qwikioffice EXT2 desktop转JSP的发展方向] 文章发表以来,众多朋友加入到这个队伍来,而我之前太忙,使得进度缓慢,让大家有所失望。春节回来后,在女友的鼓励下,连续几天高强度的研究qwikioffice的PHP代码,终于使得此工作有了突破进的进展。但是,由于开始设计的思路上不太完善,目前虽然已经基本实现了在JSP平台上的使用,但是,在将来的扩展及使用上,很可能会带来意外的麻烦。
发布一下关于qwikioffice研究的几个项目的SVN地址,有兴趣的朋友可以down下来一起研究研究:
http://javabushome.googlecode.com/svn/trunk
以前的版本(很久很久以前
),内有使用说明和SQL脚本
http://osbus.googlecode.com/svn/trunk
正在进行项目
目前系统的整体构思,主要是以[关于qwikioffice EXT2 desktop转JSP的发展方向] 文章里的理念为基础,原则就是坚决不修改原系统的任何代码,在另一个目录里建立JSP的登录及首页,我们的系统就将全部在这里运行,所有操作都是以JSP平台读取PHP版里的JS,CSS资源,然后在内存中进行一系列的替换操作,将以前需要PHP运行时动态生成的代码用JSP平台语言来生成进行替换,同样,再替换掉CSS里面使用的图片等资源的路径。然后,整个系统制作完成后,将其进一步独立化,使得其可以简单轻松的应用到我们的任何工程里。
按照以上的思路,整个项目进程,已经能正常显示桌面了,不过,还不能运行里面的模块功能,也许再要一两天研究,就可以解决这些问题了。
整体看来,似乎就快要成功了,但是,我现在一点也高兴不起来,因为,我在开发过程中,已经发现了一些可能会给我们将来扩展功能模块带来麻烦的因素。最大的问题就在于图片等资源的引用地址的替换上,现在的系统里,都是经过我手工发现需要替换的资源,在到相应的service里加上替换语句。这样类似穷举法只能做到已知的,在系统众多不确定因素里,这样的操作显示不是很恰当的。也无法轻松的兼容PHP版里的其它未知的模块。
由此看来,整个项目的构架已经失败了。
其实,在这个项目启动前,我考虑得很多,但是,唯一考虑不足的就是资源文件地址过滤替换的问题上,当初想得过于简单。
目前,我感觉,已经没有必要再继续这个项目了,这个项目只能算是一个练习作品,离应用上差距还很远。但是,作为一般的朋友还是可以通过查看这个项目来熟悉一下qwikioffice。
虽然,我已经说这个项目失败了,但是,我不打算放弃qwikioffice,我想,通过这次练手之作,有了一定的经验,我想重新开始,新开一个新项目,尽量做个好的系统。
********************************************************************************************
关于新项目的构思上,目前,我有两种想法:
第一种想法与上一次的思考差不多,可以将上一次的代码直接利用大部分,也是不修改任何PHP的代码,直接在PHP的代码上运行,而不是像上次那样,在新的目录下建立JSP下的登录和首页页面。我的意思是,通过Struts2,将PHP配置成Struts范围,通过Struts接管了PHP的请求,这样,我们就可以在Struts中通过JAVA语言来进行处理,又保证了原系统的目录结构,不用担心资源的地址修改问题,而且Struts2里可以使用通配符来将所以不同结构目录下的PHP都响应到统一的Action上进行处理。目前感觉上,可能在这个Struts2的配置上有点难,其它暂时没有想到什么重大问题。不过,有个困扰,那就是:如果这样做的话,大部分代码就要按照原PHP系统去做,使得出来的代码很难以J2EE的思维思路去理解,再说,那都是老外的代码,看起来很费劲,很不符合中国程序员的习惯,所以开发过程也会比较郁闷。
第二种想法,就是完全抛开PHP官方的系统,只学习它系统中的关于EXT的内容,其它的东西完全抛开,全部以目前我们的开发习惯进行开发,在JS模块功能上,尽量做到与它相同,以最大支持将来功能模块的移植。这样做的话,我们可以抛弃PHP版里的太让人烦的表划分(顺便说一下,PHP版里的数据库设计让人在开发中很难受,分得太细了,让我们想做点什么,都要N个表联合查询,太难受了),还可以不受PHP的影响,使用自己的思路进行开发。这样做的好处就在于对J2EE的完全支持,坏处就在于可能造成与原PHP版系统差异,以及在原PHP版进行升级时,同步升级困难。
**********************************************************
作为开发者来说,我很想采用第二种方式,以摆脱被那PHP代码及可怕的表结构设计的烦恼,但是,又担心自主开发时带来与pHP版的差异及升级性问题。目前,我想,还是两个想法同步进行,这样就可以在同时进行两个项目中,相互借鉴,说不定,将来两种方式都成功了,又让世人多一种选择。
如果新考虑的这两种思路开始了的话,我会第一时间公布项目的SVN地址,希望有想法的朋友们也和我一起来。
Tags: 桌面 qwikioffice JSP EXT2 ibatis spring2 busfly项目开发 MYSQL数据库 |
原创文章如转载,请注明:转载自:巴士飞扬-技术BLOG : http://www.busfly.net/
本文链接地址:http://www.busfly.net/post/qwikioffice-JSP-EXT2-Desktop.html
如果你喜欢本文,请顶一下,支持我,你的支持是我继续发好文章的最大动力。谢谢。
好东西需要分享,快把本文发给你的朋友吧~!~