说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

专访UEditor创始人战毅:打造最佳的用户编辑体验

HTML文档下载 WORD文档下载 PDF文档下载
UEditor是由百度Web前端研发部开发所见即所得富文本Web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码。

UEditor是一套开源的在线HTML编辑器,是由百度Web前端研发部开发所见即所得富文本Web编辑器。其最早起源于为百科用户书写百科词条开发的在线编辑器。

UEditor在设计上采用了经典的分层架构设计理念,尽量做到功能层次之间的轻度耦合。具体来讲,整个系统分为了核心层、命令插件层和UI层这样三个低耦合的层次。其具有体积小巧、性能优良、使用简单、分层架构,方便定制与扩展等特点。


UEditor开发团队

我们采访了UEditor项目的创始人和核心开发者战毅,请他来详细介绍一下UEditor。

CSDN:UEditor项目是怎么诞生的?

战毅:最早是起源于百科,是为百科用户书写百科词条开发的在线编辑器。那时还没有UEditor,就是直接拿ck(CKEditor)作为底层,在上边开发了UI展示组件。但随着需求的变化,发现项目越来越不可控,因为ck过于复杂。2010年,代码已经有10万行了,做新的功能和修改bug都非常的困难,做编辑器项目的时间远远大于其他项目,而且因为用的是ck底层代码,他很多自身的bug我们无法修改,一旦有修改,可能会引起其他一系列的bug。

那时开会编辑组经常会被问到"bug收敛了吗",尽管我们已经非常努力了。因为这样编辑器被冠以最费力不讨好的项目。做走了很多人,基本上能坚持1年的算很长了。我印象最深的是做空间编辑器项目时,有个QA的MM,一做完编辑器项目就辞职了,原因是太累了。编辑器项目那时完全没有自动化用例,全靠手动测试,我要是修改一个底层代码,那QA要把所有的手动用例都过一遍,可以想象那是多么的痛苦。基于这些原因,UEditor诞生了,诞生它的想法很简单,就是我们要有一个我们自己完全可控的编辑器,可以满足pm的各种需求和修改各种bug。当时开源的目的就是想能从外部吸收更多的需求和bug,来更好的满足产品线,当时完全没想到,UEditor能做到今天这样,大家都在使用的局面。

CSDN:目前已有一些优秀的编辑器,比如FCKEditor,为什么还要开发一个?与FCKEditor相比,UEditor有哪些更贴近国人使用的特性?

战毅:主要是因为我们需要一个我们自己完全可控的编辑器。(例如,添加新功能和bug修改)。UEditor现在的功能比ck更加丰富,而且比他要小的多,整体的架构更加清晰。

UEditor的宗旨是打造“最佳的用户编辑体验”,我们在许多细节上完全是效仿Word的实现方式,比如对于多级列表、中文标示的列表、表格的操作、插入代码、粘贴过滤的支持、tab键的支持等等。

CSDN:在UEditor开发过程中最难的地方是什么?你们是如何解决这一问题的?

战毅:最难的地方是应该是对range的封装,这是编辑器实现的基础,所有功能实现的核心。要说解决,那就是自己实现一套,这样才能真正了解和掌握它。对于这块的实现,主要是参考了ck,因为到目前为止,对外的编辑器项目中只有ck和tinymce包括UEditor才是真正用JS实现range,而没有借助编辑器的原生接口。至于为什么不借助原生接口,大家可以看看5月份的程序员杂志,我写了篇《从UEditor谈Web编辑器技术》,详细介绍了这块。

CSDN:UEditor在百度内部的使用情况如何?使用UEditor的其他公司或项目有哪些?

百度内部基本上是全线覆盖了所有对于富文本这块有需求的产品线,现在还在为最后一个产品线百度贴吧,做定制编辑器,做完这个项目,就是100%覆盖了百度的所有产品线了。

在外部,像奇虎、腾讯、盛大、网易、联想等大公司,都在他们的很多项目里使用了UEditor,像51cto、中关村在线、音悦台等主流网站也在使用。还有像很多cms系统也都集成了UEditor。现在,UEditor是国内使用量最多的富文本编辑器项目。

CSDN:UEditor团队有哪些成员?你们之间是如何分工和协作的?

战毅:我们现在开发有3个,2个QA同学。上次发布1.2.6时,第一次发布了我们QA同学给我们发的bug列表,当时吓到了好多人,大家都觉得怎么这么多,其实这只是冰山一脚。大家要是看过我们git上的test目录,那里有好几千个自动化用例,这都是QA同学的心血。

一般我们开发一个版本后(包括新功能的测试用例),提交给QA,QA同学进行2-3轮的测试,在这过程中,我们也会对外发布一个线上的测试版本,让大家来帮我们一起测试,最后发布正式版本。

对于发版本的周期,基本上是没有的,就是产品线一闲下来,我们就把一些用户反馈的功能和问题,包括给产品线开发的功能,改造成通用的一起放到新版本里发布。

CSDN:对于此次“开源中国开源世界高峰论坛”和“开源群英会2013”,您有什么建议?

战毅:可以交流技术,但我现在看到的是大家在一起讨论,无论你的开源项目使用的是什么语言。是不是可以按着方向来分,比如前端、后端、native的分开项目,大家在一起讨论。

CSDN:您希望在大会上听到的分享话题是什么?您想与其他开发者讨论的话题是什么?

战毅:分享的话题,我最关心的是如何能把开源项目做的更大,如何建立社区,让更多的人贡献?

战毅将出席“第八届开源中国开源世界高峰论坛”和“开源群英会2013”。我们还邀请了100多位开源项目开发者和布道者,如果你想与他们面对面交流,就赶紧报名参会吧。

大会官网:http://ocow.csdn.net/

如果你是一名开发者,关注开源,并在开源领域有一定的贡献(开源项目开发者、布道者或推广者等),可免费申请价值499元的大会门票一张,我们会根据你对开源的贡献进行审核,并确定你的参会资格。名额有限,申请从速。

申请链接:http://surveies.csdn.net/survey/comein/591

VB如何在VB和Delphi中快速实现立体化窗口显示 VB如何在VB中实现绘图区的大十字光标 VB如何在VB中制作不回显的文本框 VB如何制作浮动式窗口 闪烁的Label-VB资料 设定StatusBar的文字成不同的颜色-VB资料 设计一个可中断循环的按钮-VB资料 设置“执行无用户界面”-VB资料 生成一个透明窗体 -VB资料 实现窗体内部的左右移动 -VB资料 实现鼠标移到窗口上时变大,移出窗体时变小(如《东方快车》)-VB资料 实现图片平铺于窗体中-VB资料 使程序的标题条闪烁 -VB资料 使窗口总在最前 -VB资料 使窗体右上角的X按钮失效 -VB资料 VB使用 WIN95 的选择目录对话框 使指定窗口总处于其他窗口之上 -VB资料 通用对话框专辑(全) -VB资料 透明的Form上显示背景透通图 -VB资料 图像在图片框中的滚动 -VB资料 拖动无标题窗口-VB资料 拖动无系统标准标题栏的窗口-VB资料 文本框中光标位置的获得-VB资料 无关联程序时开启“打开方式”窗口 -VB资料 显示 Combo 的下拉条 -VB资料 显示Windows系统的标准ABOUT窗口-VB资料 显示程序的版本 -VB资料 显示窗口的水平和垂直滚动条-VB资料 一劳永逸让VB自动改变控件大小 移动没有标题栏的窗口 -VB资料 隐藏Win95任务栏 -VB资料 dbgrid焦点问题。 如何识别客户端浏览器是不是腾讯浏览器? 怎么样得到上个月最后一天的天数 关于图片显示的问题? 一个应该很简单的问题!散分了! sybase12安装后sybase server启动不起来,服务启动没有问题 请问oracle JDBC 中classes12.jar、classes12_g.jar、classes12dms.jar这三者有什么区别? ( 召唤HTML编辑控件(ActiveX) 为什么没有遍历所有文件和目录?哪位可以帮忙调试一下。 请问如何再java里面执行oracle数据库指令如;exp,imp等等 高分求助!关于触发器。来者有分!在线等待! 工作累了﹖沒有精神﹖來我這里喝一杯吧﹐ Ghost2001如何备份win2000系统 工作累了﹖沒有精神﹖來我這里喝一杯吧 关于图像缩放求援? 各位老大!有没有用C#写的浏览器的程序? 请问如何再java里面执行oracle数据库指令如;exp,imp等等 C#调用C++写的动态链接库中函数的问题! dns的转发项是灰色,说是根服务器,怎么办? 求助!如何实现鼠标移动Image控件 无法终止程序, 条件判断出问题 ,奇怪 为什么对象释放出错? 在FormDestroy中释放对象时出现 'Invalid pointer operation'的错误。 MDI子窗体在MDI父窗体内不能显示的问题,希望高手指点!!! 小问题,高手行!!! JSP 关于中文乱码 哪位高手请提供下面题目的源代码, 急!!! 【求助】DELPHI中ADO连接DBF库超过256K就显示不出数据? 菜鸟问题 asp调用WORD的问题 安装oracle8.0.5时的小问题 Win2k & WinXP 桌面全空 弱问题,关于SIZEOF 服务器生成的图片发到客户端打印效果不理想,如何解决? IIS的站点一启动就会占用所有IP。如何解决? 如何连接两个数据源 cisco3550交换机如何配置? 快狗里的 conn.asp ,,有一个问题,谢谢大家~!!! 如何用javascript实现字号缩放? 紧急 在线等待 有趣的问题 小弟刚涉及socket不久,望大哥们指点。 主板又无法启动了◎! 关于dataset数据集的问题,请教???? 急呀,快来帮帮我呀! 高分求救网络传数据问题 分不够可以在加 在线等待 急 关于非MDI的非主窗体的最小化问题 工作累了﹖沒有心情﹖來我里喝一杯吧 大家一起来研究下这个问题~~ 如何查询两个时间之间的记录? ASP中不能显示word文档(存于BLOB字段),救命啊! 如何设置窗体为必须响应的模式 金牌杀手的传说 一道英语改句子的题目!On their way to school,they saw a nice watch on the street corner.(保持句意相同)a nice watch on the street corner _______ their _______on their way to school.我填的答案是“caught ,eyes”,答案上写 1.where none(它是什么词性与意思,用NO代替可以吗?) intrudes(它是什么词性与意思)2.i love not man(为什么不用a man?) the less,but nature more.有什么语法词组? His bag is made of (leather).对括号内提问____ his bag ____ ____ 英语改同一句子一题 She said" I'm not French man ,___I don't love PairsA.and B.but C.or为什么? 请问是the bag is made by leather还是made of leather? 分析一下can may must could might could have分析一下can may must could might could have done might have done等 I am not a smart man,but I know what is love.哪位人士精通英语,请加我好友,980559451 创建文明城市中学生怎样做英语作文 can,must,have to,should,may,could,might有语态上有什么区别,怎么区别比如1.___I park my bike here.2.____pass the book to me.3.He____at home.在表示语态的时候, 我爱的男人 THE MAN I LOVE怎么样 有关会计的英语翻译,就一句话,谢谢各位大侠We are not convinced that diverting already stretched resources at the Board to complete issuance of the proposal at this time, and asking preparers to implement it, is merited. 用have,has,there is,there are填空 改句子(英语题目)1:We have a class meeting once a week .对划线句提问--once week2:I get up early in the morning in the past .改为同义句3:He has been there for two weeks .改为同义句4:My classmated have already gone to the mu It made me kind of angry to wait for him改为同义句 I wait for you中I是主语,wait是谓语动词,而且是不及物动词,那宾语是for you还是you? He spent 1000 dollars on the house at the end of the street.(同义句)The house at the end of the street _____ ____ 1000 dollars. this thing made me angry"angry"在句中充当的成分 ( )A:Do you like talking with your friends on the phone .B:_____ .I enjoy using MSN .A .Either B .NeitherC .Both D .None 谁能翻译一下 Darling,I will be sincere to love you If to love and to be loved is fair,then I say I love you,you will also say you love me! 把People use the word friend freely翻译成中意思 预定旅馆的英语想把这几句话翻成英语我在通过venere您那里预定了一个三人间,2月25号入住,26号离开.另外我需要带什么凭证吗? 急,If you also love me,you will not be so indifferent to me.是什么意思.? 第三人称后面接的动词形式就是第三人称单数形式 举例 love you also will be I to believe that you will also understand me to your love . i'm yours lrc 歌词要放在MP3上的,时间一定要准! 预定饭店 英文 谁帮我用英文写一份预定饭店的文章 不限制多少单词只要把预定饭店的过程写清楚就好 我明天用急 since前用什么时态,后用什么时态 英语主动句改被动句 ,被动句改主动句主动句改被动句people can judge beauty differentlythe postman will deliver the package tomorrow morning被动改成主动tickets can be purchased by customers at the ticket counterall phone call 我已经预定好酒店的英文怎么说 如何用英语打电话预约火车票和旅馆 英语被动句改成主动句1.When is the sports meeting held in your school?2.The boy hasn't been seen to dance yet since前后该用什么时态啊? during over since for的用法和时态 英语中主动句改被动句,求例子,是怎么个方法 预订和宾馆的英语 since表示自从后面除了接一般过去时还可以接什么时态 热烈欢迎芬兰豪格佛斯专家莅临指导翻译英文, 英语主动句改被动句Someone had sent Jack to the hospital before the ambulance came. Is there any problems和are there any problems--那句话是正确的?我当然知道是Is there any problems正确,但是很多年过去了,好像英语水平到了瓶颈期!今天早上和外国同事交流的时候,说出这个句子,感觉好别 since people are fond of humor,it is as welcome in conversation as _ else.A.anything B.something C.anywhere D.somewhere选项加解释 英语被动句改主动句主动改被动,被动该主动1.A mistake was made in using too much passive voice2.UFOs were reported by faemers who had seen atrange sights.3.The game was won when a touchdown was scored by the quarterback.4.We were dren is there any 或 are there any感觉差不多?口语中好像没听见过are there any 全部都是is there any 用的,就是想搞清楚一下,比方说 is there any coach in this gym?or are the any coaches in this gym?如果想提问是否有 coach I have nothing to tell you中的to tell you是不是定语? 下列形容词比较级large,beautiful,heavy,interesting,quick,small,wide,happy,few neither of 后面加单数还是复数 It is fifty-four years since the People's Republic of China______A.founded B.was founded C.has founded D.has been founded答案应该是A,为什么?请说明原因, 《祖国啊,我亲爱的祖国》寒~我是干瘪的稻穗,( ).我是失修的路基,( ).我是你挂着眼泪的笑涡,( ).我是你雪被下古莲的胚芽,( ).我是新刷出的雪白的起跑线,( ). is there any milk 还是are there any milk它们有什么区别呢? 化学科普小文章500字左右 麻烦翻译一下Are many of you good at computer games 根据上下文用Is there a ...或Are there any...造句(例子)A:I need a haircut."Is there a barber shop"near here?B:Yes,there's one Elm Street.(1)A:I want to send an e-mail.__________________near here?B:No,there aren't,but there are some near t have\has\there is\are怎样区别,举例 是不是只有第三人称单数动词才发生变化如果不是那一般疑问句中是Does everyone 还是Do everyone Either of **和 neither of **是单数还是复数? 用 have has there is there are 作文:描述自己的卧室 根据情景填写古诗文,名句和歇后语1.语文老师正在检查作业,可是我昨晚为了看电视没有做,这时我在座位上是“( )”(填歇后语)2.我们的老师指导我们写作时,常常引用宋代著名诗人苏轼 This purse is made of a leather 语病在哪
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘