Windows Dev Chat - August 2024
Community Call
Gleb Khmyznikov hosted the first Windows Dev Chat community call on 15th August 2024. Gleb is a software engineer at Microsoft and hosted the first Windows Dev Chat community call which will introduce you to the tools, products and frameworks for building apps on Windows, sharing the latest updates and upcoming events along with establishing conversation and feedback to build a friendly community with discussions for helping with improvements.
Dev Tools
Windows Subsystem for Linux with Craig Loewen
Windows Subsystem to Linux (WSL) lets you run your favourite Linux tools, applications, and workflows all directly on your Windows machine with the main benefit of WSL versus a traditional virtual machine is it is highly integrated with Windows, letting you access files from either Windows or Linux, run Linux GUI apps that behave like regular Windows apps on your machine. WSL have more integrations including utilising your Windows GPU and are always building out more ways to make it feel like the same machine regardless of what tool you are running.
Dev Drive with Bridget Tueffers
Dev Drive is a new form of storage volume available to improve performance for key developer workloads up to 30% by using the Resilient File System (ReFS) for optimised file I/O operations. a performance mode for Microsoft Defender which balances performance and security and can have control over which filters drivers are attached to your Dev Drive. Block cloning is coming to Dev Drive in the 24H2 release of Windows 11 which adds even more performance benefits and storage gains.
Dev Home with Kayla Cinnamon & Sharla Soennichsen
Dev Home is the new hub like experience available on Windows today intended to setup your machine for development and open source on GitHub. You can monitor projects in your dashboard using customisable widgets such for Azure DevOps and GitHub and you can set up your machine by creating a Dev Drive and downloading apps, packages or repositories. You can connect to dev environments such as Hyper-V, Microsoft Dev Box and WSL or other remote environments. You can customise Windows with even more settings and toggles with settings for developers that are more easily findable with Dev Home and access PowerToys utilities such as Hosts File Editor, Environment Variables Editor and Registry Preview. There are also new features that have been added to Dev Home such as customisation Virtualisation feature management.
PowerToys with Ethan Fang
PowerToys is a set of open-source utilities built to help maximise your productivity on Windows with over thirty utilities including Advanced Paste and is available to download from the Microsoft Store, WinGet and GitHub with an active community for feedback and suggestions where PowerToys owes a lot of the functionality it has thanks to the amazing feedback. PowerToys helps inspire and puts utilities right into Windows, so if you are interested in contributing to Windows then you can contribute to PowerToys which may help inspire features in Windows itself. PowerToys is updated on a regular basis and there is a new version coming soon including custom actions for Advanced Paste and App Layouts and features from Windows App SDK 1.6 which will help with language override.
Windows Terminal with Christopher Nguyen
Windows Terminal is a feature-rich and customisable host application for command line shells like Command Prompt and PowerShell. Windows Terminal is also an open-source project on GitHub there is a new update coming soon with buffer restore to restore terminal output from a previous session when starting a new terminal session. There will also be new advanced profile settings such as displaying a menu of right click, automatically marking prompts when pressing enter or positioning cursor on mouse click and more coming to Windows Terminal. Windows Terminal Preview is a preview version of Windows Terminal with the next preview update featuring a Snippets Pane for commands you use on a regular basis that can be saved as snippets and can be used from the Snippets Pane. Windows Terminal Preview will also feature Quick Fixes in Command Prompt with recommendations on commands such as those that have not been recognised but may be installable with WinGet.
WinGet with Roy MacLachlan
WinGet is a Windows Package Manager and is a command line tool that allows users to discover, install and upgrade applications and is preinstalled on Windows 10 and Windows 11 and is developed by Microsoft and the software developer community on GitHub. It is a seamless way to get applications from over 4,000 packages for developers and other users and has a lot of content for you and your user's devices. WinGet operates through a simple command line interface through Windows Terminal and can even get application from your own private repository and can install or uninstall application easily and quickly or can see what upgrades available and upgrade applications to the latest version are available either per application or for all applications on the device. You can run WinGet Search to find available packages, WinGet Install to install a specific package, WinGet Upgrade to upgrade specified packages, WinGet List to list all installed packages, WinGet Uninstall to uninstall a specified package, WinGet Repair to run a repair on a specified package and WinGet Download to download packages from the store and community. Casual users can install software and get the updates they need easily not just developers, and the community has contributed a lot to what WinGet is today.
Dev Platforms
WinUI and WinAppSDK with Michael Hawker
Microsoft's investments in client development include a wide variety of platforms such as Windows Native with WinUI 3, WinForms and Windows Presentation Foundation (WPF) along with Cross Platform Native with React Native and .NET MAUI plus Hybrid with Blazor Hybrid and WebView2 as well as Web with Progressive Web Apps (PWA) and Blazor Web. WinUI is a framework for creating native desktop applications using C++ or C# and powers key experiences on Windows including features like Dev Home, is optimised for modern experiences and hardware with support for x64, x86 and ARM64 including a modern UI theming with usability built in. Developers can get started easily with the Windows application development workload in Visual Studio 17.10 and later to develop applications using WinUI. Microsoft have also been doing WinUI Community Calls with the next about the 1.6 release of Windows App SDK coming in September.
Windows App SDK 1.6 will support native AoT including trimming out things you are not using to reduce application size, package size and application start time. Another major feature in Windows App SDK 1.6 is separating out WebView 2 from Windows App SDK itself so will be separate and updated independently. Windows App SDK is a way to enhance native Desktop applications using C++ or C# using Win32, WinUI, MAUI or React Native providing a common set of APIs that enable incremental adaption focusing on piecemeal updates and integrated different modern content together. Windows App SDK also prioritises predictable consistency where you can down-level to Windows 10 RS5+ and Windows Server 2019+ LTSC with no need for admin installs to target all users and full side-by-side support for features of Windows App SDK along with supporting controlled updates where apps verify updates and deploy on their timing rather than updates to the operating system as Windows App SDK is shipped as a NuGet package which can be controlled as an application developer.
Windows App SDK includes WinUI and Controls but can also use it with Windows Presentation Foundation and Win32 applications and your application can be more battery efficient with lifecycle APIs and can modernise your application with different content such as XAML Islands along with support for Adaptive Cards, App Notifications along with including support for Widgets, App Resources, Scene Graph, Text Glyphs, Image Loading and coming soon will be the Windows Copilot Library in a later version of Windows App SDK.
React Native with Steven Moyes
React Native allows you to create native applications using React + JavaScript and is cross platform supporting mobile, desktop and more including iOS, Android and macOS allowing you to use a little or a lot and adopt incrementally. You can leverage web expertise to create native applications with this open-source framework layered on the native platform such as using WinUI on Windows and is used by many teams within Microsoft on desktop and mobile including Word, PowerPoint, Excel, Windows, PowerApps, Xbox and Teams. React Native is built on top of Windows App SDK and is rendered with Windows primitive translated from React and get native components and near native performance and is consistent with how it works on other platforms. React Native is fully open source with React Native for Windows and Mac being worked on by Microsoft. If you are developing applications using Electron currently can then you investigate developing your applications using React Native.
PWA with Justin Willis
PWAs or Progressive Web Applications allow you to re-use existing web development skills to build applications with HTML, CSS and JavaScript by bringing together the best of native and web together with access to advanced functionality such as on-device AI, file system access including reading and writing files or moving files around, Bluetooth, custom title bars including controls in the title bar and more. PWAs are fully cross-platform and run on any OS as they use web technology that use a modern web browser and available on app stores such as Microsoft Store, Google Play and Apple App Store so they can be found or installed like any other app. Microsoft has shipped applications as PWAs including Microsoft Designer and Microsoft Loop.