Как Avalonia может разработать кроссплатформенное приложение? - PullRequest
0 голосов
/ 07 января 2020

Я разработчик WPF. Наша команда ищет хорошее кроссплатформенное решение для замены старого настольного продукта, разработанного WPF. Недавно выяснилось, что Авалония может быть одним из лучших способов, но, похоже, не так много демонстрационных случаев или глубокого понимания. Только один товар - https://www.reddit.com/r/csharp/comments/dgfxbl/my_experience_developing_crossplatform_app/

Пожалуйста, поделитесь своим опытом и спасибо.

Мы хотели бы знать: 1. Кроссплатформенность. 2. Стабильность приложений, разработанная Avalonia 3. PRO и CON для других кроссплатформенных решений, таких как JAVA, QT, WEB и др. c.

1 Ответ

3 голосов
/ 12 января 2020
  1. Работает быстрее, чем WPF на нескольких рабочих нагрузках благодаря использованию Skia для рендеринга, работает медленнее на других рабочих нагрузках из-за того, что некоторые части инфраструктуры все еще не оптимизированы. С точки зрения покрытия платформы он работает "из коробки" практически на любом дистрибутиве x86 Linux (не на основе glib c и ARM потребует специальной сборки SkiaSharp), Windows 7+ и OSX 10.13+. Вы получите кроссплатформенный GUI, теперь поддерживаются даже глобальные меню. Поднос меню ожидается в следующем выпуске или после него. В настоящее время не хватает надлежащей поддержки восточной локали, для этого не существует ETA, вероятно версии 2020 Q4.
  2. 0.8.x и 0.9.x были тщательно протестированы в условиях дикой природы на различных системах (даже exoti * 1034). * Linux Distos, как Qubes OS) благодаря помощи проекта Wasabi Wallet (который является одной из историй успеха использования Avalonia, BTW).

3.1. PRO:

  • это C# и полный XAML (т. Е. Нет обертывания элемента управления, вы имеете полный контроль над шаблонами), поэтому у вас есть отличный язык программирования с автоматизированным c управлением памятью и компиляцией. проверка типа времени с настраиваемой разметкой пользовательского интерфейса solid с поддержкой MVVM.
  • если вы выполняете перенос из WPF и используете MVVM, ReactiveUI, Prism или MEF «вручную», вы можете повторно использовать весь слой модели представления.
  • у вас есть полный доступ к API платформы через P / Invoke (вы не получите их легко в приложении на базе Electron)

3.2. CON:

  • Нет поддержки мобильной платформы до 2021 года
  • Не так много готовых к использованию компонентов быстрого прототипирования, как в веб-инфраструктурах
  • Там будет сломать изменения. То же самое касается практически всех веб-технологий. Попробуйте обновить зависимости сложного приложения React, которое никто не трогал в течение года.
...