百度 ueditor 编辑器创始人战毅专访 -凯发k8国际

2013-07-03  编辑 wangguo 评论(20条) 有40308人浏览
ueditor是一套开源的在线html编辑器,是由百度web前端研发部开发所见即所得富文本web编辑器。

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



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

iteye期待并致力于为国内优秀的开源项目提供一个免费的推广平台,如果你和你的团队希望将自己的开源项目介绍给更多的开发者,或者你希望我们对哪些开源项目进行专访,请告诉我们,发站内短信给或者发邮件到webmaster@iteye.com即可。

ueditor项目是怎么诞生的?

最早是起源于百科,是为百科用户书写百科词条开发的在线编辑器。那时还没有ueditor,就是直接拿ck(ckeditor)作为底层,在上边开发了ui展示组件。

但随着需求的变化,发现项目越来越不可控,因为ck过于复杂。2010年,代码已经有10万行了,做新的功能和修改bug都非常的困难,做编辑器项目的时间远远大于其他项目,而且因为用的是ck底层代码,他很多自身的bug我们无法修改,一旦有修改,可能会引起其他一系列的bug。

那时开会编辑组经常会被问到"bug收敛了吗",尽管我们已经非常努力了。因为这样编辑器被冠以最费力不讨好的项目。做走了很多人,基本上能坚持1年的算很长了。我印象最深的是做空间编辑器项目时,有个qa的mm,一做完编辑器项目就辞职了,原因是太累了。编辑器项目那时完全没有自动化用例,全靠手动测试,我要是修改一个底层代码,那qa要把所有的手动用例都过一遍,可以想象那是多么的痛苦。

基于这些原因,ueditor诞生了,诞生它的想法很简单,就是我们要有一个我们自己完全可控的编辑器,可以满足pm的各种需求和修改各种bug。当时开源的目的就是想能从外部吸收更多的需求和bug,来更好的满足产品线,当时完全没想到,ueditor能做到今天这样,大家都在使用的局面。

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

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

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

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

最难的地方是应该是对range的封装,这是编辑器实现的基础,所有功能实现的核心。

要说解决,那就是自己实现一套,这样才能真正了解和掌握它。对于这块的实现,主要是参考了ck,因为到目前为止,对外的编辑器项目中只有ck和tinymce包括ueditor才是真正用js实现range,而没有借助编辑器的原生接口。至于为什么不借助原生接口,大家可以看看5月份的程序员杂志,我写了篇《从ueditor谈web编辑器技术》,详细介绍了这块。

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

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

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

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

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



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

对于发版本的周期,基本上是没有的,就是产品线一闲下来,我们就把一些用户反馈的功能和问题,包括给产品线开发的功能,改造成通用的一起放到新版本里发布。
  • 大小: 57 kb
  • 大小: 123.4 kb
  • 大小: 74.5 kb
  • 大小: 72.6 kb
  • 大小: 224.3 kb
  • 大小: 7.5 kb
  • 大小: 11 kb
  • 大小: 17.6 kb
  • 大小: 7.3 kb
  • 大小: 72.2 kb
  • 大小: 172.7 kb
  • 大小: 29.9 kb
  • 大小: 13.6 kb
  • 大小: 21.8 kb
  • 大小: 7.5 kb
  • 大小: 18.9 kb
  • 大小: 38.7 kb
  • 大小: 43.1 kb
  • 大小: 24.3 kb


评论 共 20 条
20 楼 2019-06-17 16:37
woshiguoguo 写道
灰常垃圾,自从用了之后整天被骂

还是很好用的吧。前端的东西谁也不敢说一点bug都没有,更没人敢说能兼容所有浏览器所有版本,总的来说,ueditor比较不错的了,代码少,功能丰富。
19 楼 zftzyw 2016-06-01 10:39
   
18 楼 wuzhihui001 2014-04-30 15:02
做的很不错,准备项目上使用,感谢你们的开源 
17 楼 2014-02-08 16:51
woshiguoguo 写道
灰常垃圾,自从用了之后整天被骂

还行吧,我感觉还行,不知道是什么地方不易用
16 楼 2014-02-08 16:45
灰常垃圾,自从用了之后整天被骂
15 楼 2013-09-23 22:19
浏览器兼容做得还不是很好。。ie7有点问题。。
14 楼 2013-09-22 11:46
支持一下
13 楼 2013-08-26 14:33
qa妹子不错啊
12 楼 2013-07-29 13:58
富文本必备。用着挺不错的。
11 楼 2013-07-23 16:09
拿到例子一看,还可以插入iframe,于是插入一个iframe指向例子本身,嵌套两次后浏览器崩溃了。。。我是有多无聊
10 楼 2013-07-19 13:50
这种框架我也写了一个,在sparrow 项目里
一共不超过2000行代码,代码通俗易懂,功能还是比较强大的
大家拍砖
java-eye博客地址
http://lizhizhang.iteye.com/blog/1896545
项目中的
实例效果
9 楼 2013-07-17 13:36
已经在3个项目中使用了ue,虽然一开始遇到了一些问题,但最终还是被解决了,而且发现了两处没有用转义符的错误,也被我加上了,希望ue的说明文档好好写一下,当初刚用ue的时候,看使用说明文档,对我帮助不大,跟ue的更新速度有点脱节.
8 楼 2013-07-11 11:53
请问有没有web编辑器支持数学公式甚至化学、物理等学科的专用符号编辑吗?
7 楼 2013-07-11 09:38
貌似还不错。、
6 楼 2013-07-08 19:47
不错,项目中已经使用,em只是前端控件,jsp只供示例,后台自己写
5 楼 2013-07-06 13:58
yixiandave 写道
试了下很不错,源代码还没仔细看,不过一大堆jsp是怎么回事?我能使用自己的提交接口吗

这个是和java代码集成的,我之前写过一个和java工程集成的小例子:
4 楼 2013-07-06 10:20
强大呀,建议百度推出类似有道笔记之类的软件,秒杀网易。有道笔记太弱了,至今没有代码高亮功能
3 楼 2013-07-05 09:50
3个男生是开发人员,2个女生是qa?5个人的小团队,蛮好的。
2 楼 2013-07-04 09:47
试了下很不错,源代码还没仔细看,不过一大堆jsp是怎么回事?我能使用自己的提交接口吗
1 楼 2013-07-03 17:02
不错,以后在项目中可以使用它,看看效果如何。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器百度ueditor编辑器

  • 问题又来了:今天在写百度ueditor编辑器的【取远程图片功能】时有碰到:该功能如何关闭了? 又花了15分钟左右的时间查阅了[官方文档]以及[官方论坛],都没有找到解决办法,那就查阅下源文件看看,是否有相关的判断呢...

  • utf-8版本和gbk都在里面,用于织梦后台直接可以粘贴图片发表内容 inc_fun_funadmin.php可用于替换织梦include\inc\inc_fun_funadmin.php文件 ueditor是可以直接粘贴图片的百度编辑器,放置在织梦include目录下面

  • 因公司需要,自己在网上下了个有word导入功能的百度编辑器,并在这个基础上对该word导入功能进行了完善。(asp.net版本)(注意虚拟路径的问题,可以将虚拟路径去掉)

  • 相当强大的编辑器,使用非常简单吗,可自行选择使用环境

  • 今天笔者就给大家推荐一款百度ueditor编辑器。关于这款百度ueditor编辑器凯发k8国际娱乐官网入口官网上也有简单的教程,不过看着比较费劲,今天笔者就跟大家分享一下百度ueditor编辑器使用教程与使用方法,希望对大家有所帮助

  • vue 百度编辑器ueditor使用文件,直接使用在项目即可.

  • 最近工作中遇到一个需求,是要实现asp.net百度ueditor图片上传添加水印的功能,通过查找相关的资料终于实现了,下面来给大家分享下实现的效果,文末给出了实例代码,大家可以参考学习,下面来一起学习学习吧。...

  • 主要为大家详细介绍了vue集成百度ueditor富文本编辑器的使用教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  • ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。ueditor基于bsd开源协议,除了具有代码精简、加载迅速的轻量级特质外,还采用了分层理念,使开发者可以根据实际应用和...

  • 百度富文本编辑器ueditor 1.4.3版本

  • ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。ueditor基于bsd开源协议,除了具有代码精简、加载迅速的轻量级特质外,还采用了分层理念,使开发者可以根据实际应用和...

  • ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。ueditor基于bsd开源协议,除了具有代码精简、加载迅速的轻量级特质外,还采用了分层理念,使开发者可以根据实际应用和...

  • ueditor是由百度web前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重用户体验等特点。ueditor基于bsd开源协议,除了具有代码精简、加载迅速的轻量级特质外,还采用了分层理念,使开发者可以根据实际应用和...

  • ueditor是由百度web前端研发部开发所见即所得富文本web编辑器,简洁,漂亮,基本功能能实现,也很好用

  • 主要介绍了yii2实现ueditor百度编辑器的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  • 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(hrm): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。hrm系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(crm): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。crm系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统

  • gb2312字符集 作用:国家简体中文字符集,兼容ascii。 位数:使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字。 范围:高字节从a1到f7, 低字节从a1到fe。将高字节和低字节分别加上0xa0即可得到编码。 gbk字符集 作用:它是gb2312的扩展,加入对繁体字的支持,兼容gb2312。 位数:使用2个字节表示,可表示21886个字符。 范围:高字节从81到fe,低字节从40到fe。 gb18030字符集 作用:它解决了中文、日文、朝鲜语等的编码,兼容gbk。 位数:它采用变字节表示(1 ascii,2,4字节)。可表示27484个文字。 范围:1字节从00到7f; 2字节高字节从81到fe,低字节从40到7e和80到fe;4字节第一三字节从81到fe,第二四字节从30到39。

  • 毕业设计,安卓app,基于java开发的学生成绩课件管理系统app,包括pc端和安卓anroid手机app,内含java完整源码 安卓andriod学生成绩课件管理系统 系统开发环境: windows myclipse(服务器端) eclipse(手机客户端) mysql数据库 服务器也可以用eclipse或者idea等工具,客户端也可以采用android studio工具! 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,mvc设计思想! 服务器和客户端数据通信格式:json格式,采用servlet方式 【服务器端采用ssh框架,请自己启动tomcat服务器,hibernate会自动生成数据库表的哈!】 hibernate生成数据库表后,只需要在admin管理员表中加个测试账号密码就可以登录后台了哈! 下面是数据库的字段说明: 班级: 班级编号,班级名称,开办日期,班主任 学生: 学号,登录密码,所在班级,姓名,性别,出生日期,学生照片,联系电话,家庭地址 老师: 教师编号,登录密码,姓名,性别,出生日期,联系电话,邮件,地址,

global site tag (gtag.js) - google analytics
网站地图