Pull to refresh

Comments 30

Перешёл по ссылке из статьи, далее по ссылке из

И получил

.NET MAUI is for developers who want to:

  • Write cross-platform apps in XAML and C#, from a single shared code-base in Visual Studiо.

«In Visual Studio» выглядит как ключевая беда. Нету Visual Studio для Линукс, иными словами, против Flutter выступить не удалось.

На сколько велика беда я не знаю. Если на Линукс всё-таки можно собрать Андроид приложение из командной строки и из той же кодовой базы что на винде в Visual Studio, просто Микрософт об этом стесняется написать, то это не очень большая беда. А если нельзя - то у Микрософта уже даже обещать нечего.

А внутри самой себя .Net похорошела, спору нет.

Ну собрать-то точно его можно. Не для того они перелопачивали сборку и nuget, чтобы потом снова привязаться к ide.

Собирать точно можно, я давно собираю дотнет-приложения под линуксом.

Avalonia если честно больше нравиться чем MAUI, я не знаю почему, просто удобнее кажется

Нету Visual Studio для Линукс

Насколько я знаю - Микрософт идёт другим путём - она перенесла ядро Linux в Windows (и работает над переносом графического движка - вроде бы уже есть что посмотреть в Windows 11, хотя сам, честно не пробовал) - т.е. можно разрабатывать приложения для Linux прям в Windows - тут же их отлаживать (что очень круто) без заморочек с виртуализацией. А потом, скажем, на виртуалке проводить финальный тест, или, сначала, финальную сборку.

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

Но, вот не задача, действительно - вроде поддержка разработки Linux приложений уже так глубоко внедряется в Windows - но, вот MAUI для Linux так и не сделали! Да ладно, ну пусть пока ещё графический движок не до конца перенесли - понятно было бы - что нужно просто время - но пока официально и не утверждают, что будут делать такую поддержку! Так что это - возврат к MONO - который все забросилили, когда началась интеграция MONO в Xamarin (который, к слову, Linux хоть ограниченно, но поддерживал) - и вот те раз - новое преобразование Xamarin в MAUI - и решили выкинуть Linux (оставив MacOS под который никакой расширенной поддержки в Windows и в помине нет)! Прям выстрел себе же в ногу! Не понятно.

Но, хотя да - поддержку разработки в MAUI для Linux вроде как неявно обещали сделать неофициально сторонние разработчики - но пока они буду ждать доведения до ума официального MAUI (который пока очень сырой, его и под Wibndows то пока не стоит выбирать для разработки не тестовых приложений), и доведения до ума поддержки граифического Linux движка в Windows. Вероятно на это потребуется ещё лет 5. Вероятно на разработку и доведения до ума неофициального MAUI для Linux потребуется ещё столько же - т.е. ранее 2030-х годов MAUI для Linux будет скорее желанием, чем практикой. Но может я ошибаюсь, и сделают быстрее. А может и вообще не сделают - тут всё пока очень не определённо. Хотя Linux сейчас скорее больше консольные приложения, сервисы и библиотеки - чем GUI - а с ними проблем с разработкой в VS под актуальном Windows нет.

Тут больше интересно развитие ASP.NET Core для Linux и поддержка проекта Blazor - тогда под Linux GUI будет удобнее делать через браузер - как это сейчас вообще стало модным для всего сервисного и многого прикладного ПО. Можно и без Blazor - но тогда придётся GUI для браузера на TypeScript запиливать!

Ну а если так уж хочется кроссплатформенного GUI приложения с поддержкой Linux - выберите фреймворк Avalon (на базе NET) - отлично работающий независимый фреймворк. На данный момент даже под Windows он куда более стабилен и продвинут, чем MAUI. А ведь ещё не дорос до 1.0 релиза даже

Эта платформа может работать на winxp или хотя бы на win7?

Зачем эти трупы? Они устарели. Без сарказма: зачем вообще обеспечивать совместимость со старинными системами? Не понимаю. Юзеры могут купить себе новые системы, завод, где эта XP "прибита гвоздями" к станку, может нанять разраба, который напишет им что-нибудь на .NET 3.5.

Зачем такие ярлыки — трупы. Новое поколение забывает народную мудрость: работает не трож. Сегодня чинил станок 86 года, там нет никакой винды и работает. И он ни разу еще не труп. А эти ваши новые .net не способны даже на winxp запуститься. Хотя там отличий не так что бы очень много. Даже наоборот стараются сделать новые системы искусственен не совместимыми со старыми. И пропагандируют примерно тоже что и вы зачем, трупы, старьё, юзеры купят. .NET3.5 на XP тоже «нинужон» и без него прекрасно работает.

Поддержка каждой мажорной версии (XP, 7 и т.д.) версии системы стоит отдельных человеко-часов. Сделать так (на низком уровне), чтоб условный .NET 100500 работал одновременно и на Windows 3.1 и на Windows 11 – практически невозможно. По большому счету, на низком уровне, это будут два разных фреймворка с одинаковой оберткой на верхнем уровне.

И тут в дело вступает целесообразность: на сколько рентабельно (не забываем, что Microsoft – это про выгоду и прибыль акционеров, а не про Ваше удобство) поддерживать сильно старые системы? За исключением отдельных "edge-кейсов" на условной Windows XP не захотят сидеть ни рядовые пользователи (не красивая, проблемы с большими объемами RAM, не модно, новые ноуты с новой ОС и пр.), ни корпоративные (проблемы с политиками, проблемы с безопасностью, проблемы с лицензированием, новые ноуты с новой ОС и пр.).

В общем я к чему? Ни одна коммерческая контора не будет поддерживать продукт на слишком малой доле рынка. Зачем им это? И большинство open-source энтузиастов – тоже не будут. Как бы это ни было печально, но большинство энтузиастов мигрируют за хайпом.

Так дело не в поддерживать искусственно ломают совместимость.

Прошу прощения за банальность, но: "Какие Ваши доказательства?" (c)

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

Э-э-э... Ничего не могу ответить: не знаю. :) Я только про .NET с Вами дискутировал.

Могу предположить ("пальцем в небо").

  1. Старые операции со строками содержали кучу легаси, были небезопасны и малопроизводительны. Стырые core-разрабы языка ушли, решили переписать с нуля. Возможно, лучше так, чем плодить новые баги в легаси-методах.

  2. Функция зовется "CreateFile2". Выглядит так, что ничего не сломано. Наверное. :) Они, ведь, оставили "CreateFile"?

Нет. Программа использует штатное апи, а оно статически линкует CreateFile2 и уже не пускается на чем либо ниже win10. А так как разработчик сидит на новой ось и топовом железе он этого не заметит. Для этого надо специально это проверять, а это накладно.
Но .net вообще-то позиционируется как платформа, причем большими буквами «многоплатформенная», что мешает сделать заглушки для функций которых нет на старых платформах. И пускаться везде. Не напрягая этим остальных разработчиков.
Тоже касается и питона — этот скриптовый язык использует чуть больше чем дофига народу и если они говорят что только win12, то вы попали, или старый питон или новая ось. В результате каскад отвала по, которое спокойно бы работало если не обновилось.
Вы серьёзно думаете что разработчики сами хотят уменьшать охват аудитории. Им просто навязчиво помогают. И кто будет главный бенефициант сего действа? Тот самый производитель одноразовых фреймворков.
  1. Лично мне, как разрабу все равно. Мне быстрее написать ПО не проверяя эти линковки. Юзеры могут использовать новые ОС, старое ПО или платить производительностью. Ну, или использовать ПО не от таких как я. Но, будем смотреть правде в глаза: таких разработчиков мало, и становится все меньше.

  2. Что Вы подразумеваете под "заглушками"? Если какой-то верхнеуровневый метод, который вроде есть, но на старых ОС кидает ошибку, то я бы не хотел писать на таком фреймворке. Т.к. буду получать кучу странных багрепортов и негатива: "Почините, на моем ведре не пашет". И мне надо будет либо писать на мертвых языках под ведра (что я делать не буду), либо на каждый чих проверять версию ОС. Спасибо, но нет.

  3. А что не так? Ну, форкните Питон и поддерживайте все ОС. Его core-команда не может и/или не хочет.

  4. Я – да. В своем ПО поддерживаю только последние LTS фреймворки. Мне так проще. Все-равно старыми ОС пользуется так мало народу, что их поддержка не стоит моих усилий.

Лично я не верю в теорию заговора, я верю в то, что поддержка старого ПО просто нерентабельна. Возможна, но доход не приносит. А раз не приносит, то и смысла в ней нет. ИМХО.

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

Юзеры могут использовать новые ОС, старое ПО или платить производительностью.

Пользователи используют разное по и при таких обновления возникают ситуации, что одно по становится несовместимым с другим. Хотя, казалось бы, ос нужна что бы решать подобные проблемы, а она их наоборот создаёт и поощряет.

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

Например, возьмём старый total comander он пускается на win11 и на win95. При этом весь необходимый функционал есть. Но если берём новый, то на старых ос он не запустится, но функционал не изменился. Если раньше я мог записать его на флешку и спокойно использовать на любой машине, то сейчас нет.

Я – да. В своем ПО поддерживаю только последние LTS фреймворки
Вы не должны поддерживать фреймворки. Вы их должны использовать. Никто вам не запрещает самому себе копать могилу. Нынче так принято. Тефаль же думает за нас.

Возьмём например не windows, а ubuntu те же lts. От версии к версии он постоянно деградирует. Если в 14 версии он мог разные кодировки в терминале и переименовывать вкладки, то к 22 версии от разучился это делать. Но поддерживют только lts, так что или деградируй вместе с нами или иб%%%сь форкайте.

Ну, форкните Питон и поддерживайте все ОС
Вы не поняли. Я говорю что все библиотеки и широко распространённые языки, особенно встраиваемые. Являются фундаментом. И вот его как раз ушатывают. Причем целенаправленно. И что самое интересное все при этом радуются. И как вы доказывают, что именно это и есть «устойчивое развитие».

Мне так проще
Вот именно в самую точку. Всем так проще, а потом бац, и суши вёсла.

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

Я понимаю Вашу позицию. Я бы и сам с удовольствием пожил в эпоху победившего труЪ коммунизма а-ля "Мир Полудня" или классический "Star Trek", с трикодерами и обратной совместимостью всего со всем. Но, увы, мы живем здесь и сейчас, в эпоху полудикого капитализма. И тут есть бюджеты. И не важно – жестокая ли вы мегокорпорация, или некоммерческая организация, вам придется решать на что потратить ваши деньги: на новую фичу, которую требуют 95% ваших пользователей, на критическую уязвимость нулевого дня, или на хотелку полутора гиков.

На данный момент MS уже вовсю пилит win11 для фриков, а win10 pro и большинство разрабов на нём прокинули, в.т. ч с нативными контейнерами (docker в режиме isolation=process), поддержкой wt как дефолтного... да и вообще с нормальной консолью, там до сих пор регулярно проблемы. Божественная поддержка, как, например, с принтерами Epson массово используемыми в банках и прочих корпоративных организациях - это вообще шедевр, который прямо заставляет людей не ставить обновления пока дым из задницы не пойдёт... если копнуть там таких примеров сплошь и рядом и все они никак не пролазят предложенные вами приоритеты.

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

Вполне вероятно, что будут выпущены неофициальные сборки для данных ОС (а такое с ранними версиями .NET уже бывало). Так как официальная поддержка их прекращена. Использующим старые ОС сейчас остаётся только всецело полагаться на неофициальные обновления!

Вместо того чтобы тащить труп UWP (им вообще кто-то пользуется?!), лучше бы не отламывали поддержку Linux в переделанном Замарине (ака MAUI) или хотя бы втащили то что люди уже вполне запилили.

Про bulk updates/bulk delete в EF Core 7 ни слова(

Актуальных образов Windows Containers (ака docker) для актуальных билдов Windows 10 нет и не предвидится ни для dotnet6, ни для dotnet7. Да и вообще там даже docker compose подломан.

Tar это, конечно, здорово в 2022-ом то, но лучше бы какой приличный UUID втащили

ли хотя бы втащили то что люди уже вполне запилили.

Пока это треш - просто форк от Microsoft .NET Multi-platform App UI  - даже readme.md остался Микрософтовский со всеми ссылками на ресурсы Микрософт

А что не так-то с форком? Там и должен старый ридми оставаться, чтобы его можно было однажды слить обратно в оритинал.

В реадми должно бы описание текущей разработки. А ещё должна быть хоть какая-то доп. дока.

Сливать форк в оригинал - это что за странная операция. Или Вы про пул-реквест говорите? Если да - то реадми можно не включать в этот пул-реквест.

Но и вообще, такой пул-реквест микрософт не примет - рассчитывать на него пока бессмысленно.

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

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

А пока там не понятно - что это, для чего сделано, как устанавливать и как использовать и какой статус разработки! А все ссылки ведут на другой проект!

На счет поддержки winXp 98 95, раньше мне приходилось на все такчки ставить не только net framwork но и сильверлайт, который тоже любил ломаться. И все равно что с ubuntu мне многие вещи было проще настроить, у тебя должна быть винда. А сейчас вообще ляпота, свободно выбираешь куда и как хоститься, + в .net7 версии наконец добавили работу с json в базе и обновление записей без выгрузки их в контекст. Но т.к. последнее время MS (по моим наблюдениям c blazor) в начале выпускают сырые релизы, советую подождать 7.0.3 . + есть большие надежды на .NET MAUI . Во влажных мечтах он должен будет заменить flutter

начале выпускают сырые релизы
SCRUM-жеж, чего вы хотели, со временем после каждого спринта, появляется больше глюков чем исправлено.
Sign up to leave a comment.

Other news