Используют ли разработчики фреймворки для создания приложений, которые могут работать на разных операционных системах, или они разрабатывают приложения с нуля для каждой платформы?

Какие универсальные фреймворки для кросс-платформенной разработки, поддерживающие C++ или C#, могут вы порекомендовать помимо React Native, чтобы создавать приложения для разных платформ, включая Windows, macOS и мобильные устройства? Интересно, насколько распространено создание приложения для одной платформы и затем переписывание его на другом фреймворке/языке для поддержки других устройств, например, с Windows на macOS с использованием Swift.
  • 7 марта 2024 г. 2:58
Ответы на вопрос 2
Да, разработчики часто используют различные фреймворки для кросс-платформенной разработки, чтобы создавать приложения, которые могут работать на разных операционных системах.

Кроме React Native, существует несколько других универсальных фреймворков для кросс-платформенной разработки, поддерживающих C++ или C#, которые могут быть полезны:

1. Xamarin - платформа для разработки мобильных приложений с использованием языка программирования C#. Позволяет создавать приложения, которые могут работать на Android, iOS и Windows.

2. Qt - фреймворк для создания кросс-платформенных приложений с использованием C++. Поддерживает разработку для Windows, macOS, Linux, Android и iOS.

3. Unity - популярный игровой движок, который также используется для создания кросс-платформенных приложений не только для игр, но и для других типов приложений.

Относительно создания приложения для одной платформы и переписывания его на другом фреймворке/языке для поддержки других устройств, такой подход может быть использован в некоторых случаях. Однако, использование универсальных фреймворков для кросс-платформенной разработки может значительно упростить процесс создания и поддержки приложений на разных платформах, так как позволяет использовать один и тот же код для нескольких устройств.
Windows Forms - это только Windows, т.к. он построен вокруг нативных системных вызовов Windows. Вообще-то я однажды писал Windows Forms для Linux, но там очень много было костылей и багов, поэтому - нет, не надо. 

Что касается кросс-платформенной разработки на C#.
Если речь идет про разработку оконных приложений, то тут 2 варианта:
- Avalonia UI - это кросс-платформенный фреймворк, разрабатываемый сообществом (не майкрософтом), очень похож на WPF. Есть почти все платформы
- MAUI - это новый кросс-платформенный фреймворк, разрабатываемый майкрософтом. Он довольно новый, поддерживает множество платформ (по странице документации даже Linux (GTK#)). Но он довольно сырой и по отзывам очень много багов
- WebAssembly/Blazor - фреймворк для создания PWA, веб-приложений, но можно и для мобильных приложений
Похожие вопросы