Every aspect of the editing experience, including features, have been reviewed.
Features which were implemented have been reviewed under the public project Editor Recommendations with the aim to look at their semantics, HTML syntax, and basic UI and UX related aspects (icons, keystrokes, behaviour).
As a result, the UX has been enhanced by:
- Super easy, intuitive image inserting with automated uploading, resizing and creating different image sizes for responsive design.
- Simple linking without complex dialogs.
- Auto formatting enabling to start lists, headings and apply some inline styles, like bold, just by typing.
- New toolbar in the classic editor being always visible when scrolling down the page.
- Easy styling with the contents of the editor placed inline in the page.
However, being a totally new editor, with time CKEditor 5 will have more and more features developed and available for the end users to benefit from.
Highly customizable and extensible
CKEditor 5 gives powerful customizability and extensibility possibilities. The core is open for extensions and reuse, enabling a developer to create any kind of editor with any type of toolbars, balloons.
A new data model and a model-view-controller architecture (MVC) have been introduced making conversation between model and view extremely customisable with full control over changes applied to the model. MVC allows to achieve results which previously were very hard or impossible to achieve.
CKEditor 5 is implemented as multiple npm packages with each package having its own repository. This allows to focus on each feature separately and makes it easier for others to contribute.
New data model
A much more efficient data model has been designed in CKEditor 5, making the development of features a much more focused and creative experience.
The data structure is normalized and optimized for complex data management operations making implementation of algorithms such as Operational Transformation and collaboration possible. With the collaboration services provided by the CKEditor Cloud Services, it is now extremely easy to bring collaboration features inside any application. Letters is an example of an application using the power of CKEditor 5 for collaboration.
CKEditor 5 has been totally rewritten in ES6, using the power of modules. It provides all the necessary tools to easily integrate it with modern applications and technologies, like Angular 2, React, Node.js, npm, etc.
As far as the quality of the code is concerned, it has 100% code coverage providing quality assurance on each level of the architecture.