去年,我介绍了我们新的内容编辑器CKEditor 5 的一些细节,将会在2016年面市。此后,我们在软件开发过程中取得了很好的进展。我们已经差不多完成了编辑器核心模块的基本组件的编码工作。 到目前为止还有一个方面没有重点强调,那就是(从一开始)我们一直秉承开放的原则在设计CKEditor 5,因此任何人都可以加入来帮助我们或者简单地分享他们的意见也可。下面让我来给大家分享更多关于CKEditor 5的细节。 历史背景这是一个个人在"社区项目"中成长变化经历的故事. 初期: FCKeditor 0, 1 and 2FCKeditor 的最初 logo 在CKEditor的初期(那时还叫做“FCKeditor”), 大约是2002和2003, JavaScript仍然是一门很神秘的语言. JS主要被用于验证表格和实现一些简单的UX技巧, 例如显示/隐藏网页的一部分. 那个年代, 实现大型JS项目是很疯狂想法, 尤其是考虑到那时候的主流浏览器是IE5.5和网景. 开源技术在那时也不像现在这样在开发者之间广泛使用. 不仅通过网络工作很慢, 而且那时也没有像GitHub这样的地方帮助人们在一起写代码. 不过那时候也有一些可以集中"免费分享软件"工作的架构,这些架构通常基于已经不复存在的Freshmeat或还奇迹般活着的SourceForge之上. 不管怎样,我一直在工作,通过我一个人的努力,CKEditor第一个版本诞生了。我决定将它开源并使用LGPL协议,并且将它最终发布到了SourceForge上。当时它是一个CVS项目,后来我将它迁移到了SVN上。 尽管我没有期望能从社区活动中获取很多,但是由于特别是来自浏览器编辑器的技术挑战立即带来了好处,这是开源带来的。除了能获得一个很大的用户群,我还可以获得很多反馈,这些都能使这个项目越来越好。 当FCKeditor 2开始时, 我已经从项目中积累了很多经验. 一个很棒的翻译团队出现, 帮忙对编辑器进行本地化工作.尽管我们没有一个很大的开发团队, 但是各地的很多人紧密的跟踪项目开发,这提供了很大帮助 - 例如 Alfonso, 他已经跟随这个项目十几年了 :) 很多迹象也表明我们正在做正确的事情. FCKeditor 达到了 100万下载量. 并被评为Sourceforge的月最佳项目. 一个为我购买Mac Mini来实现编辑器对Safari兼容的1000美元众筹项目2天就完成了...我们觉得很有乐趣. CKEditor 3 and 4新的CKEditor logo 对于第三版,我们决定让它更加开放。我们启动了一个名为“Open Development Effort”的项目,“试图让V3的开发在所有层面公开:讨论,研究,设计,编码,文档,集成还有赞助”。这是一个很有趣的方法,也势必能帮助项目更好的发展。即使现在我们不得不讨论对项目进行改名。 CKEditor3获得成功后的两年,我们开始了V4版本的编码。当时的竞争已经非常的激烈。很多项目打起了“让我们干掉CKeditor”的口号。所以我们开始不再大势宣传我们的计划,特别是我们开始进行内联编辑的开发,这个将会是我们的杀手锏。我非常后悔没有对社区开放我们新版本的更多细节,但是我们的V4版本最终被认可是一个很好地解决方案,甚至比以前的版本更加成功。 过去的经验:我们所学到的使项目所有的内容都开源,而不仅仅是代码。把东西都记录下来,并邀请大家都来参与。 上面的经验关键的地方在于:
不要在意竞争对手。成为一个创新的人,让别人一直在后面追赶。 CKEditor 5:设计开源我们将以往的设计和编码经验运用到开源的下一代编辑平台上。 铭记我们以前的经验教训,我们从去年开始了CKEditor 5的开发。在项目最开始阶段,我们围绕项目的各个方面在网上展开了讨论。一些关注者开始从各处给予了反馈,现在蔓延到我们社区了。 设计存放位置为了将设计进行公开,寻找一个合适的设施(软件,服务器)是非常重要的。经常设计意味着原型,我们必须寻找一个地方既可以存放代码,又可以进行讨论,还可以存储过程文档。于是我们在GitHub上面建立了一个专用的仓库: 现在为止,主要讨论的问题发生在the issues pages of the design repo. 最近,许多CKEditor 5 UI和UX方面的工作已经完成。一些基础编码方面的讨论也在那里,例如是否使用ES6模块,或者代码风格等。如果你想参观我们的工作,或者参与这个项目(这是最重要的),你一定要在那里留下你的建议。 编码存放位置也许现在还有点太早,但你也还是可以稍微看看我们的代码。现阶段虽然还没有可供演示的demo,但是很多关键性的代码我们已经完成。 CKEditor 5项目被分成了几个单独的仓库。为了帮助用户进行引导,你可以从GitHub上的 ckeditor5 仓库开始。这个仓库是主要用来编译和测试运行的,而且他集中了开发团队的工作流程。更多地说明可以在README 文件中找到。 接下来是什么?CKEditor 5马上就要发布了!现在是共享你反馈的最佳时刻,加入我们吧! 我们正在完成CKEditor 5第一个阶段的开发。基础功能正在形成,我们很快将进行实用性的测试。现在整个团队都非常兴奋。 只要我们一旦有了实际东西进行展示,我们就可以进一步公开讨论CKEditor 5的代码以及基础方面的细节。这篇文章是证明任何人都可以参见,并帮助我们设计软件,这一举措将对人们在网络上分享他们的知识产生根本性变化。 从现在开始加入CKEditor 5(CKEditor 5 design repository)的设计吧。 |