易联主机
主题: KE 4.0基于jquery怎么样?
作者: Roddy, 发布日期: 2009-10-02 00:15:07, 浏览数: 3538
jquery对于编辑器核心作用不大,但做UI和效果非常方便简洁,而且现在很多网站默认用jquery了。
不过用其它library的网站要额外引入jquery,jquery的体积现在不小。有一个折中的方法是提取jquery的部分代码,不过这么做的话不能使用jquery的各种插件意义不大。

优点:
1. 已经引入jquery的网站节省不少代码。
2. 可以用到jquery的各种plugin,开发UI方便,容易做出效果。
3. 可以集中精力开发编辑器核心。

缺点:
1. 对于没有引入jquery的网站来说代码容量过大。


作者: Paull, 发布日期: 2009-10-05 08:58:53
绝对支持,我做的站一般都用了jQuery,代码可以省不少。

但不是大家都用jQuery的,建议开发两个版本?一个原来的一个基于jQuery的,更新起来会不会太累噢@_@,但肯定会有更多的用户和开发者的加入。

有个建议,一些常用的样式操作(比如插入层)自动生成的style如果能内置成css类名的话,可以减小不少源码量(当然是文章足够长或数量足够多时)。

老大生日是19811211哦o.0?
作者: Paull, 发布日期: 2009-10-05 11:51:39
我喜欢你的代码风格!期待你的jQuery style
作者: alacner, 发布日期: 2009-10-07 23:23:36

老大生日是19811211哦o.0?

哈哈,那我刚好大老大5天。。。

作者: 阿辛, 发布日期: 2009-10-08 21:17:30

建议不要基于任何javascript框架

一旦基于某一个js框架,那么对于使用不同js框架的项目就不利于集成,存在兼容性问题隐患

如果谁需要基于jquery等js框架的,那么已经有很多此类的编辑器了,例如国产的xheditor,是基于jquery的不错的编辑器。

选择kindeditor就是因为它独立、代码少而精

作者: lindh, 发布日期: 2009-10-10 01:52:29
建议不要,不要失去方向

如果有两个版本

另一个版本加入jquery
作者: army8735, 发布日期: 2009-10-10 14:54:05
还是发布原始版本吧,然后出个基于jquery的衍生版~

这样的话俺倒是喜欢改写个mootools的衍生版~
作者: wo_is神仙, 发布日期: 2009-10-10 17:17:48
支持,强烈支持
作者: ahahah, 发布日期: 2009-10-14 22:46:08
强烈反对..如果要是基于其他的框架,我就只能去选择FCK了...只能伤心的离去了.
作者: IT北瓜, 发布日期: 2009-10-19 15:29:03
支持发出基于jQuery的版本。著名的Tinymce已经有了jQuery版本etc_30.gif。。。
作者: 喳喳鸟, 发布日期: 2009-10-20 11:31:30
不要在错误的道路上越走越远。体积小是这个编辑器的最大优势,否则我早就选择fckeditor了。在我们bbsmax 4决定使用kindeditor的时候,kindeditor只有70K不到,随后体积一路增大,达到了90K以上。如果引入jquery,体积则会增大到130K以上。那我为什么不选择fckeditor呢?经过精简,fck也可以减少到100多K

首先我想问:引入jQuery的目的是什么?在目前已经实现了所有功能的前提下,是为了引入而引入吗?是为了感时髦吗?

bbsmax.com 喳喳鸟
作者: Roddy, 发布日期: 2009-10-20 14:18:47
TO 喳喳鸟:

4.0还在构思阶段,当时想基于jquery的目的是想从UI开发解放出来,专注开发核心部分,因为目前编辑器的事件、DOM操作、菜单、TABS、弹出窗口等jqueryui已经都有。
不过现在看来jquery代码已经超过4000行,而kindeditor.js才2000多行,引入4000多行代码换取开发方便性不是一个明智的选择,除非浏览器里直接集成该框架。编辑器其实就是2大部分(核心和壳),大多数轻量级编辑器都是一个壳,核心都用浏览器提供的execCommand。execCommand最大的问题是很难控制生成出来的代码,每个浏览器生成的HTML不一致。浏览器厂商们短时间内不太可能解决execCommand问题,所以我认为利用selection和range控制编辑区域是以后编辑器的发展方向,比如现在ckeditor现在很少用到execCommand。
KindEditor 3.2开始采用结合execCommand和KE.cmd的模式,部分功能不再依赖execCommand,比如文字颜色、文字大小等。虽然体积增加很多,但相当于卸下古老的引擎装上新引擎,为随心所欲控制编辑区域打下基础。

关于代码体积你有误解,KindEditor发布代码没有做过任何的压缩,压缩后和压缩前的大小差距很大,所以直接比较大小很不合理的。kindeditor-3.3.1的js代码为2590行,经过gzip压缩后才18KB,如果再用js压缩器压缩的话更小。刚才查了一下jquery的代码是4000多行,prototype是4300多行,mootools是3900行,tinymce是11000多行,从这些数据看出KindEditor容量方面还保持着很大优势。
作者: xiaocase, 发布日期: 2009-11-03 14:20:08
还是建议作者继续保留现有的开发方式。
然后参考tinymce(已经有了jquery版本)和ckeditor(原fckeditor,从3.0开始改名ckeditor,3.1版本也将出现jquery版本)。实现一个jquery的插件式版本。
虽然jquery很流行。但是还是有很多网站采用mootools,yui,dojo之类的。
作者: venus, 发布日期: 2009-12-01 17:01:10
作者: 阿辛, 发布日期: 2009-10-08 21:17:30

建议不要基于任何javascript框架

一旦基于某一个js框架,那么对于使用不同js框架的项目就不利于集成,存在兼容性问题隐患

如果谁需要基于jquery等js框架的,那么已经有很多此类的编辑器了,例如国产的xheditor,是基于jquery的不错的编辑器。

选择kindeditor就是因为它独立、代码少而精


严重赞同兄弟, 我平时用的JS库就是mootools, 万一基于 jquery, 那会不兼容的.
作者: lpz, 发布日期: 2009-12-08 13:46:17
强烈支持!强烈支持!强烈支持!
作者: lpz, 发布日期: 2009-12-15 11:24:44
建议使用Ext的Adapter模式,把UI、公共函数等代码抽取出来,一个是自己写的公用函数库,一个是JQUERY,中间通过适配器kind-adapter.js或jquery-adapter.js连接起来。
作者: OA系统架构师, 发布日期: 2009-12-15 13:41:36

以一个开发产品的角度看 不太建议基于Jquery
     1,版本的兼容问题,你们要对应所有Jquery的版本问题,对于产品开发来说版本的问题是很麻烦的一件事
     2,商业模式的问题,以后不管你们走商业模式,Jquery的版权许可会影响你们的
     3,失去专注性,我觉得你们的产品定位应该是“世界上最好的在线HTML编辑器”,而不是想Extjs一样提供UI
         Action等全套解决方案,以后可以这么发展但 我觉得先专注为好,因为KindEditor还有很多完善的余地,
        以及有一定的市场前景,跟楼上的朋友说的可以做Adapter或把你要用的Util方法抽出来单独弄一个包也行,
        源代码是分包的,最后发布的时候可以用批处理来合成就行了。。。。这只是建议

作者: img, 发布日期: 2009-12-19 17:07:56

看了各位的讨论。虽然不才。也想说两句:

凡事都有优劣, 基于jqurey与否, 也可以就这两方面来分析。

优势:
     1. jquery的目前的流行会让ke有更多的潜在用户群。无论是 jquery, mootools 或其他,都有着自己的用户群,基于以上的 js 框架开发的插件形式的KE, 会更容易得到该框架用户群的青睐。
     2. 代码量减少,实际代码是1+1<2, 而效能是1+1>2, 为什么这么说呢。因为,一般的基于web2.0理念开发的站点,都会特别注重用户体验还有视觉效果, 那么在这些站点中十有八九是基于某一流行的JS框架的,依托框架,KE会节省大量用于POP WIN,lightbox, ajax之类的代码,功能拓展也会较以前容易。而至于框架的更新, 到不用太担心,毕竟JS 框架也会考虑到老plugins的兼容性,就算新版本出来了,应该升级老plugins也不会很麻烦。
     3. 可以与某些在JS框架下比较流行的plugins直接配合使用,无须新写代码。

劣势:
    1.工作量增加,维护双版本的KE,而且这两个版本将越离越远。KE毕竟是个编辑器,而不是框架,也不可能做框架的事,基于体积原因,很多功能构思或许会被舍弃。 而插件式的框架,会基于框架有更多的拓展功能,而仅需少量代码。
    2. 泥足深陷,选择了jquery,  会继续有mootools等别的框架用户要求支持。。。
    3.  独立版本的发展停滞。或发展方向不是继续简单的路线,而是走复杂的路线了。


建议:
    开发双版本,独立版和JQ版本。
  1。 独立版本走简约路线。 删除一些不必要的功能。尽量地减少代码行数。 因为按需求来说,抗议基于框架开发的用户是对性能的苛刻要求者,而对于视觉效果或用户体验,则可免则免,因此,走极简路线式是符合他们的需要的。
  2。插件版本走绚丽路线。 在基于JQ的基础下。可以极大扩展KE的功能(有些功能还不必写,直接和第三方插件配合),扩大社区规模, 引进JS框架用户的讨论和共同建设,例如如何给KE加上AJAX UPLOADER 功能等等。

作者: Roddy, 发布日期: 2009-12-19 17:30:39
非常感谢img的建议。KE 4.0还没有开始开发,目前是摸索阶段,可能刚开始做一个prototype做一下试验。
我对KE 4.0的想法是:
1. 主版本不基于任何框架,但基于其它框架的版本也想要。
2. 分开开发和发布目录,使用打包机制,开发时代码全部模块化,发布时合并成一个文件。这样不存在轻量级和重量级区别,功能越多体积就越大,当然这样做对代码架构有非常高的要求。
3. 引入自动化单元测试,代码做到模块化之后做单元测试比较方便。
4. 设计完整的接口。3.x系列版本刚开始没怎么考虑过接口标准化,接口设计的不好,不利于用户自己写插件。


作者: 大摇大摆, 发布日期: 2009-12-20 10:44:08

自动判断jquery库,如果存在,调用之,反之调用自带库,自带库尽量与editor分离,减少耦合度。jquery具备极强的dom处理能力,ajax支持,完善的事件处理,丰富的插件,得大于失。jquery完全可以将现有的ke代码减少到1500行以内。

作者: 冰火, 发布日期: 2010-01-08 14:03:50
有什么可争论的,发布一个基于jquery的版本,只会好,不会坏,干脆,好人做到底,依次发布:
jQuery版
yui版
xx版
好了!!
祝贺KindEditor越走越好!@_@!
作者: 冰水咖啡, 发布日期: 2010-05-27 14:39:34

不太同意基于JQ。

 

还是做自己的好,

作者: 云端o枫o0, 发布日期: 2010-06-21 09:45:42

我做网站也是都会用JQuery的,不过编辑器这东西要通用最好就别基于某个框架

 

否则用那个PT等框架的人就郁闷了。   

作者: axgle, 发布日期: 2010-06-21 16:31:12

抽象层+

实现层:可以基于当前的实现,也可以基于jquery,也可以基于prototype,无论什么

类似extjs那样

发表回复