company_banner

Что 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». О нём на Хабре есть отдельный пост непосредственно от Microsoft.


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


    В заключение


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



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

    Комментарии 22

      +1
      Самое крутое это релиз Blazor, имхо
        +1
          0
          Что-то можете рассказать про развитие проекта (кроме того что есть в release notes). Он по прежнему очень медленный (так как без AOT)? Какой минимальный размер бандла?
            0
            Не знаю когда вы пробовали, я 4ре месяца на нем проект пилю, все довольно быстро если запаблишить сайт.
            Вот на девелоперской машине Блейзор действительно нещадно тормозит, впрочем на 4ех ядрах и 16 гигах все ок(комфортный минимум). AOT у них есть в опубликованном roadmap на ноябрь.
            Минимальный размер я не замерял) Последние несколько сборок они как раз занимались оптимизацией размера, думаю если вы давно пробовали Blazor то можете попробовать еще раз.
            Ну и Blazor != WebAssembly. Если сайт не слишкрм нагруженный или есть мощные сервера, то можете начат ьпроект как Server Side и потом перевести на WebAssembly. Но я не увидел причин почему не юзать WebAssembly сразу
          0
          Тут похвастались тем, что у него до 32 гигабайт оперативной памяти, SSD до двух терабайт, интеловские процессоры 10-го поколения

          … и отсутствует Thunderbolt 3.


          Я джва три года ждал выхода SB3, надеясь, что они исправят этот недостаток, а тут...

            +2
            Ну, вряд ли это вас утешит, но у их решения хотя бы есть неофициальное объяснение.
              0

              Классическое «Для вашей безопасности™».

                0
                Такие (и похожие) аргументы обычно очень любили в Apple (может и сейчас любят — не слежу): «Мы лучше знаем что вам нужно»
            +1
            В роадмапе планы добавить всё есть, да и сильно ли нужно в Windows это управление зависимостями


            Только вчера в ручную обновлял PowerToys с 0.17 на 0.18. Благо инсталлятор сразу после запуска показал какой компонент ему необходим для дальнейшей установки. К сожалению, не обошлось без подробного чтения https://dotnet.microsoft.com/download/dotnet-core/3.1 какой именно компонент необходим. Даже мне, пользователю Windows ещё со времён 3.11, не сразу удалось понять, что устанавливать.

            Я может выскажу крамольную мысль, но мне очень не хватает standalone-приложений в Windows написанных на WinApi. Не путать с portable. Как пример набор утилит от nirsoft.net. Их и деплоить удобно, и проблем с библиотеками нет.
              0
              Можете посмотреть в сторону установщика scoop. Тот же powertoys устанавливается командой
              scoop install powertoys
              и обновляется
              scoop update powertoys
                0
                Спасибо, никогда не слышал про этот проект.
              0
              в презентации было показано что системная папка Linux теперь видна в проводнике как все остальные диски, как это сделать? (установлена убунта с магазина )
                0
                \\wsl$
                  0

                  Это должно будет придти с версией Windows 10 Pro 2004 (Пока Insider Preview), а сейчас доступно как сетевая папка \\wsl$.

                  –1
                  Много всего полезного выпустили. Сижу вот смотрю видео о WSL2.
                    +1
                    Я запускал GUI приложения в WSL когда это еще не было мейнстримом)

                    1. В Windows установить и запустить XMing
                    2. В WSL
                    # apt install virt-manager -y
                    # export DISPLAY=localhost:0>>~/.bashrc
                    перезапустить WSL
                    # virt-manager &
                      +1
                      чем PT run лучше win+s?
                        0
                        Про выполнение команд уже написал в посте, а ещё, например, вот этим:

                          0
                          Я просто жму Win и ввожу, что мне надо
                          0

                          Мда, позорище. Жаль, что Торвальдс не закрыл бы лицензионно Майкам использовать Линукс.
                          Настоящее издевательство над Линуксом.

                            +1
                            хз где вы там нашли издевательство, но то что остается меньше аргументов переходить на линукс это точно. у меня теперь на одном уровне доступны две системы одновременно и это прекрасно
                              0
                              Да, теперь можно нормально работать из под винды

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое