dinghao

记录成长点滴

 

新建立一个类似于CuteEditor的项目,希望有人参加。发布一个测试版本的dll

 决定完成一个开源项目,暂时命名为WordEditor
分三步完成,第一步以某个现有的Editor为蓝本,完成一个类似的实现。目前,参考Cuteeditor的一个实现已经完成,大概有CE百分之八十以上的功能。

之所以仿照CE,一是因为他的界面最酷,二是因为它的源代码用了混淆,做类似的实现比较有意思。

不过,现在想来选择CE做蓝本是一个错误。因为除了界面比较酷之外,他的服务器端代码很烂,一方面为了达到更好的混淆,用了大量的内部类,另一方面用了很多奇怪的方式实现控件。把许多简单问题,弄的很复杂。

RadEditor是这两天我刚看到的另一个编辑器,它的界面很酷,服务器端代码也很好。他的服务器端实现和我的想法很相似,比较符合正常人的思路。可以说是,把复杂问题简单化了。只是看到这个实现时,第一阶段已经完成。

今天看到一个报道说“从公布的录像来看,日本隐形战斗机实际上是F-22的翻版,整个外形几乎一模一样,配备两台具有矢量推力的发动机,虽然看不到武器,但所有武器似乎也是内置的。如此看来,日本隐形战斗机为了“少走弯路”,几乎“全盘借鉴”了F-22的设计思路。”

同样,为了完成WordEditor,从头空想,一点点的实现,远不如以现在某个比较成熟的项目为蓝本,先仿照他的实现,然后再按照自己的思路重构。

这样可以:

1、  弥补自己的不足,如此项目中的Javascript

2、  一开始项目就达到了比较高的水平。

3、  吸取他的优点,并避免它的缺陷。

第二步,重构服务器端代码(估计两到三周时间)

由于CE的服务器端实现,很不符合正常的思路,只是说和我的想法差别很大。这一阶段会按照我的思路改写上一阶段的部分实现,如改写资源管理、Gzip

重构完成后会发布源代码。

第三步,把控件移到Ajax平台。

这一步是最关键的一个步骤,这一步完成后,这个控件才算真正的开始。

首先,把服务器端代码移到Ajax,可以利用asp.net ajax的基类,会省去服务器属性和脚本的映射代码。依靠Ajax平台,也使这个控件的扩展性和稳定性增强。

其次是,客户端脚本的重写。由于我js不好,这一步是比较头疼的问题。不过,有许多现成的脚步参考,应该也不会太难。

有想加入的可以和我联系,一起学习Ajax,我觉得以开发控件的方式学习,也是不错的途径,边学边写。要求熟悉Ajaxmsn:hao_ding@eyou.com 

部署方式,由于采用了CuteEditor的配置文件,只需要下面两步就可以应运这个库:

1、  WordEditor.dll替换掉CuteEditor.dll

2、  Dialog文件夹替换为附件中新的Dialog

使用方法,参考cuteeditor的文档
代码下载:
https://files.cnblogs.com/bluewater/cuteeditor.rar
效果图:

关于
Cuteeditor

他的服务器端实现很诡异就不多说了,他的客户端也是如此,以简单的toolbarbutton为例子:

<img command="Save" postback="True" alt="保存" themeindex="0" />

下面是Freetextbox

<img src=”bold.gif" border="0" title="Bold" unselectable="on" width="21" height="20" tabindex="-1" style="margin:0px;padding:0px;" align="center" />

下面是RadEditor

<img src=
"/DEMOS/ASPNET/RadControls/Editor/Skins/Default/buttons/Bold.gif" alt="Bold" title="Bold" />

当然,CuteEditor优点也不少,如事件处理方式。总之CE的实现方式和独特。
这个项目总览
http://www.cnblogs.com/bluewater/archive/2007/09/06/884990.html

几个Editor比较
http://www.cnblogs.com/bluewater/archive/2007/09/06/885001.html
cuteeditor6破解
http://www.cnblogs.com/bluewater/archive/2007/09/06/885006.html

posted on 2007-09-11 17:50  思无邪  阅读(2818)  评论(14编辑  收藏  举报

导航