CTO UI is an application architecture framework that CrypTool uses to create and maintain its plugins on CrypTool Online. CTO UI makes it easy to create interactive plugins by providing the foundation for plugin creation. CTO UI takes care of the data flow, rendering and updating of the user interface. In fact, with CTO UI you should be able to create an entire plugin with a single file.
CTO UI is built on the same principles as React, but optimized for CTO. If you are familiar with React, then you should be familiar with CTO UI.
- 💫 Interactive CTO UI manages the state of your components and efficiently renders each of them when a change occurs. CTO UI will also take care of managing your algorithm's lifecycle as well by handling behaviours such as encoding and decoding.
- ♻️ Component based: Not only does CTO UI give you access to a predefined and optimized component set, you can also create your own components. Like React, CTO UI embraces the fact that rendering logic is inherently coupled with other UI logic: how events are handled, how the state changes over time, and how the data is prepared for display. Instead of artificially separating technologies by putting markup and logic in separate files, CTO UI separates concerns with loosely coupled units called “components” that contain both.
- 📦 Lightweight: CTO UI has almost no dependencies, and only uses the JSX environment of React 17 without importing all the modules as we used Tree Shaking optimizations. In fact, we even had to rewrite the React rendering system to optimize the size. And without special optimizations, a complete plugin including the algorithm and CTO UI should weigh less than 50Kb!