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

专访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

细说JavaScript异步函数发展历程 YoMail创始人Albert Yang:我与Email交织的程序人生 TIOBE 2015年9月编程语言排行榜:时髦语言Rust进前50 50张999元限量特惠票!SDCC2015软件开发嘉年华 首批讲师名单公布 百度安全:XcodeGhost大爆发可能只是冰山一角 北京市计算中心云计算转型:缘定OpenStack MDCC 2015移动开发者大会 八大技术专场首批议题剧透 Apple TV指南:从零开始用Swift开发个tvOS应用 React Native、开源:MDCC平台与技术Android专场全揭秘! 相约MDCC 2015 首批免费展位破茧而出 MDCC 2015召开在即,平台与技术iOS专场大咖来了! 一个iOS开发者对tvOS SDK的初探 前Twitter iOS技术团队负责人:使用第三方库的四大准则 【SDCC讲师专访】巨杉数据库创始人兼CTO王涛:SequoiaDB为何要开源? 对话函数式编程语言Roy之父Brian Mckenna GitLab获400万美元A轮融资,GitLab 8.0将很快到来 【CTO讲堂】如何构建高可用和可伸缩的架构? 未来程序员会被机器取代吗? React Native实战(一):配置和起步 集聚MDCC 2015 免费展位第二波正式放出 【深入浅出Koa】入门知识,带你以现代化开发方式构建Web应用 升级到Node V4的七个理由 支持大量ES6特性 像写SQL一样编写Java数据应用 Swift 2.0实战:如何实现从非零下标遍历数组? 手把手教学:在iOS 8中使用Cocoapods 交互技术前沿与应用实战:MDCC虚拟现实专场议程揭晓 解密“攻城狮使用手册” 技术专家齐聚!MDCC 2015精彩日程全曝光 基于ActiveMQ的消息中间件系统 OneMM逻辑与物理架构设计详解 John Carmack大神亲操刀,为Oculus开发Netflix应用 React Native实战(二):Android的打包 请问如何直接取得其它计算机的系统时间 如何使的 Form2 在 Form1 的 Top ? 怎样在pagecontrol的一个tabsheet中的页面加一个上下的滚动条 急!将textbox控件放入table中后无法通过controls获得textbox的id? 大家说说看!! 初来乍到,向各位学习,请大家指点一下,介绍些好的C#的WEB源码示例。 请大家帮我看看! weblogic发布servlet的问题 Fatal Error 的问题 哪里有和手机一样的笔划输入法下载. 哥哥们,问题还没有搞定,帮帮忙吧,很急呀,分不够可以加分 XDevClub.Com[X时代开发俱乐部]欢迎大家一起来讨论,来者有分 求救!!我的vc缺少一个 psapi.h 头文件!!!急用,帮忙粘贴一下,当场给分!!! 怎样更改CListCtrl中内嵌的CHeadCtrl控件的风格? 有关TChart的问题? 我怎样才能获得插入语句的ID值? 求帮助数组的问题 给分100 紧急求救 在DELPHI里执行ORACLE存储过程出错??? 当按照书名查询时,系统提示没有该索引:no index with 'bookname' field.何故 CorelDram教程碟不能播放怪的问题!! 如何在vb調用SQL存儲過程,并能得到返回的參數值. 哪位大侠帮帮忙呀!! 用CString的Find(LPCTSTR pstr,int nStart),pstr有没有通配符,急!!!!! 一个XP与2000的共享问题 打印问题,请各位提点建议。 DBA的缺省密码---【在线等】 错误:"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。" 产生原因 免费100m asp 空间 求救,如何打开一个USB设备,CreateFile吗?请具体些 在线求救 谁是最可恨的人? 如何将本页设为只能是 target="_top" 谁有格斗游戏的源码,设计资料! 三人合作共同开发一网站,现需页面设计,有意者留下EMAIL 怎样用C#把窗口菜单和按钮做成象VS.NET中的平面菜单和工具栏上的平面按钮? 为什么在MMC中新建SQLSERVER注册总是出现超时已过期的错误? 這樣定義宏是什么意思:#define LIBCMD(givenfunction) \? ===这样的SQL在ORACLE 怎么执行不了 一个WIN2000与WINXP的共享问题 如何将一个CBitmap存为BMP文件? 在directshow中,如何实现像大部分播放器那样的“快进”功能? 较难问题--IE6不能启用cookie? 如何修改group里的数据排序方式? 如何写动态SQL语句??? 怎样让select元素不能修改? 谁用过微软的tts??? 郁闷......呀,偶MM说接吻觉得恶心!!!! 请教高手,本人想请教通过数值如:12.5转换成UNICODE的问题,急!!!在线等待 我现在的密码不好记,如何更改密码? 请教大侠;RMI问题 关于过柱子梯度洗脱的问题跑板确定的洗脱剂是乙酸乙酯:石油醚=2:1,请问一下应设多少个梯度,中间梯度是多少,起始梯度是多少,还有每个梯度用多少洗脱剂?TLC上共有三个点,所要物质是 若制取氯化钾的反应进行得不充分,制取的氯化氢气体会是什么颜色?产生的化学方程式 大肚皮青蛙,()的小狗,再写四个类似的词语 液相色谱梯度洗脱中途可以停止吗.急 1111111 我们知道空气中含有N2、O2、CO2、H2S等气体.分析下列现象的原因.并写出离子方程式.1、酚酞为指示剂,用碱液滴定酸液到显现浅红色在半分钟内不褪色为终点.约半分钟后导致退色的原因?2、以 氢氧化铯是一种可溶性碱,其化学式为CsOH,下列叙述中不正确的是[]A.CsOH溶液能与CuO反应 B.CsOH溶液能使酚酞试液变红C.CsOH溶液能与硫酸发生中和反应D.CsOH在水中能电离出Cs+、OH- 液相色谱分析中梯度洗脱可以分离的物质,不用梯度洗脱有可能实现分离吗? 用矢量为43的烷基取代甲苯苯环上的一个氢原子,所得芳香烃产物的数目为 全合成切削液原液变浑浊怎么办啊?全合成切削液原液生产出来后24小时就有絮状悬浮物产生,导致溶液不透明,有时液体表面还有一层白色乳液,经过再次搅拌就恢复原状,但是过10小时后又出现 将2.34gNaCl固体溶于103.4g水中得到不饱和溶液,再向所得溶液中小心滴入200g AgNO3溶液.实验过程中,生成的AgCl的质量与滴入的AgNO3溶液的质量关系如图所示(提示:NaCl+AgNO3=AgCl↓+NaNO3 ). 加热氯化钾和 二氧化锰混合物一段时间后,剩余固体物质组成:氯化钾,二氧化锰.那么如何设计实验证明? 白光led串接的问题我想用220v交流电压串接白光led电压3.0V-3.8V电流0.025A1.串接70颗后总需求电压为224V,平均每个led为3.14V,是否还要加电阻?2.如果改串68颗想固定每个led为3.2V的话需要加多大的电阻 将2.34gNaCl固体溶于103.4g水中得到不饱和溶液,再向所得溶液中小心滴入200g AgNO3溶液.实验过程中,生成的AgCl的质量与滴入的AgNO3溶液的质量关系如图所示(提示:NaCl+AgNO3=AgCl↓+NaNO3 ).(1) 由离子构成的物质(除氯化钾)再多写由原子构成的物质 由分子构成的物质 人为什么有肚脐?小猫˛小狗有吗?鱼˛青蛙˛乌龟呢?动物的生活方式 将2.34G的NaCl固体将2.34gNaCl固体溶于103.4g水中得到不饱和溶液,再向所得溶液中小心滴入200g AgNO3溶液.将2.34gNaCl固体溶于103.4g水中得到不饱和溶液,再向所得溶液中小心滴入200g AgNO3溶液.实验过 硫酸烟雾的定义 匀染剂O(平平加O-25)在做色浆中起什么作用? 匀染剂O(平平加O-25)在做色浆中起什么在做色浆中,平平加o-25主要有什么作用? 将2.34gNaCl固体溶于103.4g水中得到不饱和溶液,再向所得溶液中 硫酸烟雾的危害 经染色后的衣服匀染剂没化匀,再经保险粉剥色,就留下一块块的象油样的斑块,用去油的去不掉,该怎么去除 在太空失重的情况下,水是什么形状? 我要问连通器液面为什么一直是平的你们别给我拿U形的那种连通器来说. 锌+硫酸 黑烟雾请问锌粉和一些杂志在里面,添加硫酸产生黑烟,好刺鼻,差点害死我,是什么东西在里面呢? 在太空失重情况下,水是什么形状快啊,急用. 氨气怎么稀释 硫酸厂排放的废气含有的主要污染物是什么 原子吸收法与紫外可见分光光度法从原理有哪些相同点与不同点 氨气泄漏如何稀释降毒 离子交换膜能只通过一种离子吗 石墨是不是原子晶体.为什么 用水稀释氨气的原理 请教培养基配制为了去除水中的Fe2+、Mn2+,需要从滤膜混合菌中筛选“除铁锰细菌”(不是分类学上的概念).在看文献了解培养基时遇到一些问题,1、看到有的培养基里加蛋白胨、酵母浸膏,有 原子就是一种元素的最小单位了,它是一个一个的,比如“一个碳原子”是指这种元素的一个实体.原子还可以元素是指某意种物质,比如 碳C 它是“总述”,碳原子,碳分子都属于碳元素的范畴.分 氯化钾是由什么构成求大神帮助 该装置中离子交换膜只允许 离子通过. 核素是指同种元素的原子,还是指所有元素的原子 Fe3O4若看做"混合氧化物"时,可改写成FeO·Fe2O3,根据化合价规律和前述写法,则Pb3O4(四氧化三铅)可改写为2PbO·PbO2(Pb的化合价为+2价,+4价).请问这规律是什么?有回答再给分. H2、CO和CO2是常见的气体,有一种混合气体可能含有他们中的若干种.为了确定该气体 10 (1)混合气体中以H2、CO和CO2是常见的气体,有一种混合气体可能含有他们中的若干种.为了确定该气体10( 关于元素,原子等基本粒子(初三的)关于元素我还是不明白1.定义:是具有相同核电荷数(质子数)的同一类原子的总称.(在这里,离子是带电荷的原子)2.原子和离子的区别:原子不显电性,离 破水是什么样子的 明天就是预产期了,宝宝依旧很淡定,胎动比平时有些增加.前天早上起来阴道流出一股水,然后就再也没有流,今天早上起来又是一股水流出来,到现在也没有再流第二次,请问 为什么在清水中的土豆没有在盐水中的软 为什么连通器液面总是相平具体 水的眼泪是什么样子的?如题 金属氧化物的沉淀问题金属氧化物中(像氧化铝Al2O3、氧化铁Fe2O3),到底哪些是沉淀物,是有规律可以探索的,还是死记的.懂得的人告诉我金属氧化物的沉淀物好不. 原子吸收分光光义计和紫外可见分子吸收分光光度计在仪器装置上有哪些异同点?为什 手机掉水里之后怎么处理?如题 今天不小心手机就掉到水里了,诺基亚6020,会造成什么后果么? 电极反应式写电极反应式时,水可以看成电离出氢离子和氢氧根离子吗?即使是中性 也可以看成电离出了氢离子和氢氧根离子啊 请问ioriiii 你说的两种答案 是哪两种?能否写出第二种? 连通器中各页面保持相平的条件是呃、、准确的~记得几个回答貌似不大准…… 如何到水下去如题 谢谢了 请写出下列化学电源的电极反应式和总反应式①甲烷电池(电解质溶液:硫酸)②甲烷电池[允许O2-(氧负离子)通过的固体电解质] 原子吸收与紫外,红外,可见的异同点与优缺点 某化学小组为测定一定质量的某铜铝混合物中铜的质量分数,设计了如下方案方案一铜铝混合物 +足量溶液A 充分反应后测定生成气体体积方案二铜铝混合物 +足量溶液B 充分反应后测定余下固 氧化物 蓝色沉淀A与某种物质反应生成一种蓝色沉淀,A为氧化物,问A和蓝色沉淀是什么 一幅漫画图中有一只鸟在水上看一根管子是直的,而鱼儿看到的却是弯的.看图作文不同的人在不同立场,知识背景,环境下,看问题的方式也不同,没有绝对的对与错,我们需要做的只是换个角度 水的原理是怎样的?如题 为什么脏的东西放到水里会溶解掉? 求常见氧化物的白色沉淀越具体越好 液相色谱梯度洗脱我用岛津的LC-10A液相色谱仪做三七药材的梯度洗脱(10版药典),停止时间设的65分钟 ,可是30分钟的时候时间程序就停了(run的指示灯灭了). 为了测定一定质量的铜铝混合物中铜的质量分数,某化学课外活动小组设计了如下两个方案:第一问,究竟是哪个方案好,请专家作答 师徒两人一起加工一批零件,已知师父每小时加工的零件数是徒弟的3倍多1个,师徒两个8小时工加工零件104个问师父每小时加工零件多少个? 快递业欲借\"双十一\"重分市场 背多地实行公租房并轨试点 经适房或退出男子越野车启动将蹲在车前两小姑娘卷进崇信修和睦 行道有亲邻——中国睦邻外记者调查转基因食品渗透情况:新西兰澳德国大使馆:\"德国空置房组织流浪汉中国少数民族歌舞走进巴西安邻兴伟业 善邻谋致远——中国安邻外韩国电影节女星清凉上阵拼性感(组图)美一涂鸦街区将拆迁 艺术家联名告开发2013年是“男”还是“女”?斯诺登将在俄“遥助”德国 作证“监听加拿大暴风雨30多万人受影响网友自制“2014节假日放假表” 比专家:中国九成以上大豆油是转基因产品委总统微博掉粉 谴责国际右翼势力插手汤加发生6.4级地震房租过高 白领伦敦上班巴塞罗那居住坐韩国口罩销售量激增 韩媒曾为中国雾霾克里无奈承认:有些监听活动太过头日海陆空“夺岛演习”规模空前 自卫队暖!黑水鸡夫妇湿地觅食育雏 嘴对嘴喂从均线形态中如何判断现货铜,原油价格谁是性能王者 2016年手机处理器排如果爱孩子,千万别送房子给他们,一定农地圈:农民耕地无故被村里抽走,为何震惊!百度腾讯阿里要出大事了企业如何把握网络营销这把利刃发挥最大歌尔声学暴涨源头已查明,近期或将这样剁剁剁之钢笔败注意!瑞士黄金是传销,投资前要擦亮眼教你快速辨别iPhoneSE和5S!最给力的消息!iPhone7有望增加越狱插件提前支持iOS9.3,这意味国美推老虎logo:盘点最叹为观止的Lenovo 联想 Yoga 900美女80后排第三,中国内地女富豪排行银川住房公积金将严格查处骗提骗贷行为廉价茶具被9000万买走,买的人哭了怎么用芝麻信用分贷款堪称“国宝级”国货神品,连国外明星都中晋投资者恐慌 期待明确说法
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘