Представляем Чжун

Сегодня я рад представить Zhong, мой последний проект с открытым исходным кодом. Zhong — отсутствующее приложение часов для macOS и Windows. Чжун состоит из трех частей: мировых часов, секундомера и таймера. Он был разработан, чтобы иметь чистый и элегантный пользовательский интерфейс.

Технологии

Я использовал Electron, потому что он предоставляет кросс-платформенный графический пользовательский интерфейс, а также позволяет легко настраивать и макетировать. Electron — моя любимая библиотека для настольных интерфейсов, требующих детализированных интерфейсов.

Typescript предоставляет строго типизированный язык, совместимый с javascript. Он также предоставляет полезные функции, такие как интерфейсы и перечисления. Typescript также позволяет мне гарантировать правильные типы параметров для компонентов и методов и предотвращает недопустимое преобразование данных.

ReactJS — моя любимая библиотека для HTML-интерфейсов благодаря ее гибкости и моему опыту работы с ней. Я использовал отличную библиотеку BlueprintJS для компонентов и Emotion для пользовательского стиля. Я также использовал ReactJS для рендеринга пользовательских SVG, используемых для аналоговых часов на экране мировых часов и обратного отсчета таймера.

В качестве инструмента сборки я использовал Parcel. Parcel поддерживает Electron в качестве цели и допускает несколько точек входа. Мне проще использовать его в небольших проектах, чем Webpack и Rollup.

Задачи

Двумя основными проблемами при создании Zhong были создание надежного таймера и рисование аналоговых циферблатов.

Я исправил дрейф времени Javascript setInterval с помощью метода, описанного здесь.

Часть 2 (скоро) объяснит математику рисования циферблатов.

Скачать

Скачать Zhong с GitHub можно здесь. Звезды приветствуются 😄