Разработка UI компонентов идет полным ходом!
Управляемый список.
Началось всё с создания компонента ListBox.
В HTML его можно создать стандартными средствами, но его отображение зависит напрямую от ОС, на которой происходит запуск приложения. Соответственно, такой подход был для меня неприемлем. Да и браузер накладывает некоторые ограничения на такие элементы: стилизовать внутренние элементы списка нельзя, что является большим минусом.
Ползунок с пользовательским диапазоном.
Следующий элемент - это ползунок. Удобная штука, однако, реализовать её средствами HTML не так и просто. Точнее, элемент для этого есть. Благо, HTML5 позволяет делать это. Но тут снова появляются ограничения, связанные с оформлением, событиями и кастомизацией.
Прогресс бар.
Тут тоже появились свои подводные камни. Реализовать прогресс бар средствами HTML, опять же, можно. Но ввиду ограничений, делать это не имеет никакого практического смысла. Пришлось прибегнуть к уже рабочей схеме.
Темизация UI.
Всё это нужно было для того, чтобы дать возможность разработчику применять к оформлению своих интерфейсов специальные "скины", написанные на CSS.
Так, менять оформление всего интерфейса можно всего в один клик.Помимо стандартных скинов есть возможность разработчикам писать свои, оформляя элементы так, как им захочется.
Узнать подробности и следить за ходом работы можно тут: https://www.patreon.com/skaner