Как создать десктопное приложение для перепрошивки микроконтроллера с пользовательским интерфейсом?

Делаю кулон с матрицей светодиодов, на котором будут проигрываться разные анимации. Надо сделать приложение на компьютер для создания своих анимаций, которое будет перепрошивать микроконтроллер (в моем случае Attiny1616), а также чтобы был удобный интерфейс с помощью которого можно будет сделать анимацию покадрово. Так как в C# я мало что знаю, подскажите с чего начать, что может понадобиться, стоит ли это вообще делать на C#.


Ответы (1 шт):

Автор решения: aepot

Во-первых, сделать красивый GUI можно с помощью любого доступного инструментария, возможности неограничены. Разница только в том, что при использовании разных инструментов потребуется прилагать разное количество усилий.

Во-вторых, под какую платформу нужно приложение? Windows, Mac, Linux, Android, iOS? Нужно ли поддерживать устаревшие системы, такие как Windows 7? От этих требований зависит ответ.

Ну и далее пробегусь по популярным:

  • Windows Forms - самый лёгкий GUI для Windows, легко поддержать старые ОС. Из минусов, требуется много усилий для наведения красоты. Рисовать нестандартные красивые пиксели и анимации придётся в буквальном смысле кодом с помощью линий, кружочков и прямоугольничков.
  • WPF - очень крутой и продвинутый GUI для Windows, также поддерживается везде где и Windows Forms. Имеет огромный набор визуальных инструментов для вёрстки и анимаций интерфейсов. Выбирая между Windows Forms и WPF, я бы выбрал WPF.
  • Windows App SDK - современный GUI для Windows 10 и новее. Красиво выглядит, умеет примерно то же что и WPF, сейчас свои новые приложения я пишу именно по него. Минус этого GUI в том, что он сыроват и в нём пока ещё есть местами ошибки и недоработки, и не все из них легко лечатся.
  • MAUI - кроссплатформенный GUI, флагман всех гуёв от Microsoft на сегодняшний день. Стильный, модный, молодёжный. Поддерживает Windows 10+, Mac, iOS и Android. Кстати, под Windows он работает на движке того же Windows App SDK со всеми вытекающими последствиями. Если хотите быть на острие модных технологий с топовыми красивостями интерфейса, выбирайте этот GUI, ну или предыдущий. Кстати, предшевственник MAUI назывался Xamarin Forms.
  • Avalonia UI - а где же Linux? А вот он. По сути этот GUI является аналогом WPF, который работает в Linux и Windows. Но если пингвины вас не интересуют, лучше берите WPF.
  • Unity - кросплатформенный движок для игр, под любую популярную платформу. Если хочется много 3D, физики и прочих RTX, это лучший на мой взгляд движок на базе .NET. Но для вашей задачи, это конечно перебор.

Ну и по самому .NET, настоятельно рекомендую использовать .NET 8 или новее.

Итого: если речь про Windows, начните с WPF.

→ Ссылка