Р>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
Ну далеко не всегда это удобнее.
Во-первых, стабильность версий штука относительная. Сейчас она стабильно работает, потом понадобилось что-то другое, или наткнулись на какой-то баг в dll, который раньше не мешал, а вот теперь мешает.
Использовать прекомпилированную dll в качестве некоторого "кэша", конечно, можно. Но при этом лучше все же иметь под рукой ее исходники, чтобы всем участникам было понятно, из чего dll собрана и где ее исходники найти.
Во-вторых, внезапно по совершенно не зависящим от разработчика причинам может потребоваться дать кому-нибудь полный набор исходников проекта. Например, если надо провести какую-нибудь сертификацию и т.п.
Р>По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
Мое ИМХО — киллер-фичу можно сформулировать одним словом: инфраструктура. У дотнета она хорошо развитая, и на многие случаи жизни на нем есть решения. Она, конечно, другие языки не убивает, у некоторых других языков это тоже есть, но в конкуренции языков это сильный козырь. А всякие вкусности типа упрощения написания кода в некоторых случаях — это, по большому счету, мелочевка.
Здравствуйте, Разраб, Вы писали:
>Кто знает киллер-фичи дотнета?
Это конечно не киллер-фичи, но у jvm в популярных вариантах(Java/Kotlin) этого нет.
a) Генерики без type-erasure
b) LINQ (eхpression trees)
Здравствуйте, novitk, Вы писали:
>>Кто знает киллер-фичи дотнета? N>Это конечно не киллер-фичи, но у jvm в популярных вариантах(Java/Kotlin) этого нет. N>a) Генерики без type-erasure N>b) LINQ (eхpression trees)
Я бы сюда добавил Source Generator, PM, кортежи ну и Visual Studio как средство разработки.
Кроме того это MAUI для кроссплатформенной разработки.
Болле плотная работа с нативов через те же Span<T>, ref struct , встроенные массивы Function Pointers
Понравились необработанные строковые литералы
Ну и AOT. Там где нужна скорость и использование памяти. Хотя GC при этом никуда не делся.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>ну и Visual Studio как средство разработки.
Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде.
Р>>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
K>Ну далеко не всегда это удобнее. K>Во-первых, стабильность версий штука относительная.
Если работать с исходниками, то как следить за работоспособностью версий? не, вроде нугет позволяет уже использовать исходники(или нет?), но в любом случае это не репозиторий, мы используем стабильную версию.
Если же все зависимости в исходниках лежат в транке, то единственный способ — держать его все время в рабочем состоянии. что не сильно удобно. а случае шарпа еще и увеличение времени компиляции(на котором можно и нужно экономить).
Здравствуйте, Serginio1, Вы писали:
S>Кроме того это MAUI для кроссплатформенной разработки.
Так себе фича. Костыль поверх костылей.
Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным.
В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET.
По-моему в живых только направление ASP .NET осталось, а народу уже не так странно лепить десктопные приложения при помощи того же Electron или аналогов.
Р>>>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>>>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
K>>Ну далеко не всегда это удобнее. K>>Во-первых, стабильность версий штука относительная. Р>Если работать с исходниками, то как следить за работоспособностью версий? не, вроде нугет позволяет уже использовать исходники(или нет?), но в любом случае это не репозиторий, мы используем стабильную версию.
Стабильную версию можно либо выделить в отдельную ветку исходников, либо зафиксировать метку версии в общем репозитории исходников, из которой эта версия dll была собрана (конкретно про нугет не в курсе, с ним почти не работал). Но смысл в том, что вместе с dll всегда должно быть можно откопать тот набор исходников, из которых она была собрана. Хранить в репозитории голую dll без ссылок на ее исходники — плохая идея (ну разве что годится в том случае, если dll изначально заимствованная, и ее исходников просто нет).
Здравствуйте, novitk, Вы писали:
S>>ну и Visual Studio как средство разработки. N>Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде.
А зачем если есть WSL 2. Ну и можно с помощью SSH Отладка .NET Core в Linux с помощью SSH путем присоединения к процессу
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, karbofos42, Вы писали:
K>Здравствуйте, Serginio1, Вы писали:
S>>Кроме того это MAUI для кроссплатформенной разработки.
K>Так себе фича. Костыль поверх костылей.
Тем не менее аналога ни у кого нет.
K>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным.
А зачем microsoft создавать своими руками конкурента для десктопной винды?
K>В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET.
Я даже больше скажу: нет вообще ни одной адекватной десктопной GUI библиотеки для любого языка и платформы. То что есть или очень слабое, или некроссплатформенно, или выглядит максимально уродски на win и macos, или все вместе.
Здравствуйте, karbofos42, Вы писали:
S>>Кроме того это MAUI для кроссплатформенной разработки.
K>Так себе фича. Костыль поверх костылей. K>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным. K>В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET. K>По-моему в живых только направление ASP .NET осталось, а народу уже не так странно лепить десктопные приложения при помощи того же Electron или аналогов.
Здравствуйте, gandjustas, Вы писали:
G>А зачем microsoft создавать своими руками конкурента для десктопной винды?
Так они и для винды ничего дельного не сделали.
Полумёртвые WinForms и WPF, никому не нужный UWP и теперь вот всякие MAUI выдумывают.
Десктопы майкрософту не так много денег приносят вроде, как серверы.
При этом почему-то ASP .NET Core они запилили под Linux и не испугались конкуренции.
Без адекватной десктопной библиотеки возникает в принципе вопрос в целесообразности использования .NET.
И Avalonia пилят и всё это какое-то странное и даже базовые шаблонные приложения отталкивают от дальнейшего использования (не все из коробки вообще собираются и запускаются).
S> Просто MAUI то вышел недавно, наследник Xamarin.Forms.
Здравствуйте, karbofos42, Вы писали:
K>Здравствуйте, gandjustas, Вы писали:
G>>А зачем microsoft создавать своими руками конкурента для десктопной винды?
K>Так они и для винды ничего дельного не сделали.
WinUI весьма достойно и нативно выглядит (для w11)
K>Полумёртвые WinForms и WPF, никому не нужный UWP и теперь вот всякие MAUI выдумывают.
Да, чехарда десктопных фрейморков порядком надоела. Последнее что придумали — WinUI3
K>Десктопы майкрософту не так много денег приносят вроде, как серверы.
Десктопы позволяют держать рынок. Не будет десктопов — упадут пролажи офиса и даже серверов, AD без десктопной винды потеряет две трети своих преимуществ.
K>При этом почему-то ASP .NET Core они запилили под Linux и не испугались конкуренции.
Потому micrsoft проиграл битву за серверы для хостинга. Даже в azure завезли виртуалки на линуксе, которые были дешевле чем на винде. А когда везде докер и кубер, то веб-хостинг на винде стал совсем экзотикой. Но ms к этому моменту же .NET Core 3.1 запилил с полноценным веб-сервером, работающим на линуксе
K>Без адекватной десктопной библиотеки возникает в принципе вопрос в целесообразности использования .NET.
Странное высказывание. Нигде нет того, что вы называете "адекватной десктопной библиотекой"
Здравствуйте, karbofos42, Вы писали:
S>> Просто MAUI то вышел недавно, наследник Xamarin.Forms.
K>В этом наследии и кроется проблема.
Ну на самом то деле хотя все и построено на XAML но вот отрисовка этого XAML может быть разной.
Все течет все меняется. Возможно и подключат SKIA или сделают опционально. https://github.com/dotnet/Microsoft.Maui.Graphics
Посмотрим.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, gandjustas, Вы писали:
g> S>>Кроме того это MAUI для кроссплатформенной разработки.
g> K>Так себе фича. Костыль поверх костылей.
g> Тем не менее аналога ни у кого нет.
Здравствуйте, Serginio1, Вы писали:
S> Ну на самом то деле хотя все и построено на XAML но вот отрисовка этого XAML может быть разной.
Они используют XAML похоже чисто потому, что когда-то сделали, а теперь жалко выкидывать.
По факту не вижу в этом удобства и я бы за эту разметку не держался.
Уж лучше бы в десктоп затащили те же Razor-страницы.
Здравствуйте, Serginio1, Вы писали:
S>>>ну и Visual Studio как средство разработки. N>>Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде. S>А зачем если есть WSL 2. Ну и можно с помощью SSH
Иногда можно и сексом заниматься в гамаке, но не всегда и не удобно. Поэтому и Ryder.