The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз унифицированной платформы .NET 5 с поддержкой Linux и WebAssembly"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз унифицированной платформы .NET 5 с поддержкой Linux и WebAssembly"  +/
Сообщение от opennews (ok), 11-Ноя-20, 13:32 
Компания Microsoft представила новый значительный выпуск платформы .NET 5, в котором предоставлена поддержка Linux, macOS и WebAssembly на архитектурах x86, x86_64, ARM32 и ARM64. В рамках .NET 5 пользователям  предложен единый открытый фреймворк и runtime, которые можно использовать в различных областях разработки и на разных платформах. Выпуск .NET 5 сформирован благодаря унификации .NET Framework,  .NET Core и Mono. На основе .NET 5 можно создавать многоплатформенные приложения, используя единую кодовую базу и общий процесс сборки, не зависящий от типа приложения...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54066

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от leibniz (ok), 11-Ноя-20, 13:32   –18 +/
хорошая попытка, M$, но нет
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

2. Сообщение от srgazh (ok), 11-Ноя-20, 13:32   +/
Супер!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #67

3. Сообщение от Аноним (3), 11-Ноя-20, 13:32   +1 +/
Под линукс этим вообще кто-то пользуется? Лучше/хуже плюсов?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #14, #19, #81, #85, #113

4. Сообщение от Аноним (4), 11-Ноя-20, 13:36   +/
>> В следующем выпуске .NET 6 в состав будут включены наработки проектов Xamarin и Mono, которые позволят обеспечить поддержку платформ iOS и Android.

Тот самый замарин, который настолько кроссплатформенный, что нынче в бубунтах с райдером не запущается? А поддержку из коробки гуя в линухе в .NET 8 ждать?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #62, #116

5. Сообщение от Аноним (6), 11-Ноя-20, 13:37   –3 +/
Когда гуи завезут? Будет КорКде?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #26, #36

6. Сообщение от Аноним (6), 11-Ноя-20, 13:38   +4 +/
Пятой версией в продакшн? Наверное нет, не пользуются.
А версии 2, 3, да, есть в продакшен!)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #63

7. Сообщение от Аноним (7), 11-Ноя-20, 13:41   +/
Разработчики wine-mono заявили, что,  благодаря открытому когду, это будет работать в Wine практически без проблем, прям из коробки.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

8. Сообщение от Аноним (4), 11-Ноя-20, 13:41   –1 +/
На быстрый JSON кстати сильно плевались, потому что у него части фич не было к которой в других сериализаторах уже попривыкли и активно юзают
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #106

9. Сообщение от Аноним (9), 11-Ноя-20, 13:42   +/
здесь МС нам наглядно объясняет что не собирается развивать линукс, как они везде официально пишут, а только проталкивать везде свое г
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Qwerty (??), 11-Ноя-20, 13:51   +18 +/
Не читал, но осуждаю?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #16

11. Сообщение от InuYasha (??), 11-Ноя-20, 14:02   –2 +/
За .NET, Java, JS надо высылать и расстреливать. Можно не насмерть, но чтоб больно.
Ответить | Правка | Наверх | Cообщить модератору

12. Сообщение от Анончик9999 (?), 11-Ноя-20, 14:11   –3 +/
Когда WinForms, WPF в Linux завезут? Кто-то публиковал под Linux приложения с помощью ClickOnce?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #35

13. Сообщение от Андрей (??), 11-Ноя-20, 14:12   +/
> Выпуск .NET 5 сформирован благодаря унификации .NET Framework, .NET Core и Mono.

Что означает "унификации"? Я могу без libmono дёргать mono_XXX API из .NET 5?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

14. Сообщение от RSarov (?), 11-Ноя-20, 14:12   +9 +/
А зачем с плюсами сравнивать это другая песня. Если уж сравнивать то с java. Это как раз близнецы можно сказать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #89

15. Сообщение от Аноним (-), 11-Ноя-20, 14:15   –6 +/
От Microsoft нам ничего не нужно!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37, #45

16. Сообщение от Андрей (??), 11-Ноя-20, 14:16   +13 +/
M$ пользуется ресурсами сообщества, теми, которые пляшут под их дудку. Но не даёт права голоса сообществу, тем, которые видят иначе. Для M$ это win-win. И открыто, и "свободно", но развитие только в одном, выгодном им, направлении.

Остаётся надеяться, что они не потопят Mono слишком быстро.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #23, #24

17. Сообщение от Голуб4ик (?), 11-Ноя-20, 14:17   –1 +/
Звучит заманчиво.. интересно узнать, размер проекта после сборки намного ли увеличится
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #104

18. Сообщение от Аноним (-), 11-Ноя-20, 14:17   –23 +/
Этой новости однозначно большой и жирный минус.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20

19. Сообщение от Аноним (19), 11-Ноя-20, 14:38   +13 +/
> Под линукс этим вообще кто-то пользуется?

Маловато, потому что MS удобненько опоздал с релизом кроссплатформенного .NET на несколько лет. Причем как бы красиво ни была написана новость часть кусков .NET по-прежнему работают только на платформе Windows.

> Лучше/хуже плюсов?

А вот нельзя сказать, пока не будет понятна задача, которую вы решаете. Если ваше приложение не требует ручной работы с ресурсами компьютера и вы спокойно можете позволить себе GC, то ответ да, однозначно лучше. Лучше, потому что при сохранении прочих равных возможностей вы приобретаете скорость написания кода.
Если вы хотите вручную рулить указателями и получить высокопроизводительный нативный рантайм, то ответ однозначно нет. Хотя есть функционал работы с указателями и unsafe, сборка нативных приложений вне Windows 10 не ожидается раньше .NET 6, поэтому нет смысла переходить с С++. С другой стороны они научились хотя бы экспортироваться.

Опять же, если мы говорим про ООП-решения для бизнес-приложений или приложения с GUI, то это подойдёт, там удобно. Оно скорее конкурирует с Java, а не с С++. А если ваши приложения на С - проходите мимо, это не для вас.

Отдельно нужно в этой связи упомянуть Rust, потому что самое примечательное тут как раз то, насколько далеки Rust и .NET. Все фанатичные преимущества раста не играют никакой роли и не могут применяться в сравнении с .NET, потому что цели и назначения разные. =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #29

20. Сообщение от Аноним (20), 11-Ноя-20, 14:40   +3 +/
Ну твоему комментарию точно минус
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #59

21. Сообщение от Аноним (19), 11-Ноя-20, 14:40   +/
https://github.com/AaronRobinsonMSFT/DNNE
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

22. Сообщение от Урри (ok), 11-Ноя-20, 15:08   +10 +/
Новость превосходная, хотя и несколько запоздавшая.

Ситуация, кстати, довольно забавная:

Когда-то майки забабахали си-шарп в противовес джаве, засунув в него все то, чего жабе сильно не хватало и что Гослинг туда впихивать не собирался (зачастую банальным "не хочу", у кого есть желание может по рассылке полазить). Примитивные типы (не все есть объект - число это просто число), структуры на стеке (меньше работы gc), лямбды, феноменально простой pInvoke заместо кошмарного jni, linq(!!!) и т.д. и т.п. Это была бомба, обещавшая лучший язык тысячелетия.

И что же майки решили сделать? Они решили "пускай этот лучший язык будет прибит гвоздями к нашей ОС - кто хочет лучший язык, пусть платит нам деньги за ОС. Шарп потащит Виндовс вперед, как ракетоноситель, в светлое и богатое будущее!".

Но оказалось, что их ОС настолько плоха, что даже лучший в мире язык не может ее тянуть вперед как паровоз. Наоборот, ОС утащила язык в трясину, в которой медленно тонула сама. И шарп практически умер. Вместо него всякие недоделки стали рожать всякие недоязыки, которые успешно заняли пустующую нишу.

Однако, к 2019 году майки наконец прозрели, что прocрали все полимеры, и решили ударными темпами возвращаться. Получится ли у них? Возможно. Ведь шарп действительно прекрасный и удобный язык. Особенно на фоне того, как оракел пытается похоронить джаву.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #30, #31, #32, #43, #57, #71

23. Сообщение от Аноним (23), 11-Ноя-20, 15:11   +6 +/
Вообще-то у всех так. Произвол Главных Разработчиков и Сопровождающих - самое мерзкое, что есть в СПО. Даже AGPL менее мерзка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #38

24. Сообщение от Аноним (23), 11-Ноя-20, 15:14   +1 +/
>Остаётся надеяться, что они не потопят Mono слишком быстро.

Они его уже потопили. С покупкой Xamarin. Nat Friedman взялся в MS именно оттуда. У моно своего SDK давно уже нет, всё собирается майкрософтовским, с телеметрией, которая сначала её отсылает, а потом пишет "выставьте такую-то переменную, чтобы отключить телеметрию".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

25. Сообщение от Аноним (25), 11-Ноя-20, 15:17   –3 +/
Верните WCF который вы удалили. Пока не сделаете я вынужден буду на NET Framework 4.8 сидеть.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28, #49, #100

26. Сообщение от Аноним (26), 11-Ноя-20, 15:21   +1 +/
https://avaloniaui.net/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

27. Сообщение от Аноним (-), 11-Ноя-20, 15:36   –21 +/
Как же тошно читать сообщение от анального раба Майкрософт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #155

28. Сообщение от Аноним (-), 11-Ноя-20, 15:37   +/
Раб ты что тут раскричался. Лучше купи нашу лицензию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #33, #53

29. Сообщение от анононимс (?), 11-Ноя-20, 15:38   +1 +/
Я бы ещё Go упомянул:) нативно и с GC
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #51

30. Сообщение от Анонимный_анон (?), 11-Ноя-20, 15:46   +3 +/
Гражданин, завязывайте курить линолеум.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

31. Сообщение от анонимбр (?), 11-Ноя-20, 15:46   +4 +/
C# действительно лучше Java:) в Java даже properties нет string Name { get; set; }. В Typescript кстати тоже есть. Но все портит only Windows. Я как-то давно присматривался к Mono. У меня сотрудник плюются от Java после C#. В конце концов я понял что он прав и больше не пишу джабе уйдя в другие языки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #39, #101, #117

32. Сообщение от Аноним (19), 11-Ноя-20, 15:48   +2 +/
> Наоборот, ОС утащила язык в трясину, в которой медленно тонула сама.

Вот да! На протяжении многих лет С# не выбирался как язык для проекта из-за подвязок на Windows и вообще из-за ассоциирования.

> Однако, к 2019 году майки наконец прозрели, что прocрали все полимеры, и решили ударными темпами возвращаться.

Они прозрели раньше, когда Балмера прогнали. Просто крупные бизнесы шевелятся долго. Переосмысление поведения занимает годы.

C# прекрасно решает те задачи, за которые берётся и не лезет куда не просят (на низкий уровень) в отличии от С++. Современный переделанный ASP.NET Core, который типа теперь 5 - это мощный конкурент PHP, собственно почему MS и отказывается самостоятельно меинтейнить PHP под Windows. Ну и самое главное, прощай IIS! Для работы современной .NET вебни не нужна привязка к системному CLR, подаваемому через IIS. А те кто продолжает использовать IIS (как сервер приложений, а не вебовый) тому нужно переконфигурироваться соответственно для отказа от встроенных реализаций и стандартных системных компонентов.

> Особенно на фоне того, как оракел пытается похоронить джаву.

Java вечно вещь в себе. Они там всё на этой java имеют своё от начало и до конца. Java не инклюзивна. MS идёт вообще в другую сторону, они пытаются развивать экспорты, нативные билды и раздавать свою ивент-модель и стандартную библиотеку для связки с другим софтом без высокоуровневого API. Посмотрим что получится.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

33. Сообщение от Анончик9999 (?), 11-Ноя-20, 16:05   –2 +/
На.Net давно есть возможность свободно клепать приложения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

34. Сообщение от anonymous (??), 11-Ноя-20, 16:15   –1 +/
> разработки клиентских приложений WPF и Windows Forms

Они что это дело портировали под линукс? Или поддержка линукса там ограниченная?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #119

35. Сообщение от Аноним (19), 11-Ноя-20, 16:20   +4 +/
> Когда WinForms, WPF в Linux завезут?

Первое на линуксе не требуется. WinForms - это примерно как стандартный тулкит X Server. Он в Windows-то оставлен для совместимости. Зачем тащить в Linux барахло 30-летней давности заточенное под ядро (именно ядро) другой ОС?
Второе зависит от WDDM и DirectX от слова "совсем". Как вы думаете что лучше и проще сделать? Написать новый кроссплатформенный тулкит на базе Xamarin.Forms, портировать во все ОС WDDM и DirectX или обмазаться обёртками в стиле wine? ИМХО ответ очевиден.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #40, #54

36. Сообщение от joe lemonade (?), 11-Ноя-20, 16:29   +3 +/
В следующем ноябре выйдет .NET 6 с поддержкой MAUI - кроссплатформенного UI.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

37. Сообщение от Аноним (37), 11-Ноя-20, 16:45   +/
Удваиваю: горбатого только могила исправит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

38. Сообщение от Crazy Alex (ok), 11-Ноя-20, 16:52   +6 +/
AGPL не мерзка вообще - это способ не дать утащить разработки по проприетарным норам. И "произвол" - не произвол, как раз пока свободная лицензия, есть BDFL - человек, а не громоздкая контора, и софт вменяемого размера. Недовольные уходят в форки, закрыть код всё равно нельзя - и всё хорошо. А вот если у тебя какая-нибудь BSD лицензия паршивая, политика определяется не человеком, а многоногой гадиной-комитетом, да ещё и софт такой, что хрен форкнешь - вот тут уже печально.

Лицензия здесь, кстати, первична - вспоминаем эпопею с ораклом и mysql/openoffice, owncloud, openwrt и так далее.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #73

39. Сообщение от Анын (ok), 11-Ноя-20, 17:08   +1 +/
Windows only только GUI: WPF & WinForms. И то есть варианты типа авалонии. Калькулятор вон недавно на линукс перетащили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #65

40. Сообщение от anonymous (??), 11-Ноя-20, 17:48   +/
> Первое на линуксе не требуется. WinForms - это примерно как стандартный тулкит X Server. Он в Windows-то оставлен для совместимости. Зачем тащить в Linux барахло 30-летней давности заточенное под ядро (именно ядро) другой ОС?

Тогда его надо выкинуть из .Net тоже. А то ты написанные программы будут тут работать, а тут не работать. Не получится подвинуть джаву, фишка которой в стандартизации.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #48, #56, #74

41. Сообщение от Аноним (41), 11-Ноя-20, 18:12   –1 +/
GUI там кроссплатформенным стал или условно только?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #96

43. Сообщение от Соня Мармеладова (?), 11-Ноя-20, 19:02   +2 +/
Борода. У создателя не было было бороды.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #46

44. Сообщение от ARKNETemail (?), 11-Ноя-20, 19:21   +2 +/
развивается Avalonia UI и Uno Platform с помощью которого портировали калькулятор с fluent дизайном. Ещё и MAUI, но стабильная версия выйдет только с релизом Net 6
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #183

45. Сообщение от Аноним (45), 11-Ноя-20, 19:37   +1 +/
А от гугла нужно?
По-моему майрософт в сотню раз адекватнее гугла.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #47

46. Сообщение от user (??), 11-Ноя-20, 19:38   +/
У созданых женщинами языков сложнее определить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #84

47. Сообщение от Аноним (47), 11-Ноя-20, 19:52   +2 +/
Специалист по сортам?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

48. Сообщение от Аноним (19), 11-Ноя-20, 20:18   +7 +/
Одна из причин популярности Windows в том, что они не выкидывают, а тащат для обратной совместимости старье десятилетиями. Откройте Windows 10, установленную со стандартными настройками. Попробуйте создать папку на рабочем столе с именем con или prn. Подумайте почему нельзя и почему у вас возникает странная ошибка (привет из msdos).

Смысл в том, что WinForms не развивается и не будет развиваться никогда. Он старый и исторически сидел в ядре (win32k.sys). После того как Windows перешел на композитный рабочий стол целиком и полностью (8.0+) эти компоненты оставлены ради обратной совместимости.

Одна из причин низкой популярности Linux на десктопе в том, что он делает наоборот. Ломает API и вынуждает переписывать весь софт (X -> Wayland). Имеет много опций для выполнения одной и той же задачи при полном отсутствии единого стандарта между дистрибутивами (GTK, Qt, EFL,..).

> Не получится подвинуть джаву, фишка которой в стандартизации.

В Java нету WinForms, слава Богу. Отсутствие поддержки копролитов на тех платформах, где их не завозили недостатком не является.

> А то ты написанные программы будут тут работать, а тут не работать.

Если разработчик не захочет поддерживать платформу, то он и не станет. Тот кто создаёт кроссплатформенное приложение изначально понимает, что к ряду библиотек привязываться нельзя. Улучшение кроссплатформенности в .NET это строго функционал для разработчиков. Тем кто пытается запустить старьё с новыми рантаймами на Linux лучше обратиться в CodeWeavers

Вообще, это болячка линуксоидов-фанатиков. Улучшение кроссплатформенности новых программ на .NET 5 ни в коей мере не отразится на старых. Разработчики не будут их переписывать. В чем смысл?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #55, #64

49. Сообщение от Аноним (49), 11-Ноя-20, 20:30   +3 +/
gRPC
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #110

51. Сообщение от Аноним (51), 11-Ноя-20, 21:27   +1 +/
> нативно и с GC

Так нативно или с GC?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #58, #61

53. Сообщение от Аноним (51), 11-Ноя-20, 21:36   +1 +/
> Раб
> купи нашу лицензию

Джавовую?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

54. Сообщение от Аноним (4), 11-Ноя-20, 21:59   +1 +/
WPF ждали, но кое-кто в МС встал в позу и сказал что даже если прилетят пуллреквесты с готовой имплементацией гуя под линуксы - никто это не будет втаскивать, не в интересах компании. Такой вот особо огороженный опенсорс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #83

55. Сообщение от Аноним (4), 11-Ноя-20, 22:01   +1 +/
Джава сама по себе огорожена ещё круче всяких винформсов. К счастью медленно но верно её выдавливают
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #148

56. Сообщение от Lex (??), 11-Ноя-20, 22:25   +4 +/
Фишка джавы в уродливых гуях, с которыми она самостоятельно движется в известном направлении( и это вовсе не «успех» )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #145

57. Сообщение от Lex (??), 11-Ноя-20, 22:32   +/
Вероятно, дело было не только в этом.
ШарпОвые приложения очень долгое время были жирнющими и тормозными и это помимо того, что их требовалось-таки компилить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

58. Сообщение от Аноним (58), 11-Ноя-20, 22:36   –2 +/
Вы дурачек? Вам написали нативно и с GS.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

59. Сообщение от microsoft (?), 11-Ноя-20, 22:49   –2 +/
Да да, как мы посмели оскорбить твой обожаемый M$
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

60. Сообщение от Некурю (?), 11-Ноя-20, 23:35   +/
Забудьте всё, что было! У нас новая технология. И так 25 лет подряд))))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #68

61. Сообщение от Андрей (??), 11-Ноя-20, 23:47   +/
Как будто для C и C++ нет GC.

A garbage collector for C and C++
https://www.hboehm.info/gc/

> The Boehm-Demers-Weiser conservative garbage collector ...

Используется, например, в gcc Object-C, Inkscape, GNU mailutils, GNU Guile, Neko VM, NiX package manager, parser3 (parser.ru).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #72

62. Сообщение от банан (?), 12-Ноя-20, 00:20   +1 +/
> в бубунтах

Нет, https://rider-support.jetbrains.com/hc/en-us/articles/360000...

> с райдером

Да, Лучше чем с Visual Studio. Jet brains в этом плане молодцы

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

63. Сообщение от n242name (?), 12-Ноя-20, 00:43   –2 +/
глюкавое поделие, обновил студию (с обновой ставится NET5), обновил некоторые пакеты и все проект не запускается, старые пакеты для которых еще нет обновления, используют примитивы которые удалены, охренеть консистенстность платформы, будем ждать пока доделают до ума

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #75, #128

64. Сообщение от n242name (?), 12-Ноя-20, 00:49   +/
так хрен редьки не слаще, все равно нет кроссплатформенныъ гуев в Net5, а в джава есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #82

65. Сообщение от n242name (?), 12-Ноя-20, 01:04   +/
да хватает там говна, много что нереализовано

приходилось даже моно патчить, и наоборот когда слазишь на чистый коре, то понимаешь что в моно многое было сделано лучше

в общем пилить они его будут еще года 2 до нормального состояния,
и комьюнити к сожалению там кусок говна
большей частью индусы макаки обиженные

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

66. Сообщение от Аноним (66), 12-Ноя-20, 01:59   +2 +/
Годно и без подводных камней с лиценционной политикой(привет Oracle)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #69, #122

67. Сообщение от Аноним (67), 12-Ноя-20, 03:26   +1 +/
> .NET 5 продолжил .NET Core 3.0 и пришёл на смену .NET Framework, который отдельно больше развиваться не будет и остановится на .NET Framework 4.8.

Что за камасутра там происходит?!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #102

68. Сообщение от Компостер (?), 12-Ноя-20, 03:45   +1 +/
Вот именно поэтому 15 лет назад при выборе во что окончательно специализироваться в системном администрировании я выбрал Linux. И ни разу не пожалел - большая часть моих знаний актуальна до сих пор и будет актуальна еще десятилетия, если мне надо я всегда могу посмотреть исходники ядра, маны, найти кучу людей и рассылок которые разьяснят почему в ядре/coreutils/findutils/etc что-то именно так а не по-другому. И я с сожалением и сочувствием смотрел все эти годы на мучения бывших коллег которым приходилось каждый год переучиваться под очередные "инновационные технологии" от M$ представляющие из себя черный ящик и работающие именно так "потому что так надо", у них все обучение и понимание сводилось к тупой зубрежке всей это бессмыслицы и исследованиям методом научного тыка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #76, #86, #94

69. Сообщение от btrfs (?), 12-Ноя-20, 04:37   +1 +/
А что там с Oracle? Жабу собирают все кому не лень, есть из чего выбрать. Как у MS с этим?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #77, #79, #136

70. Сообщение от Аноним (71), 12-Ноя-20, 05:24   –1 +/
Зачем пинать труп?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #78

71. Сообщение от Аноним (71), 12-Ноя-20, 05:28   –5 +/
Чувствуется что ты не программист. Я читал исходники Шарпа. Как буд то написано было студентами бесонными ночами. Надо и земля с джавой. Написали в язык полную туфту одноразовую.
Микрософт - это работает не трогай. А джава для души!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #140

72. Сообщение от Siborgium (ok), 12-Ноя-20, 05:51   +/
Вы разделяете нативный для языка GC, и сторонний GC, прикручиваемый как библиотека?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #87

73. Сообщение от Тот_Самый_Анонимус (?), 12-Ноя-20, 06:45   +1 +/
>какая-нибудь BSD лицензия паршивая

Как, всё-таки, корёжит сектантов от большей свободы, чем у них. Ну откажитесь от всего более свободного кода, раз такие принципиальные. Так ведь нет, будут использовать SQLite, апач и лису, но плеваться не перестанут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #95

74. Сообщение от Аноним (74), 12-Ноя-20, 07:51   +1 +/
> Не получится подвинуть джаву, фишка которой в стандартизации.

А я то и не знал. Для энтерпайз оборудования с мордой на энтерпрайз джаве использую строго определённую версию. А так как оно разношерстное вот и стоит куча разных вариантов джавы. И все стандартные. И нет, дело не в истечении срока годности сертифкатов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

75. Сообщение от Аноним (75), 12-Ноя-20, 09:35   +2 +/
сам накосячил и кто-то ему виноват
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #99

76. Сообщение от Аноним (75), 12-Ноя-20, 09:44   +3 +/
15 лет ничего не делать? норм работа
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

77. Сообщение от Аноним (66), 12-Ноя-20, 09:48   +/
Oracle JDK как бы намекает, что если ты бомж то юзай недоджаву OpenJDK без поддержки, то есть тип сам фикси... двойные стандарты опенсорса такие двойные
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #123

78. Сообщение от Аноним (66), 12-Ноя-20, 09:49   +2 +/
Если ты про Java, то дотнет ее не откровенно отфудболивает
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

79. Сообщение от Аноним (66), 12-Ноя-20, 09:50   +/
Уточню что бомж в понимании Oracle это средний и малый бизнес, а не любитель сосисок красная цена
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #137

80. Сообщение от Аноним (66), 12-Ноя-20, 09:53   +3 +/
Плюс дотнета в том, что он самодостаточен(все из коробки), в отчилии от java с ее тысячями фреймворков, систем сборок, виртуальных машин, реализаций либ и прочих ништячков для гуранов говнеца
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #124

81. Сообщение от blzz (?), 12-Ноя-20, 09:56   +1 +/
да. позволяет нативно в контейнерах крутить, и готовым оркестратором, кубером например, рулить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #115

82. Сообщение от Колаяе (?), 12-Ноя-20, 10:00   +1 +/
А как же avalonia? https://github.com/AvaloniaUI/Avalonia
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #93

83. Сообщение от Аноним (19), 12-Ноя-20, 10:58   +4 +/
Там было очень большое и публичное обсуждение этого вопроса, и я его читал.

Вот по памяти несколько тезисов.
1) Внутрь архитектуры WPF не заложена кроссплатформенность.
Если вы внимательно посмотрите на то как устроен WPF, вы увидите, что большая часть классов на низком уровне зависит от системных компонентов Windows и модулей ядра. Кроссплатформенный WPF - это оксюморон. Причем, когда речь зашла про AvaloniaUI, MS сказал, что никогда таким заниматься не будет.

2) Отвязать или бесшовно заменить платформозависмые компоненты нельзя
Нет промежуточного API между ассемблями WPF и системными компонентами. WPF предполагает наличие функционала в ОС, а это значит, что WPF должен привязываться... к wine? Или какой-то другой реализации WinAPI в Linux. Но ведь Linux не предоставляет WinAPI и не должен.

3) MS жестко заявил об отказе от принятия патчей
По их мнению любая попытка добавить кросплатформенность внутрь WPF либо будет жутким костылём, эмуляцией или обёрткой, либо сломает совместимость с имеющимися приложениями. Причем, скорее сломает совместимость, чем всё остальное, ведь Avalonia же вам не WPF.

Осознав запрос на кроссплатформенный тулкит при наличии нишевого UWP, WinForms, WPF и Xamarin они сели делать новый и грозятся показать к .NET 6, взяв за основу единственный который более современный и более кроссплатфоорменный - Xamarin.Forms.

> никто это не будет втаскивать, не в интересах компании

Ах если бы... писать имплементацию "гуя под линуксы" это громко сказано. Правильно так: обвешать WPF линуксоспецифичными костылями, которых тонна под каждый дистрибутив и пусть это поддерживает MS, а не могучие сборщики 1001 несовместимого с самим собой линукса.

> Такой вот особо огороженный опенсорс

Правильно, так и надо. Автор не должен принимать код, который ему не нравится. Хотите по-своему - делайте форк.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #103

84. Сообщение от Аноним (84), 12-Ноя-20, 11:39   –1 +/
Ничего, сейчас и у женщин может быть борода!

Даже член.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #91

85. Сообщение от mumu (ok), 12-Ноя-20, 12:27   +3 +/
Да. У нас в серьёзном продакшене (финансы). Доставляет что стек может быть сильно гибридным (из кучи разных ОС, контейнеров, мобильных платформ и прочего, а команда разрабов при этом одна и та же).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #114, #120

86. Сообщение от Аноним (86), 12-Ноя-20, 13:41   –1 +/
Кocтылинупc и вдруг стабильный? С тобой точно всё в порядке? Стабильно он может разве что не работать вообще-то, ибо ломают его постоянно. Начиная со Stable API is nonsense, из-за чего драйверописание превращается в тот ещё аттракцион и заканчивая всякими переходами между мажорными версиями gtk с qt и прочими интересными вещами (hal выпилили, udev впилили - и всё, переписывай теперь). Винда тоже не подарок, что творилось при переписывании софта с XP под висту я прекрасно помню - но это было почти  лет назад, а в кocтылинупce такая веселуха - повседневная реальность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

87. Сообщение от Андрей (??), 12-Ноя-20, 14:04   +/
Я отвечал на "нативность" в смысле нативных программ (т.е. компилируемых в машинный код).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

88. Сообщение от Аноним (-), 12-Ноя-20, 14:19   –1 +/
Люто бешено ненавижу Майкрософт!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #90, #97

89. Сообщение от Секрет (?), 12-Ноя-20, 15:18   +1 +/
Ерунду не говорите. Там от близнецов только архитектура выполнения. Синтаксис, логика построения и подход мыследуманья другой в НЕТ немного. Если там сделали, прям как НАДО, нативную компиляция (пошёл проверять), то для бизнеса этот швейцарский нож будет идеален.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #129, #130

90. Сообщение от Аноним (66), 12-Ноя-20, 15:45   +1 +/
Зато любишь Oracle и IBM) двоемыслие прям болезнь какая то и в опенсорсе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

91. Сообщение от анонн (ok), 12-Ноя-20, 16:24   +/
> Ничего, сейчас и у женщин может быть борода!
> Даже член.

Не хочу смущать жертву современной системы образования (и зомбоящика с зомбонетом), но "сейчас" тут лишнее.
Взамен, советую пересилить себя и ознакомиться с наукой о живых существах (биология), в частности с такими вещами как "онтогенез", "гормоны" (и их влияние на фенотип - анонимов ждет много открытий чудных), а так же "хромосомы" и возможные сбои всех этих штук.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84 Ответы: #134

93. Сообщение от n242name (?), 12-Ноя-20, 17:02   +/
> А как же avalonia? https://github.com/AvaloniaUI/Avalonia

так это ж 3rd party

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #105

94. Сообщение от Аноним (19), 12-Ноя-20, 18:26   +/
У меня ситуация абсолютно обратная. Выбрав 15 лет назад специализацию на системном администрировании Linux, я столкнулся с тем, что одного его мало знать. В итоге специализаций стало больше, а из-за этого задачи стали больше.

Я в один прекрасный момент перестал верить в байки FSF и прочую неинженерную религию вокруг Linux и стал задумываться, о том, сколько я работаю.
Вот например:
>  я всегда могу посмотреть исходники ядра, маны, найти кучу людей и рассылок которые разьяснят почему в ядре/coreutils/findutils/etc что-то именно так а не по-другому.

Вы подаёте это как достоинство, а для меня сама идея чтения левых манов, рассылок, копание в коде - это недостаток, потому что зачастую в Linux это надо делать.

> И я с сожалением и сочувствием смотрел все эти годы на мучения бывших коллег которым приходилось каждый год переучиваться под очередные "инновационные технологии"

А я всегда смотрел на них без грамма сожаления. MS редко что-то изобретает. Он строит свое решение, которое +/- универсально должно решить конкретную задачу конкретного корпоративного заказчика. Те кто ходят на их курсы, платят деньги за экзамены и учат магическое расположение кнопок в интерфейсе должны страдать. Давеча тут сдавался один знакомый. Человек пытался учить ADCS без грамма понимания TLS и PKI и ADFS без понимания чем аутентификация отличается от авторизации. Дурачков везде много.

> всей это бессмыслицы и исследованиям методом научного тыка.

А вот это я слышу очень часто от гордых админов Linux, которые считают себя лучше других людей. Обычно через 20 минут личной беседы на профессиональные темы они готовы на стенку лезть, а еще через 20 начинают конспектировать, потому что вся эта гордыня и превосходство от глупости и невежественности. Той же самой глупости, что у тех дурачков, которые учатся кнопки жамкать на платных курсах.

Мне прямо даже интересно стало, а что вы там у них такого не поняли, что посчитали бессмыслицей и не смогли найти официальную техдоку, что пришлось тыкаться?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #98

95. Сообщение от Анестезиолог (?), 12-Ноя-20, 18:34   –1 +/
С чего бы меня заботила "большая свобода" для проприетарщиков?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

96. Сообщение от Anonymouz (?), 12-Ноя-20, 19:28   +8 +/
До чего же забавно видеть на ЛОРе и опеннете вопросы про GUI в каждой первой теме про .net core :)
Столько лет значительная часть суровых линуксоидов презрительно использовали термины вроде "мышевоз" относительно ущербных ламеров, которым нужен был GUI, а не прекрасная консолька.
И вот теперь, когда все стремительно перетекает на Web-технологии, включая даже свежий корпоративный софт, местным завсегдатаям просто позарез оказались нужны WinForms и WPF! Существующие кросс-платформенные решения им не подходят, нужно непременно поросшие мхом виндоформы!
И не важно, что большинство известного софта, имеющий развесистый гуй, намного старше 10 лет и подобные приложения никогда и не писались на дотнете, не его это ниша.
Но нужно же придумать, почему кросс-платформенный дотнет - это полное говно? Вот ОФИЦИАЛЬНОГО гуя от микрософта нет! Примерно через год появится, но это уже дело будущих сражений. Уже сегодня хватает проблем - тот же VSCode, которым умеют наглость пользоваться все больше суровых линуксоидов, да еще и хвалить его в слух на этих страницах!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #111, #121

97. Сообщение от Аноним (86), 12-Ноя-20, 21:35   +/
Убей себя и твои страдания прекратятся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

98. Сообщение от Аноним (98), 12-Ноя-20, 23:10   +/
Везде все одинаково. Если речь про .Net, то там полно кода вообще без документации и чтобы этим пользоваться нужно лезть в глубины глубин и самому разбирать код как это все работает. Такая же ситуация с юниксовым софтом (да, местами где-то лучше, местами где-то тоже самое).

Смешно, что большинство современных админов считают, что администрирования софта это пик их карьеры. Лезть в код и его патчить это и есть системное администрирование испокона веков. Историческая справка, в эпоху BBS были sysOp и sysAdmin, первые модерировали и перезапускали BBS, в то время как вторые модернизировали, патчили и т.д., вели так сказать прогрес. Вывод: жимкать кнопки, читать доку к конфигу в /etc это уровень sysop. Так чем вы гордитесь? =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #135

99. Сообщение от n242name (?), 13-Ноя-20, 00:10   +/
тупое, ищи issue на гитхабе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

100. Сообщение от Anonymousqwe (?), 13-Ноя-20, 01:59   +1 +/
https://github.com/CoreWCF/CoreWCF
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

101. Сообщение от Аноним (101), 13-Ноя-20, 02:24   +/
Сейчас есть Kotlin, который ничем не хуже C# и совместим с Java-кодом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #107

102. Сообщение от F1naL (?), 13-Ноя-20, 08:51   +1 +/
Раньше были 3 ветки .net
1) .net framework
2) .net core
3) mono

Теперь останется только  .net core . Это короче чисто историческая херня

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

103. Сообщение от Аноним (103), 13-Ноя-20, 08:58   +/
>Но ведь Linux не предоставляет WinAPI и не должен.

Это ещё почему? В Linux есть множество различных GUI API(Gtk,Qt,Tcl,…), почему не может быть свободной реализации WinAPI и DirectX в штатной поставке? Тем более, что всё это не привязано намертво к реестру и модели прав WinNT, только секцию ресурсов переделать(меню,диалоги,иконки), чтобы она тянула файл ресурсов из /usr/share/progname, а не из самого ELF-файла.
MS почему то не постеснялись реализовать Linux API.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #108

104. Сообщение от Аноним (103), 13-Ноя-20, 09:01   +/
А зачем тебе его статически линковать? wine как и Qt уже лежат на дисках большинства.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

105. Сообщение от Аноним (105), 13-Ноя-20, 12:37   +1 +/
Формально да, но MS их поддерживает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

106. Сообщение от Аноним (105), 13-Ноя-20, 12:40   +/
Этого никто и не скрывал с самого начала. Хотите фичи — терпите меньшую производительность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

107. Сообщение от Аноним (105), 13-Ноя-20, 12:44   +1 +/
Хуже. Хотя пытается догонять, да.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #179

108. Сообщение от Аноним (19), 13-Ноя-20, 12:56   +1 +/
> почему не может быть свободной реализации WinAPI и DirectX в штатной поставке?

Может, но НЕ ДОЛЖЕН.

То что на самом деле нужно, так это LinuxAPI на уровне ОС в юзерспейсе, единое для всех дистрибутивов, гарантированно работающее. LSB - это мало.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

109. Сообщение от rf34905803945email (?), 13-Ноя-20, 13:28   +/
Очень хорошо. Спасибо, Майкрософт! Развивается пакет. Не может не радовать. Хотя, может не рабовать. Если ты не используешь NET.
Ответить | Правка | Наверх | Cообщить модератору

110. Сообщение от анонимно (?), 13-Ноя-20, 14:17   +/
Поддерживаю. Всем нужно глянуть gRPC, отличная вещь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

111. Сообщение от анонимно (?), 13-Ноя-20, 14:19   +3 +/
Ахахах, вот точно подмечено. Внезапно всем консольщикам зачесались гуи ))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #126

112. Сообщение от Аликemail (?), 13-Ноя-20, 14:28   +/
Как ни крути у c# в visual studio, перед Java было явное приимушество в виде редактора форточек, ибо каждый раз руками писать и отвлекаться дело явно лишнее.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #133

113. Сообщение от НямНямка (?), 13-Ноя-20, 14:56   –1 +/
Сore пользовался. Глюков много и патчей нет годами. А так -- норм. Но это не плюсы ни разу. Это Ява, только менее понятная в плане сборки и работы с проектами. Ну, на мой взгляд.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #139

114. Сообщение от НямНямка (?), 13-Ноя-20, 14:58   –4 +/
Финансы это не "серьёзный продакшэн", а куча гуана.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

115. Сообщение от НямНямка (?), 13-Ноя-20, 14:59   +/
Кручу в кубере верчу, обмануть хочу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

116. Сообщение от НямНямка (?), 13-Ноя-20, 15:00   +/
Не, это Коре. Просто чуть библиотек накинули. И оно не всё "кроссплатформенное" на деле.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

117. Сообщение от НямНямка (?), 13-Ноя-20, 15:04   +/
Всё это мишура. Шарп от Явы в писанине ничем ни лучше, ни хуже. Никакой принципиальной разницы нет. Но в Яве сложное делать проще -- инструментарий куда более зрелый и проработанный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

118. Сообщение от Аноним (118), 13-Ноя-20, 15:05   +1 +/
Память оно жрёт просто ушатаешься. Классический виндовый .Net и Java просто ультра-легковесные по сравнению с ним. Единственный выигрышь по сравнению с Electron - что пишешь на полноценном языке, а не на жабоскрипте.
Ответить | Правка | Наверх | Cообщить модератору

119. Сообщение от НямНямка (?), 13-Ноя-20, 15:08   +/
Нет, не портировали и не собираются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

120. Сообщение от Аноним (-), 13-Ноя-20, 15:10   –2 +/
> Да. У нас в серьёзном продакшене (финансы).

Никогда небыла даже близко.

> из кучи разных ОС, контейнеров, мобильных платформ и прочего,

Ну вот сами и опровергли

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

121. Сообщение от НямНямка (?), 13-Ноя-20, 15:10   –3 +/
А за что VSCode хвалить? Ну работает и работает. Довольно унылая хрень. Как прочие массовые "среды разработки".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #125, #127

122. Сообщение от НямНямка (?), 13-Ноя-20, 15:13   –1 +/
Да, тут нет подводных. Тут надводные и не камни, а целые Эвересты. Писать коммерческое пока на этом нельзя.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #182

123. Сообщение от НямНямка (?), 13-Ноя-20, 15:15   +/
Ну не рассказывай сказки. Нет никакой проблемы с любым желаемым уровнем поддержки OpenJDK. Есть и бесплатный LTS, есть и платный. Причём очень разный платный, т.е. есть конкуренция.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #159

124. Сообщение от НямНямка (?), 13-Ноя-20, 15:17   –1 +/
Да уж, странно обилие инструментария под любые нужды и задачи объявлять минусом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

125. Сообщение от Confucius (?), 13-Ноя-20, 15:17   +/
Пишут, что кросс-платформенный, опенсорс, активно пилится на гитхабе, есть куча плагинов на все случаи жизни. В два пинка можно развернуть его сервер у себя и кодить из любого браузера, хоть с айпада. Но раз вы говорите, что довольно унылая хрень, значит врут...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #131

126. Сообщение от Confucius (?), 13-Ноя-20, 15:18   +/
Ага, GUI is the new Black. Хит сезона)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111

127. Сообщение от Амоним (?), 13-Ноя-20, 15:34   +/
VSCode это не "среда разработки", а текстовый редактор. И всем известно, что настоящие линуксоиды юзают vim или emacs, которым не нужен гуй. Но с тех пор, как дотнет стал опенсорсным и кроссплатформенным, оказалось, что очень важное значение имеет работоспособность Windows Forms и WPF под линуксами, очень многие спрашивают...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #132

128. Сообщение от НямНямка (?), 13-Ноя-20, 16:03   +/
Ну да, там так всегда. Но они и предупреждают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

129. Сообщение от НямНямка (?), 13-Ноя-20, 16:05   +/
Если "бизнес" уже вложился в JEE переход на новую платформу вряд ли имеет смысл.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

130. Сообщение от НямНямка (?), 13-Ноя-20, 16:06   +/
Нет никакой разницы. Для рядового программера всё одинаково.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #138

131. Сообщение от НямНямка (?), 13-Ноя-20, 16:11   +/
Зачем мне это? У всех давно всё "с полпинка" развётрывается. Это очередной "швейцарский нож", в котором вроде и всё есть, а всё непригодно для фактического применения. Очередное spring boot. Мне не нужно с полпинка, мне нужно понимать что делается и как. Мне нужен хороший редактор с развитыми возможностями компоновки кода как мне его удобнее будет воспринимать. А все эти полпинки -- в зад.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125 Ответы: #146

132. Сообщение от НямНямка (?), 13-Ноя-20, 16:14   +/
Вот как текстовые редактор VSCode и так себе. Мне куда удобней пользоваться git-ом и mvn из командной строки, а кодить в том же Эклипсе. Мне плохой комбайн не нужен. Я в таких комбайнах не понимаю что происходит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #127 Ответы: #147

133. Сообщение от НямНямка (?), 13-Ноя-20, 16:15   +1 +/
Ну не знаю, я под FX пишу и ничего меня не парит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #161, #167

134. Сообщение от НямНямка (?), 13-Ноя-20, 16:17   –1 +/
Да? Гормоны можно было купить хрен лет до нашей эры? Не знал. Спасибо, что просветили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #168

135. Сообщение от Аноним (139), 13-Ноя-20, 16:18   +/
Давай пруфы про код без документации
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #154, #156

136. Сообщение от НямНямка (?), 13-Ноя-20, 16:25   –1 +/
У МС всё откровенно. Ставишь dotnet и тебя сразу предупреждают, что поделие будет собирать инфу в пользу МС. Отказаться можно только отказавшись устанавливать. Ну и куча всяких каверзных ограничений на коммерческое использование.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #180

137. Сообщение от НямНямка (?), 13-Ноя-20, 16:28   +/
Чего вы к Оракл пристали. Оракл давно не монополист в коммерческой поддержке Явы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #160

138. Сообщение от банан (?), 13-Ноя-20, 16:57   +/
О да. Все странности скопировали из джавы, даже ковариантные массивы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130 Ответы: #141, #144

139. Сообщение от Аноним (139), 13-Ноя-20, 17:04   +1 +/
пользуюсь. патчи выходят регулярно
известных проблем мало
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #142

140. Сообщение от Аноним (139), 13-Ноя-20, 17:06   +1 +/
смешно такое читать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

141. Сообщение от НямНямка (?), 13-Ноя-20, 17:08   +/
Коваритивность вообще решение скорее волевое. Оно не бывает хорошим или плохим. Ну, вернее, оно всегда плохое. Причём без сравнительных категорий.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138

142. Сообщение от НямНямка (?), 13-Ноя-20, 17:09   +/
Выходят, да, и даже много. Вот только не те.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139

143. Сообщение от НямНямка (?), 13-Ноя-20, 17:13   +1 +/
В общем, интересная штука. Со временем может Яву подвинет.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #158

144. Сообщение от НямНямка (?), 13-Ноя-20, 17:39   +/
К слову, а чем вам ковариативность в данном случае массивов вам мешает? Ну знаете вы, что массивы в Яве ковариативны и что? Кушать теперь не можете? Не пользуйтесь ковариативными массивами, пользуйтесь какой-нибудь обобщённой коллекцией. В чём тут проблема-то?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #138 Ответы: #151

145. Сообщение от НямНямка (?), 13-Ноя-20, 17:41   +/
Да чего в них уродливого-то? Разные есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

146. Сообщение от anonymous (??), 13-Ноя-20, 17:47   +/
>>Зачем мне это?

Начнем с того, что мир не вращается вокруг тебя. И если тебе лично что-то не нужно, это ничего не говорит о качествах продукта в принципе - есть те, кому нужно, и только совсем упоротый будет спорить с тем, что сейчас VSCode - это один из самых распространенных инструментов в этой области.

>>У всех давно всё "с полпинка" развётрывается.

Давай расскажи, как ты с полпинка развернешь сервер того же эклипса, чтобы иметь возможность работать со своими проектами из любой точки планеты из браузера. Единственный вариант тут - чистая консоль через ssh, что далеко не эклипс. Кому-то и vim'a через ssh хватит, но для огромного числа разработчиков VSCode - это как раз золотая середина между vim'ом и монструозными IDE от JetBrains и Microsoft. И это будет еще довольно быстро работать - по сути чисто-текстовый Web-траффик без картинок, который еще и отлично жмется. Чтобы получить такое в твоем эклипсе - это по сути надо что-то из разряда VNC.

>>Это очередной "швейцарский нож", в котором вроде и всё есть, а всё непригодно для фактического применения.

И ты, конечно же, без проблем приведешь небольший список того, что там непригодно и почему?

>>Мне не нужно с полпинка, мне нужно понимать что делается и как.

JSON с конфигурацией это сложно для понимания? Возможности расширения, позволяющие менять практически любые аспекты на свой вкус?

>>Мне нужен хороший редактор с развитыми возможностями компоновки кода как мне его удобнее будет воспринимать.

Пока что ты не привел ни одного конкретного примера, чем он плох как редактор. Только тирады про швейцарский нож и комбайны, что конечно же полная дичь. Никто не заставляет тебя делать из него комбайн - ты можешь включить Zen-mode, и у тебя на экране не будет вообще ничего, только документ и ни буквой больше. И ты можешь редактировать его, как тебе хочется - хочешь, как в Sublime, хочешь в vim-mode, или еще как, имея полный контроль над всеми параметрами.
Если тебе захочется сделать что-то в терминале прямо там - никаких проблем, но никто и не принуждает к этому.

И в конечном итоге это все никак не отменяет того факта, что огромное количество людей используют VSCode, не смотря на то, что ноунэйм с опеннета с ними категорически не согласен.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131 Ответы: #149

147. Сообщение от anonymous (??), 13-Ноя-20, 17:54   +/
>Мне куда удобней пользоваться git-ом и mvn из командной строки,

И я пользуюсь git'ом из командной строки в VSCode, если мне надо, а если нет, то и никакой командной строки у меня не видно. Самая обыкновенная командная строка, как и у тебя.

> Мне плохой комбайн не нужен. Я в таких комбайнах не понимаю что происходит.

Комбайн из текстового редактора делает пользователь. Это он занимается его настройкой и выбирает, какие плагины ставить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #150

148. Сообщение от НямНямка (?), 13-Ноя-20, 18:03   +/
Чем например Ява огорожена?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

149. Сообщение от НямНямка (?), 13-Ноя-20, 18:05   +/
Знаешь, я убеждённый солипсист и для меня таки мир крутиться только вокруг меня. Потому что нету больше вокруг чего. Поэтому моём личное мнение говорит мне о чём угодно всё и сразу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #146 Ответы: #153, #163

150. Сообщение от НямНямка (?), 13-Ноя-20, 18:07   +/
Ну и что в этом такого, чтобы заявлять о каком-то прям уникальном супер-пупер удобном опыте? Рядовая лажа. Некрасивая и не фига не удобная.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #147

151. Сообщение от банан (?), 13-Ноя-20, 20:55   +/
> В чём тут проблема-то?

У меня проблемы нет, просто, к слову заметил, что в c# затащили всё без разбору.

Вот например методы объекта:

ToString: реальную логику на него завязывать нельзя, так как заколебаетесь неявные приведения к object искать (нетипобезопасно), а иметь у всех объектов метод для дебага - как то непонятно, зачем. Опять же, все по разному понимают, зачем этот метод нужен.

Equals/GetHashCode: У нас была волна собеседований, и первый вопрос, который я задаю - как правильно вот это дело переопределять и когда.

Так вот, часть из кандидатов даже не знает, зачем они нужны (!), другая переопределяет их неправильно, третие вообще переопределяют их просто так, потому, что не знают, нужно ли вот сейчас его переопределить или нет.
Люди с десятилетним опытом тупят на такой мелочи, хотя далеко не джуниоры.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144 Ответы: #152

152. Сообщение от НямНямка (?), 13-Ноя-20, 22:14   +/
Понимаете, вопрос эквивалентности очень сложный вопрос. Более того, я не знаю его определённого разрешения. Хотя я -- "определённо" ложик-гик. Для меня Слупецкий-Борковский и Чёрч просто любимые писатели. И я не нахожу ответа как быть при определении эквивалентности или равенства.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151 Ответы: #164

153. Сообщение от НямНямка (?), 13-Ноя-20, 22:21   +/
Да, увы, грамматика русского языка вокруг меня не крутит|ся. А так, да -- VSC вполне себе ничего. Использовать можно, но не лучше и не хуже куче прочего хлама.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

154. Сообщение от Аноним (98), 13-Ноя-20, 22:34   +1 +/
Я лично такие случаи не записываю. Смысл не в том, что нет страницы с докой, а в том, что из нее ничего не ясно. Описание было в стиле вот функция, возращает то-то, точка. Встречались целые куски API, из описания которого вообще не ясно как этим пользоваться. Код в тоже время был рабочий и полезный. Выход был либо искать в нете того кто разобрался и рассказал, либо самому вникать в дебри.

С учетом того, что я не помню какие именно это были случаи и с тем фактом, что документация обновляется, найти конкретные косяки не представляется сейчас возможным. Как встречу еще раз -- напишу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135

155. Сообщение от Аноним (105), 13-Ноя-20, 22:40   +2 +/
«Анальный раб» Microsoft называет одно из главных детищ Microsoft **вном. Л — логика.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

156. Сообщение от Аноним (98), 13-Ноя-20, 22:54   +/
Возможно не самый лучший пример, из последнего, где были трудности
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnet...

Реальный код, как сделать чтобы авторизация была и по куки и по bearer:

            services.AddAuthorization(o =>
            {
                o.AddPolicy("BearerPolicy", policy =>
                    policy.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                        .RequireAuthenticatedUser()
                        .AddRequirements(new AuthenticationTypeRequirement("AuthenticationTypes.Federation"))
                );

                o.AddPolicy("CookiePolicy", policy =>
                    policy.AddAuthenticationSchemes(IdentityConstants.ApplicationScheme)
                        .RequireAuthenticatedUser()
                        .AddRequirements(new AuthenticationTypeRequirement("Identity.Application"))
                );
            });

Из этого кода самое страшное то, что "Identity.Application" зашит в код и нигде не упоминается. В данном случае идет простое наследование IAuthorizationRequirement:

    public class AuthenticationTypeRequirement : IAuthorizationRequirement
    {
        internal string AuthenticationType { get; }

        public AuthenticationTypeRequirement(string authenticationType)
        {
            AuthenticationType = authenticationType;
        }
    }

Дока на IAuthorizationRequirement очень полезна: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnet...

Прикольный (один из) ответ МС: https://github.com/dotnet/aspnetcore/issues/18329

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #157, #162

157. Сообщение от Аноним (98), 13-Ноя-20, 23:01   +/
Как зашит-то интересно https://github.com/aspnet/Identity/blob/feedcb5c53444f716ef5...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156

158. Сообщение от Аноним (67), 14-Ноя-20, 00:48   –1 +/
Скорее сдохнет и вместо него очередное "ненужно" придумают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143

159. Сообщение от Аноним (159), 14-Ноя-20, 05:32   +1 +/
OpenJDK какой версии в LTS силами IBM? 8? 9? А сейчас 15 версия языка! Шикарная поддержка протухшей жабы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

160. Сообщение от Аноним (159), 14-Ноя-20, 05:35   +/
Оракель владелец жабы на все 100, а всякие там jcp получают зеленый свет с разрешенич прорицателя...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

161. Сообщение от Аноним (159), 14-Ноя-20, 05:37   +/
JavaFX? Который подох лет 6 назад? И выкинут ораклом на мороз? Что ты такое анонимус?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #166

162. Сообщение от Аноним (19), 14-Ноя-20, 06:35   +/
Я не понимаю ваше непонимание...

Начнем с конца, семантически вот такая строка:
public class AuthenticationTypeRequirement : IAuthorizationRequirement
означает, что класс реализует интерфейс. В документации интерфейса и он пустой, но есть перечень его имплементаций... Что нет так-то? Могу лишь догадываться... возможно вас удивило, что интерфейс IAuthorizationRequirement абстрактен настолько, что не требует имплементации полей... Ну так это ничего страшного.

Вы в своем коде показали регистрацию двух политик авторизации. Причем политика авторизации применяется в зависимости от типа аутентификации. Для этого и существует ваш класс AuthenticationTypeRequirement. Вот только вы не показали самое интересное, как вы удовлетворяете это условие. Где-то там у вас должен быть класс-хэндлер примерно такого вида:
public class AuthenticationTypeHandler : AuthorizationHandler<AuthenticationTypeRequirement>
AuthenticationTypeHandler - это я навскидку придумал =)
Судя по передаваемым названиям есть подозрение, что вы это из IdentityUserLogin.LoginProvider берёте и сличаете или из HttpContext.User.Identity.AuthenticationType. Без кода хэндлера это гадание.

Но это я так... давайте лучше разбираться в том что вообще такое AuthenticationType и зачем в это поле присваиваются строки. Там много причин, на самом деле... Ну вот давайте представим себе например мультитеннантное приложение. Есть ваша аутентификация, а есть теннанты пользователей, на которых нужно дать возможность или отобрать возможность аутентифицировать пользователей через внешнего провайдера аутентификации типа Google, Facebook, VK или вообще у клиента свой OAuth2. Вопрос: как сделать single sign out в рамках теннанта, когда админиcтратор теннанта резко выключил Facebook? Только чур не на всё ваше приложение, а только конкретному клиенту и только фейсбук... Очевидно что для этого нужно вести учет теннантов и типов приложений. И нужен уникальный идентификатор типа аутентификации. Ну вот примерно что делает эта строка. Обратите внимание, это безотносительно кода выше.

Далее давайте подумаем абстрактно. А если у меня наоборот вообще нет не то что мультитенантных приложений, но даже ни одной жалкой федерации нету? Ну очевидно, что это поле должно показать это явным образом. Ну вот для этого и придумана константа "Identity.Application", которая, по сути, признак локальной аутентификации.

Константа-строка "Identity.Application" много где упоминается в документации при работе с cookies, главное понимать, что в этой связи это уникальный идентификатор провайдера аутентификации и технически её можно отловить в хендлере. Странно, что вопросы по ней, а не про "AuthenticationTypes.Federation", которая скрывает реального провайдера аутентификации при использовании JWT ввиду технических ограничений...

Так-то я не понимаю в этих ваших дотнетах, поэтому не удивляюсь как так вы пишете что вам нужно и по JWT и по кукам, вроде бы одновременно, а по факту проводите дифференциацию на уровне политик авторизации. Такое себе...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156 Ответы: #170, #171, #174

163. Сообщение от Аноним (163), 14-Ноя-20, 08:21   +/
Слился, а как дысал-то как дысал. хехе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

164. Сообщение от банан (?), 14-Ноя-20, 09:38   +/
По ощущениям, по назначению Equals/хешкод применяется меньше чем для 10 процентов типов.

А есть эти методы у всех. У репозиториев, сервисов, коллекций, у любых обёрток.  

По такой же логике можно было бы запихнуть в object компаратор для сортировки или dispose. А че, если, возможно, тип будет использоваться, в словарях, то, возможно, по нему надо бы и сотрировку уметь проводить.

По сути, в типе object должен быть только один метод, gettype. В том же расте эквивалентность надо явно писать, только если она используется. Иначе ее тупо нет.

Опять же, про непонимание, как это все работает:
Каждый .net разработчик на собесе говорит: структуры сравниваются по значению.
Окей, говорю я, то есть, если они сравниваются по значению, то у них просто сравниваются байтики и метод equals не будет вызываться для вложенных полей? И тут наверное половина людей тупить начинает.

То есть, на лицо куча неявного поведения, которое нужно заучить, и все вокруг двух методов, которых могло бы и не быть. Захотел свой тип в словарь положить - изволь явно указать как их хешировать и сравнивать. А до этого момента даже не думай об этом.

Вероятно, такая архитектура обусловлена отсутствием дженериков на ранних версиях дотнета.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152 Ответы: #165

165. Сообщение от НямНямка (?), 14-Ноя-20, 12:24   +1 +/
Не знаю, у меня наличие умолчального поведения эквивалентности или сравнения не вызывает никаких вопросов. Потому что хотя бы одна категория эквивалентности есть у абсолютно всех объектов. Да, по умолчанию объект эквивалентен только самому себе. И это нормально. Вот с хэшами хуже. Но тоже более менее логично.
Механизмы сравнения в Яве у меня тоже особого отторжения не вызывают. Всё понятно устроено. Хотя иногда становится препятствием.
По-моему, вы категорию "значения" слишком буквально понимаете, а она определяется... хм... семантикой домена, т.е. это воля разработчика что считать значением. Главное общие правила транзитивности и рефлективности не забывать и соблюдать. А то иногда такого наворотят, забывая, что если А = Б, то должно быть и Б = А, и если А = Б, а Б = В, то и А = В, а В = А.
И, нет, не вижу как тут наличие или отсутствие обобщений что-то может изменить. Для них же ещё параллельную линию иерархии вкрячили -- эту вашу любимую ковариативность.
Меня скорее смущает, что получаются линии а) типовых отношений, б) отношений сравнения и в) ещё и ковариативности. По-моему, многовато как-то. По-моему, даже среди очень опытных разрабов не многие способны осознать их взаимоотношения. Что, в общем-то, ведёт к неверным решениям. Но как уж есть.
Т.е. проблема не в наличии умолчального поведения, а в непонимании или недостаточной продуманности поведения проектируемого. Да, из-за его переусложнения, на мой взгляд, и общих родовых логических изъянов ООП.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #164

166. Сообщение от НямНямка (?), 14-Ноя-20, 12:29   +/
Ваши познания поражают глубиной.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #161

167. Сообщение от Алик (?), 14-Ноя-20, 14:10   +/
В FX builder и пр. плохо то что конструкторы генерируют очень много лишнего кода, который только путает, да и потом его установить целый геморой.. Да и в jar,ax есть такая проблема, что не понятно как его распространять. В магазинах линуксе нельзя просто взять и закачать свою программу написаную на джаве, то же самое я так понимаю и в виндовс и маках


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #178

168. Сообщение от анонн (ok), 14-Ноя-20, 16:02   +/
> Да? Гормоны можно было купить хрен лет до нашей эры?

Проще. Их можно было (пере или недо)получить абсолютно бесплатно уже тогда, из-за сбоя этого самого "гормонального механизма". Из-за недоедания, авитаминоза, болезни каких-либо органов и прочих "прелестей". Или хирургического вмешательства.
Уж излишней растительностью на женском лице или женоподобными мужчинами никого не удивить было.

> Не знал. Спасибо, что просветили.

Всегда пожалуйста!
Но все же, на досуге почитайте хотя бы учебник по биологии для 8-9 классов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #134 Ответы: #169

169. Сообщение от НямНямка (?), 14-Ноя-20, 20:03   +/
Да? Вы там бывали? Есть достоверные сведения? Их нет. Тот объём гормональных препаратов, который сейчас используется для "трансперехода", никогда и ни при каких природных условиях не был доступен. Поэтому -- это бизнес. Продажи и, да, типичное марксистское отчуждение. Отчуждение человека от тела, продажа ему его же тела.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168 Ответы: #173

170. Сообщение от Аноним (98), 14-Ноя-20, 22:01   +/
1) Мультитенатность. Зачем она нужна в корпоративных B2B приложениях? Не нужна. Точка. Да, это было мое осознанное решение. Нужен будет OAuth2 -- прикручу, не беспокойтесь.

>Так-то я не понимаю в этих ваших дотнетах

Ну, вы с этого бы и начали. Я вас пошлю к первоисточнику: https://www.dotnetcurry.com/aspnet-core/1511/authentication-...

>Такое себе...

Давайте, критикуйте.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #176

171. Сообщение от Аноним (98), 14-Ноя-20, 22:35   +/
Вам интересно зачем делал через Policy. Затем, что

Это работает:
        [Authorize(Policy = "CookiePolicy")]
        [HttpGet("test-cookie")]
        public async Task<IActionResult> GetTestCookie()
        {
            return await Task.FromResult(Ok(new { result = "Cookie authorized" }));
        }

        [Authorize(Policy = "BearerPolicy")]
        [HttpGet("test-bearer")]
        public async Task<IActionResult> GetTestBearer()
        {
            return await Task.FromResult(Ok(new { result = "Bearer authorized" }));
        }


        [Authorize(AuthenticationSchemes = "Bearer")]
        [HttpGet("test-bearer2")]
        public async Task<IActionResult> GetTestBearer2()
        {
            return await Task.FromResult(Ok(new { result = "Bearer authorized" }));
        }


Это не работает (через bearer можно авторизоваться):

        [Authorize(AuthenticationSchemes = "Identity.Application")]
        [HttpGet("test-cookie2")]
        public async Task<IActionResult> GetTestCookie2()
        {
            return await Task.FromResult(Ok(new { result = "Cookie authorized" }));
        }

Вам был интересна проверка типов авторизации:

    public class AuthenticationTypeAuthorizationHandler : IAuthorizationHandler
    {
        public Task HandleAsync(AuthorizationHandlerContext context)
        {
            var pendingRequirements = context.PendingRequirements.ToList();

            foreach (var requirement in pendingRequirements.OfType<AuthenticationTypeRequirement>())
            {
                if (requirement.AuthenticationType == context.User.Identity.AuthenticationType)
                    context.Succeed(requirement);
            }

            return Task.CompletedTask;
        }
    }

Если знаете как сделать так, чтобы [Authorize(AuthenticationSchemes = "ЧТО-ТО")] четко разделял bearer от куки, то пожалуйста, высказывайтесь.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #175

172. Сообщение от Александр (??), 14-Ноя-20, 22:35   +/
Интересно, mono можно было использовать как встраиваемую в приложение библиотеку, и отлаживать C#, запуская это приложение из Xamarin/VS. А с .Net Core такое можно?
Ответить | Правка | Наверх | Cообщить модератору

173. Сообщение от анонн (ok), 15-Ноя-20, 00:47   +/
> Да? Вы там бывали? Есть достоверные сведения?

Сведения о кастратах, "хоровых мальчиках", евнухах? Или о "сбоях" в наборе хромосом (XXY)? Упоминания гермафродитов в мифах и сказках всевозможных народностей (Гермафродит - сын Гермеса и Афродиты)? А женский фенотип, несмотря на XY (из-за частичной или полной блокада тестостерона, как правило еще при развитии плода) - это теперь "болезнь" современности, потому что раньше солнце было ярче?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169 Ответы: #177

174. Сообщение от Аноним (98), 15-Ноя-20, 05:34   +/
Вобщем, решил вопрос:

services.AddAuthentication()
  .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, o => { ... })
  .AddCookie("Cookie", o => { ... });

services.ConfigureApplicationCookie(o =>
{
  o.ForwardDefaultSelector = ctx =>
    {
      if (ctx.Request.Query.ContainsKey("access_token") || ctx.Request.Headers.ContainsKey("Authorization"))
        return JwtBearerDefaults.AuthenticationScheme;

      return "Cookie";
    };
});

services.AddAuthorization(o =>
{
    o.AddPolicy("BearerPolicy", p => p.AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                .RequireAuthenticatedUser()
    );
    o.AddPolicy("CookiePolicy", p => p.AddAuthenticationSchemes("Cookie")
                .RequireAuthenticatedUser()
    );
});

При логине по кукам не забыть указать схему HttpContext.SignInAsync("Cookie", ...). После этого все работает и через [Authorize(Policy = "CookiePolicy")] и через [Authorize(AuthenticationSchemes = "Cookie")] и через любую схему через [Authorize].

Спасибо вам, но не докам от МС, в которых ничего этого не рассказывается.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162

175. Сообщение от Аноним (19), 15-Ноя-20, 09:27   +/
> context.User.Identity.AuthenticationType

Ага значит всё-таки из контекста проверяете. Угадал.

> Если знаете как сделать так, чтобы [Authorize(AuthenticationSchemes = "ЧТО-ТО")] четко разделял bearer от куки, то пожалуйста, высказывайтесь.

Официальная статья чем конкретно не угодила?
https://docs.microsoft.com/en-us/aspnet/core/security/author...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #171

176. Сообщение от Аноним (19), 15-Ноя-20, 09:52   +/
> 1) Мультитенатность. Зачем она нужна в корпоративных B2B приложениях? Не нужна. Точка.

Вот и начинает до меня доходить ваше "непонимание". Вы видимо дурак. Точка.
Вам не надо а другим надо, MS делает не только дуракам, у которых чуть что "не нужно", а в том числе с оглядкой на сервис-провайдеров, которые даже и крупным бизнесом-то могут не быть.

Поддержка мультитенанси внутри среды это не только лишь OAuth2. Понимание как всё устроено и зачем устроена позволяет понять архитектуру решений по AuthN/AuthZ. Вам видимо это "не нужно" поэтому вы ищете простое решение, чтобы вам его описали в красивой доке в форме пошагового руководства, а вы чуть чуть подправите под себя. Так да? Привыкли читать блоги и форумы про Linux вместо техдоки (они есть, но частично платные у вендоров), нахватались хамского "не нужно" и думаете, что это нормальный подход. А потом у вас трудности... непонятно конечно почему... XD

> Ну, вы с этого бы и начали. Я вас пошлю к первоисточнику:
> https://www.dotnetcurry.com/aspnet-core/1511/authentication-...

Это не первоисточник - это ерунда какая-то. Официальную доку надо читать. Понимать в ней слова, осознавать словосочетания, вникать в смысл предложения. Первоисточник относительно .NET не бывает вне домена microsoft.com или пары его субдоменов.

> Давайте, критикуйте.

И буду критиковать двоечников-лодырей, которые не хотят разбираться в проблеме целиком, а только частично, а потом гонят на реализацию, потому что видите ли им странно и не получается.

То что вы решили неиспользовать мультитенанси в вашем приложении - это ваше решение, но система учитывает возможность его существования у других, поэтому устроена и работает с его поддержкой. Такова архитектура, поэтому всё так. Вам документации не хватает и захардкожено везде, потому что вы не понимаете её и вместо того чтобы разбираться по официальной техдоке идёте в гугл в попытке найти простое решение.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170

177. Сообщение от НямНямка (?), 15-Ноя-20, 10:39   +/
Ага, а ещё тогда антиподы жили. Вот, написано же. И даже "фотки" есть.
Потому что раньше гормонов и гормоноподобных препаратов в окружающей среде в таком неимоверном количестве никогда не было и быть не могло.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173

178. Сообщение от НямНямка (?), 15-Ноя-20, 10:43   +/
Ну "установить" геморроя как раз нет никакого. Да и нативную инсталяшку тоже сделать не так, чтобы уж сложно. И, да, получается толсто.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #167

179. Сообщение от Аноним (179), 23-Ноя-20, 23:07   +/
Ну у котлина есть пачка приколюх:
1. Компиляция в js;
2. Компиляция в нативный код; (ради ios)
3. Компиляция в java-код;
4. Поддержка от гугла для Android;
5. Куча сахара специально для DSL. (Гуглим Jetpack Compose);
Причём всё это работает так хорошо, что jb делают свой space целиком на котлине (бэк, фронт, мобилки)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

180. Сообщение от Аноним (179), 23-Ноя-20, 23:18   +/
1. Хорошо что честно, сразу, и коротко говорят. Некоторые прячут такую информацию за километровыми стенами из лицензионных соглашений. А потом в принципе не дают возможности отключить.
2. SET DOTNET_CLI_TELEMETRY_OPTOUT=1
3. А телеметрия только для CLI, но не для рантайма
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #181

181. Сообщение от Аноним (179), 23-Ноя-20, 23:25   +/
А ограничений на коммерческое использования никаких нет: https://dotnet.microsoft.com/platform/free
И это явно описано в лицензии:
runtime: https://github.com/dotnet/runtime/blob/master/LICENSE.TXT
installer: https://github.com/dotnet/installer/blob/master/LICENSE
sdk: https://github.com/dotnet/sdk/blob/master/LICENSE.TXT
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #180

182. Сообщение от Аноним (179), 23-Ноя-20, 23:25   +/
Почему?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122

183. Сообщение от Sashaemail (??), 09-Дек-20, 20:33   +/
Uno - https://platform.uno/
Avalonia - https://avaloniaui.net/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру