В Visual Studio можно собрать MAUI проект для: Windows, MacOS, Android, iOS и Tizen. Даже Windows Phone нет. А как собрать MAUI проект под дистрибутивы GNU\Linux? Возможно ли? Какие есть способы?
Вячеслав Золотов, Разрабатываем Desktop-приложения на C# WCF WPF. Поставили задачу максимально уйти от Microsoft. Думаем использовать связку дистрибутив GNU\Linux + Rider + . Но если Visual Studio не поддерживает MAUI под Linux, то Rider вряд-ли.
WSGlebKavash, MVVM, как и WPF является опциональным, хоть и рекомендуемым подходом.
Но как я видел - в приложухах на Avalonia часто любят reactiveui использовать ещё.
Кстати, если у тебя там есть уже готовые приложения на WPF, которые нужно на линуксе запустить, то можно ещё на https://www.avaloniaui.net/XPF посмотреть - можно WPF в кроссплатформу без переписываний превратить.
А как собрать MAUI проект под дистрибутивы GNU\Linux? Возможно ли? Какие есть способы?
Ну вообще поддержка MAUI на Linux лежит полностью на плечах коммьюнити.
Microsoft заявили, что они даже пытаться не будут.
И вроде как коммьюнити с этим не очень справилось https://github.com/media-library/maui-linux
Василий Банников, Разрабатываем Desktop-приложения на C# WCF WPF. Поставили задачу максимально уйти от Microsoft. Думаем использовать связку дистрибутив GNU\Linux + Rider + . Но если Visual Studio не поддерживает MAUI под Linux, то Rider вряд-ли.
Microsoft заявили, что они даже пытаться не будут.
Пожертвовали 10 000$ в проект Gnome, разработали собственный дистриубив и портировали Microsoft SQL Server, а сделать GUI-Framework не хотят. Мда...
Пожертвовали 10 000$ в проект Gnome, разработали собственный дистриубив и портировали Microsoft SQL Server, а сделать GUI-Framework не хотят.
Да, не хотят - слишком сложно для них.
Вот ещё чтобы уравновесить щедрый донат в 10к на гном (хотя сумма на самом деле смешная для единоразового пожертвования от такой корпорации):
1. Убили проект Monodevelop, закрыли исходники и теперь выпускают его под названием VS for Mac.
VS for Linux конечно же нет и не будет.
2. Запрещают использование своего дебаггера не в своих продуктах. По тому Samsung для своего tizen пришлось делать свой дебаггер, как и Jetbrains для Rider
3. Всё ещё держат VS Code под проприетарной лицензией и часть кода закрыта. VSCodium из-за этого не эквивалент VSCode (+ см п2)
4. Недофинансируют разработку C# extension для vsc, из-за чего ему постоянно не хватает фичей да и обновления с новым SDK приходят с запозданием
5. Часть нового кода в C# extension тоже будет закрыта. Официальный анонс
6. Отказались от официальной поддержки MAUI на Linux. Её не было и не будет. Это целиком на плечах комьюнити, которое также ни цента за эту поддержку не получило и вряд ли получит.
7. Чуть не вырезали dotnet watch - хотели его вместе с hot reload сделать эксклюзивом Visual Studio. Только из-за скандала тот самый коммит откатили.
8. Это ещё молчу про прикол с .net foundation (честно уже даже забыл что там было) и вообще всю работу с комьюнити.
Разрабатываем Desktop-приложения на C# WCF WPF. Поставили задачу максимально уйти от Microsoft. Думаем использовать связку дистрибутив GNU\Linux + Rider + . Но если Visual Studio не поддерживает MAUI под Linux, то Rider вряд-ли.
MAUI в принципе на Linux не работает.
А раз разрабатываете WPF приложение, то тут прям напрашивается Avalonia.
1. Avalonia официально поддерживается в Rider
2. Avalonia очень во многом похожа на WPF.
В то время как MAUI ближе к Xamarin forms
3. Уже есть готовые истории успеха по портированию WPF->Avalonia. Это на столько простой процесс, что в некоторых случаях он даже автоматический.
Василий Банников, только стоит отметить, что у этой самой Авалонии есть пока мелкие недоработки, что-то, может, нужного 3,5 человек (из которых 1 - это я). Например, нет поддержки правосторонних письменностей - арабской, например. :(
Василий Банников, не сложно. Это маркетинг. Им нужно, чтобы продавалась Windows и Visual Studio. Если сделать эти вещи для Linux официально, то все разрабы резко перейдут на него и выберут Rider. Rider, как платная IDE, лучше платной VS.
P.S. Если хочется больше свободы, кроссплатформенности и меньше костылей, то Java / JavaFX предпочтительнее.
Ну может всё уже пофиксили и я просто давно проверял :D
---
Смотри-ка, и впрямь всё уже заработало (хоть я несколько месяцев назад проверял)
---
Ай-ай-ай, я оказывается я был прав и не прав одновременно. Эта поддержка есть, причём я допускаю что давно, но изначально я это проверял в TextBox (в котором это до сих пор не хочет работать правильно), а в Button и TextBlock всё работает замечательно, (просто потребовалось что-то типа транслитератора, я взял и написал, и на WPF всё без лишних ухищрений работало; оказалось что можно большую часть исходников скопировать без особой правки)