Комментарии 9
Спасибо большое за эксперимент, интересно!
Из опечаток: стоит поправить Фронтент на Фронтенд.
Можете поделиться проектом?
Могу. Напишите в лс мне в тг @aleksey1988m.
Таких проектов сейчас достаточно много. Тот же tauri предлагает сделать из blazor десктоп приложение. Если поискать, то можно найти еще https://github.com/tryphotino/photino.NET, https://github.com/ElectronNET/Electron.NET, https://github.com/JBildstein/SpiderEye.
Photino.NET написан на C++ частично. Использует тот же webkitgtk и окно gtk в качестве хоста клиента.
SpiderEye не соберётся в aot в силу специфики реализации интероперабельной части.
Electron.NET - это не native C# проект. Там используется немало nodejs.
А tauri? Я в части dotnet его не смотрел, только react пробовал собирать, но он предлагает написать приложение на blazor.
Tauri именно в Linux работает на webkitgtk. В связке blazor + webkitgtk + rust - rust становится явно лишним, если логику планируется писать на .net.
Blazor пока не может обогнать по производительности нативный js во всех аспектах. Blazor web assembly хостит целую среду исполнения в себе и поэтому на простеньком webkitgtk это уже будет оверхед. Webkitgtk это не chromium - местами он может рендерить иначе, чем хромиум. Если сюда еще добавить blazor, то будет очень тяжело искать причины "нестандартного" рендеринга содержимого.
Понятно, что blazor проблемная технология с туманным будущим. Но он служит примером того, что tauri не привязан к js на фронте, а готов принять всё, что умеет выполняться в браузере. Также и на бэке нет привязки к rust, можно писать на любом языке, а tauri обеспечит коммуникацию между компонентами и соберет все в итоговое приложение.
От сервера к десктопу: эксперимент с ASP.NET AOT и WebKitGTK