kkoollaj
@kkoollaj

Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

Недавно начал заниматься разработкой программ с использованием Windows Forms и остался довольно впечатлён. Однако столкнулся с ограничением – WF подходит только для платформы Windows. Я бы хотел создавать приложения и для Windows, и для macOS (и, возможно, ещё и для мобильных устройств).
Я рассматривал React Native, но его скорость не полностью удовлетворяет моим требованиям. Какие универсальные фреймворки (и существую ли вообще) вы можете посоветовать для кросс-платформенной разработки, предпочтительно с использованием C++ или C# ? Также интересно узнать, насколько распространено в практике создание программы для одной платформы и затем её переписывание на другом фреймворке /языке для поддержки других устройств (например, с Windows на macOS с использованием Swift) ?
  • Вопрос задан
  • 374 просмотра
Решения вопроса 5
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Windows Forms - это только Windows, т.к. он построен вокруг нативных системных вызовов Windows. Вообще-то я однажды писал Windows Forms для Linux, но там очень много было костылей и багов, поэтому - нет, не надо.

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

а вообще практика обычна - ядро пилится на одном, гуишки на нативе под платформу.
Ответ написан
@res2001
Developer, ex-admin
Под плюсы довольно много кросс-платформенных библиотек для GUI, самая известная, видимо, Qt.
Сам язык и его стандартная библиотека вполне кросс-платформенны. Но в разных компиляторах и в разных реализациях стандартной библиотеки могут быть свои нюансы.
Ответ написан
Комментировать
HemulGM
@HemulGM
Delphi Developer, сис. админ
Если есть возможность отойти от C#, то есть Delphi и FMX с кроссплатформенным фреймворком. Мощнее и удобнее WinForms и WPF. Этот фреймворк, кстати поддерживает и C++, если использовать CBuilder

https://www.embarcadero.com/ru/products/delphi/sta...
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Сам UI не делал. Но слышал мнение от опытных UI-щиков что кросс-платформенная разработка
на практике проваливается. В мелочах. Где-то какие-то фичи кросс-платформ не может одинаково воспроизвести.

Обычно конторы побогаче для разработки своего мобильного приложения под Android / iOS нанимают 2
команды и каждая делает UI на нативных фреймворках. Конторы победнее - страдают от нехватки фич.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы