Что Microsoft представила разработчикам на Build: winget, GUI-программы в WSL2 и прочее

от автора

Сейчас в разгаре онлайн-конференция Microsoft Build, и вчера вечером отгремела её презентационная часть. Сначала там были воодушевляющие слова от Сатьи Наделлы и освещение конкурса Imagine Cup, но нам интереснее всего блок «Скотт Хансельман представляет новые штуки для разработчиков».

На Хабре об этом уже писали в формате «по фразе на новинку», но мы считаем, что эти новости достойны большего — поэтому вдумчиво всмотрелись в трансляцию, вчитались в комментарии разработчиков на разных ресурсах и сделали подробный пост со скриншотами.

PowerToys Run

Первое, что показали — вроде бы мелочь, но вероятно, некоторые будут пользоваться ей активнее всего остального представленного. В наборе утилит PowerToys появился новый инструмент PowerToys Run, что-то вроде «Win+R на максималках». По нажатию Alt+Space на экране появляется крупная поисковая строка, позволяющая открывать приложения, файлы и папки.

Выглядит это похоже на Spotlight из macOS:

Но в PowerToys Run, если начать ввод с символа >, можно ввести консольную команду и сразу её выполнить. На Mac так умеет стороннее приложение Alfred, но не стандартный Spotlight.

Утилита входит в новый релиз PowerToys v0.18.0, его можно брать на GitHub.

Пакетный менеджер winget

В трансляции сразу же показали наглядный пример команды, которую удобно использовать из строки PowerToys Run: «winget install что-то». Да, у Windows появляется свой официальный пакетный менеджер! Чтобы, например, на новую машину можно было накатывать целый набор софта одним простым скриптом.

Мы не ограничились просмотром трансляции, а почитали на Hacker News реакцию разработчиков. Она оказалась различной. Есть точка зрения «слушайте, но эта штука просто скачивает и запускает exe-файлы, у неё нет ни управления зависимостями, ни даже функции удаления». На это возражают «В роадмапе планы добавить всё есть, да и сильно ли нужно в Windows это управление зависимостями».

Сейчас winget в превью-версии. Он доступен в Microsoft Store тем, кто участвует в Insider-программе, и компания рекомендует именно этот способ установки, позволяющий автоматически получать из Store апдейты. Но код выложен на GitHub, и никто не запрещает собрать его самостоятельно, лишаясь автоматических апдейтов.

Обновления WSL 2: GUI-приложения, поддержка GPU

Тут пока всё в стадии превью и материализуется только к концу года, но анонсировано уже сейчас. Громкая новость: через WSL 2 станет можно запускать не только консольные приложения, но и линуксовые GUI-программы.

Продемонстрировал это Хансельман запуском GIMP — впечатляет, конечно, но надо будет ещё посмотреть, как это всё получится на практике. Когда пытаются состыковать два масштабных мира (вне зависимости от того, каких именно), стык вечно где-то оказывается неровным. Тут можно вспомнить Wine, например. Хмм, подождите, а можно будет сам Wine запустить через WSL 2, чтобы открыть портал в ад?

Почитали комментарии по этому поводу, больше всех запомнился этот:

This is finally the year of the Linux desktop… and it’s on Windows!

Помимо этого, в WSL придёт поддержка GUI/CUDA, что «было самым популярным фичреквестом ещё с нашей первой версии». Для тех, кому тут хочется забраться поглубже, в Microsoft написали отдельный подробный пост. Под ним комментарии в основном благодарные и восторженные.

Ну и по мелочи: люди жаловались, что устанавливать WSL неудобно, и это станет можно делать одной консольной командой wsl.exe —install. Хмм, но вы же только что советовали нам устанавливать всё командой winget install?

Project Reunion

Наконец, представлен новый проект для объединения Win32 и UWP, «чтобы вам было проще разрабатывать приложения, которыми смогут пользоваться все на любых Windows».

Начинание благое, но учитывая, сколько раз за свою историю компания Microsoft хотела подарить универсальное счастье всем и даром, хочется очень осторожно высказываться о том, что из этого получится на этот раз.

Прочее

Также Хансельман с коллегами показали некоторые вещи, которые вообще-то уже были анонсированы ранее, но трансляция позволяла увидеть их в действии — особенно наглядно в таком варианте выглядят GitHub Codespaces, представленные недавно на GitHub Connect.

Если совсем коротко, то Codespaces — это «мы встроили VS Code прямо вам в GitHub». Но есть интересные нюансы: с одной стороны, тут можно подтягивать ваши настройки десктопного VS Code (создавая вам максимально привычное окружение), а с другой стороны, при этом всё подстраивается под зависимости конкретного репозитория (так что не нужно устанавливать на свой компьютер кучу вещей только для того, чтобы чуть-чуть поконтрибьютить). И ещё к сессии Codespaces можно подключиться из десктопного VS Code — если в процессе вы поняли, что в браузере всё-таки некомфортно, сможете продолжать не в нём. Пока что вся эта красота в ограниченной бете, можно запросить ранний доступ.

Другая ранее уже представленная штука, о которой вспомнили — новый Surface Book 3. Тут похвастались тем, что у него до 32 гигабайт оперативной памяти, SSD до двух терабайт, интеловские процессоры 10-го поколения — в общем, разработчикам подходит.

И немного поговорили о том, как с помощью Xamarin можно делать мобильные приложения для устройств с двумя экранами (напомним, Microsoft такие устройства сейчас готовит).

А, ну и Windows Terminal добрался до версии 1.0 — никаких суперфич при этом не добавилось, но теперь он официально «production-ready».

Ещё на Build были анонсы вне этой презентации, но менее релевантные для жизни обычного разработчика — от того, что Microsoft сделали новый суперкомпьютер, до приложения Lists (выглядит как потомство todo-менеджера и Excel).

В заключение

Если вы хотите, можете сами увидеть презентацию целиком. Хотя новости вы уже знаете, интересно смотреть и на то, как их представляли: от того, как у Хансельмана менялось освещение в комнате под конкретную тему Windows, до его эмоций (понятно, что всё выступление по строгому сценарию, но удивление «ух ты, в Windows теперь так можно» получалось довольно естественным).

А нам в JUG Ru Group смотреть на всё это было особенно интересно, потому что скоро Хансельман выступит на нашей онлайн-конференции DotNext (с темой будет «Overview of .NET»), так что всем дотнетчикам, которым близка его манера, советуем не пропустить: можно будет и послушать, и собственные вопросы позадавать!

ссылка на оригинал статьи https://habr.com/ru/company/jugru/blog/502994/