<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Uno Platform</title>
    <description>The latest articles on DEV Community by Uno Platform (@unoplatform).</description>
    <link>https://dev.to/unoplatform</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F208139%2F918d6b11-5c04-4244-a7b4-c5ece1751c27.jpg</url>
      <title>DEV Community: Uno Platform</title>
      <link>https://dev.to/unoplatform</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/unoplatform"/>
    <language>en</language>
    <item>
      <title>UWP, WinUI and Uno Platform get Prism support thanks to Uno team OSS Contribution</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Mon, 27 Apr 2020 15:19:38 +0000</pubDate>
      <link>https://dev.to/unoplatform/uwp-winui-and-uno-platform-get-prism-support-thanks-to-uno-team-oss-contribution-2a1f</link>
      <guid>https://dev.to/unoplatform/uwp-winui-and-uno-platform-get-prism-support-thanks-to-uno-team-oss-contribution-2a1f</guid>
      <description>&lt;p&gt;We are pleased to announce that &lt;a href="http://www.platform.uno/" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt; team has provided the initial support for the &lt;a href="https://prismlibrary.com/" rel="noopener noreferrer"&gt;Prism&lt;/a&gt; library.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2p3t2oswoqklbwrj014g.jpg" width="800" height="206"&gt;Background
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://github.com/PrismLibrary/Prism" rel="noopener noreferrer"&gt;Prism Library&lt;/a&gt; was initially created by Microsoft’s Patterns and Practices team in 2008 and had grown into a mature set of guidance that allows developers to use proven patterns and development practices to create XAML based applications. In 2015, as Microsoft forged more into the world of open source, the Prism library was taken over by community champions and has been evolved since. Currently the initiative is led by &lt;a href="https://twitter.com/brianlagunas" rel="noopener noreferrer"&gt;Brian Lagunas&lt;/a&gt; and &lt;a href="https://twitter.com/danjsiegel" rel="noopener noreferrer"&gt;Dan Siegel&lt;/a&gt;, both Microsoft MVPs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fast forward to 2020
&lt;/h3&gt;

&lt;p&gt;One of the most requested improvements to Prism has been support for UWP (and future &lt;a href="https://microsoft.github.io/microsoft-ui-xaml/" rel="noopener noreferrer"&gt;WinUI&lt;/a&gt;) with hundreds of conversations on the topic were had on twitter, email and forums. However, this was a behemoth task for the sole two main maintainers of the library. As Uno Platform has been championing UWP/WinUI on a mission to take WinUI cross-platform to iOS, Android, WebAssembly and macOS, our team stepped up to the plate and created the initial support. Uno Team is committed to providing ongoing support to the library.&lt;/p&gt;

&lt;h3&gt;
  
  
  A bit about implementation
&lt;/h3&gt;

&lt;p&gt;With this contribution, the Prism supported XAML frameworks grow from supporting WPF and Xamarin.Forms to also include UWP/WinUI and Uno Platform. WPF and WinUI are very similar APIs that share lots of similar class names, albeit being in different namespaces. The bulk of the change is about retargeting WPF-specific sources over to UWP, while providing a very similar feature set. The rest of the changes are end-to-end testing applications using Uno.UI Test to validate iOS, Android and WebAssembly behavior during community Pull Requests.&lt;/p&gt;

&lt;p&gt;While the contribution itself involved changes to over 140 files and 5600 line changes, the architectural approach taken made it a lot easier than what the relative size of the code contribution is. In addition, an amazing work by Brian and Dan on restructuring the repo to prep the Prism repo to accept a contribution of this size made all this possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next steps:
&lt;/h3&gt;

&lt;p&gt;We hope you will take advantage of Prism in your future Uno and WinUI built apps.&lt;/p&gt;

&lt;p&gt;To create an application easily, install the &lt;strong&gt;dotnet new&lt;/strong&gt; preview templates for the Uno Platform:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

dotnet new -i Uno.ProjectTemplates.Dotnet::2.3.0-dev.33


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then once installed, type the following:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

dotnet new unoapp-prism -u MyPrismApp


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will create a solution that you can open in Visual Studio and take advantage of Prism.&lt;/p&gt;

&lt;p&gt;For more information about Prism, visit &lt;a href="http://prismlibrary.com/docs/" rel="noopener noreferrer"&gt;the documentation&lt;/a&gt; site, as well as the &lt;a href="https://github.com/PrismLibrary/Prism-Samples-Wpf" rel="noopener noreferrer"&gt;samples repository for WPF&lt;/a&gt; while we work on adding samples for UWP.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;About Uno Platform&lt;br&gt;&lt;br&gt;
For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, macOS and Web via WebAssembly. (or #WinUIEverywhere). Uno Platform is Open Source (Apache 2.0) and &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;. To learn more about Uno Platform, see &lt;a href="https://platform.uno/how-it-works/" rel="noopener noreferrer"&gt;how it works&lt;/a&gt;, or create a &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;small sample app&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://twitter.com/jlaban?lang=en" rel="noopener noreferrer"&gt;Jerome Laban&lt;/a&gt;, on behalf of Uno Platform team&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/uwp-winui-and-uno-platform-get-prism-support-thanks-to-uno-team-oss-contribution/" rel="noopener noreferrer"&gt;UWP, WinUI and Uno Platform get Prism support thanks to Uno team OSS Contribution&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>prism</category>
      <category>uwp</category>
      <category>winui</category>
    </item>
    <item>
      <title>Announcing Uno Platform 2.2 – Windows Community Toolkit support, Performance Improvements and more</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Tue, 21 Apr 2020 18:35:22 +0000</pubDate>
      <link>https://dev.to/unoplatform/announcing-uno-platform-2-2-windows-community-toolkit-support-performance-improvements-and-more-4me</link>
      <guid>https://dev.to/unoplatform/announcing-uno-platform-2-2-windows-community-toolkit-support-performance-improvements-and-more-4me</guid>
      <description>&lt;p&gt;The Uno 2.2 release is packed with new features, performance improvements and bug fixes, even if it’s closely following the 2.1 release! In addition to expanding our support for Windows Community Toolkit (WCT)  today we are also shipping additional 70 smaller features and performance improvements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6t2tgaolpl8ter0ec6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6t2tgaolpl8ter0ec6z.png" width="800" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are following our &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; (hint – you should star it – many more features coming), you may have noticed we are also hard at work on adding support for macOS apps (Thanks &lt;a href="https://twitter.com/mzikmunddev" rel="noopener noreferrer"&gt;@MartinZikmund&lt;/a&gt;), and while we still do not have anything to announce, it’s taking shape! The #WinUIEverywhere vision is closer by the day!&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  About Uno Platform
&lt;/h3&gt;

&lt;p&gt;For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;. To learn more about Uno Platform, see &lt;a href="https://platform.uno/how-it-works/" rel="noopener noreferrer"&gt;how it works&lt;/a&gt;, or &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;create a small sample app&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Among the implemented features in this release, you’ll find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for MenuFlyout, UIElement.ContextFlyout
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7hjp2v7l0lensylwx9i.gif" width="497" height="407"&gt;
&lt;/li&gt;
&lt;li&gt;Support for &lt;a href="https://github.com/microsoft/microsoft-ui-xaml/tree/master/dev/MenuBar" rel="noopener noreferrer"&gt;MenuBar from WinUI 2&lt;/a&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fic38e6txtxbq2sqd1s46.gif" width="507" height="331"&gt;
&lt;/li&gt;
&lt;li&gt;Support for ScrollBar&lt;/li&gt;
&lt;li&gt;Add support for &lt;a href="https://github.com/unoplatform/uno/blob/master/doc/articles/get-started-vscode-wasm.md" rel="noopener noreferrer"&gt;&lt;strong&gt;dotnet new unoapp&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://platform.uno/blog/announcing-uno-platform-support-for-visual-studio-code/" rel="noopener noreferrer"&gt;Visual Studio Code for WebAssembly&lt;/a&gt; and macOS templates&lt;/li&gt;
&lt;li&gt;Support for Electron hosted apps&lt;/li&gt;
&lt;li&gt;ImageSource.SetSourceAsync support for WebAssembly (Thanks &lt;a href="https://twitter.com/SuperJMN" rel="noopener noreferrer"&gt;@SuperJMN&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support for ColorAnimation&lt;/li&gt;
&lt;li&gt;Support for Pedometer for iOS and Android (Thanks &lt;a class="mentioned-user" href="https://dev.to/martinzikmund"&gt;@martinzikmund&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Suppport for mouse wheel events (PointerWheelChanged) on WebAssembly&lt;/li&gt;
&lt;li&gt;Support for DropDownButton from WinUI 2 (Thanks &lt;a class="mentioned-user" href="https://dev.to/martinzikmund"&gt;@martinzikmund&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Many performance and memory updates impacting all platforms at various levels, such as giving an estimated 20% performance improvement on controls creation on WebAssembly. A more detailed post with benchmarks will follow soon on that topic.&lt;/li&gt;
&lt;li&gt;Support for ms-appdata paths in Image, MediaPlayer (Thanks &lt;a class="mentioned-user" href="https://dev.to/martinzikmund"&gt;@martinzikmund&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uno Platform is now built using C# 8.0 and Visual Studio 16.5 on Azure DevOps hosted agents, which means that AndroidX and Android 10 support is close by.&lt;/p&gt;

&lt;p&gt;And finally, many of the recent updates were targeted at improving the behavior of controls in the &lt;a href="https://github.com/unoplatform/Uno.WindowsCommunityToolkit" rel="noopener noreferrer"&gt;Windows Community Toolkit&lt;/a&gt;, with enabling DataGrid, TabView and Expander controls. On the topic of the DataGrid, there’s still lots of work to be done, particularly around performance under WebAssembly, but this release updates now make the control usable. Look for a blog post tomorrow digging into more details on DataGrid. If you are keen on digging into the DataGrid right away, try this sample code for &lt;a href="https://github.com/unoplatform/Uno.WindowsCommunityToolkit/blob/uno/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/DataGrid/DataGridCode.bind" rel="noopener noreferrer"&gt;DataGrid&lt;/a&gt;, &lt;a href="https://github.com/unoplatform/Uno.WindowsCommunityToolkit/blob/uno/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TabView/TabViewXaml.bind" rel="noopener noreferrer"&gt;TabView&lt;/a&gt; and &lt;a href="https://github.com/unoplatform/Uno.WindowsCommunityToolkit/blob/uno/Microsoft.Toolkit.Uwp.SampleApp/SamplePages/Expander/ExpanderXaml.bind" rel="noopener noreferrer"&gt;Expander&lt;/a&gt; after upgrading to Uno Platform 2.2.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next Steps
&lt;/h3&gt;

&lt;p&gt;For a more extensive change log, &lt;a href="https://github.com/unoplatform/uno/releases" rel="noopener noreferrer"&gt;visit the GitHub releases page&lt;/a&gt;. If you are new to Uno Platform, you should go through our &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;Getting Started tutorial&lt;/a&gt;. And if you are already using Uno please update your packages to 2.2 via your Visual Studio NuGet package manager!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/jlaban?lang=en" rel="noopener noreferrer"&gt;Jerome Laban&lt;/a&gt;, on behalf of Uno Platform team&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/announcing-uno-platform-2-2-windows-community-toolkit-support-performance-improvements-and-more/" rel="noopener noreferrer"&gt;Announcing Uno Platform 2.2 – Windows Community Toolkit support, Performance Improvements and more&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>webassembly</category>
      <category>android</category>
      <category>ios</category>
    </item>
    <item>
      <title>Free Developer-friendly high-res backgrounds for Microsoft Teams</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Thu, 16 Apr 2020 18:44:51 +0000</pubDate>
      <link>https://dev.to/unoplatform/free-developer-friendly-high-res-backgrounds-for-microsoft-teams-4606</link>
      <guid>https://dev.to/unoplatform/free-developer-friendly-high-res-backgrounds-for-microsoft-teams-4606</guid>
      <description>&lt;p&gt;Last week Microsoft released custom background feature for Microsoft Teams. This was a feature long reserved for Microsoft employees only, likely for testing usage. The Great news is – custom background feature is now available to everyone, and our design team at Uno Platform took some time to create developer-friendly, high resolution custom backgrounds with flags over 30 of your favorite technologies, programming languages and tools you use. There are three different designs to choose from – enjoy!&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  About Uno Platform
&lt;/h3&gt;

&lt;p&gt;For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;. To learn more about Uno Platform, see &lt;a href="https://platform.uno/how-it-works/" rel="noopener noreferrer"&gt;how it works&lt;/a&gt;, or &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;create a small sample app&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just right-click and save images below  to:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

%APPDATA%\Microsoft\Teams\Backgrounds\Uploads


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Here is how they look, we had them hand-drawn for the following technologies: Uno Platform &amp;amp; WinUI (of course), Uno Platform, WinUI, Visual Studio, Windows, GitHub, Xamarin, Blazor, .net, .NET Foundation, Android, iOS, WebAssembly, Azure, Microsoft MVP, C++, C#, F#, JavaScript, HTML, Python, Java, Ruby, React, Angular, Vue, PHP, Slack, Docker, Flutter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxxyltig4rw8asvijymks.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxxyltig4rw8asvijymks.png" width="800" height="450"&gt;&lt;/a&gt; &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquy6y09pfshpomqwy84t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquy6y09pfshpomqwy84t.png" width="800" height="450"&gt;&lt;/a&gt; &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf5cyimzegg47ve61o7y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsf5cyimzegg47ve61o7y.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If there is something missing, drop us a tweet at &lt;a href="https://twitter.com/UnoPlatform" rel="noopener noreferrer"&gt;@UnoPlatform&lt;/a&gt; and we may be able to create one for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Uno Platform &amp;amp; WinUI
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7blg2eo36no8g12sonv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7blg2eo36no8g12sonv.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrx8rv12zpbmgaswqv2a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrx8rv12zpbmgaswqv2a.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffypkalwn0dliedid7axi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffypkalwn0dliedid7axi.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Uno Platform
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxs1siev5nauhkibo0lq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpxs1siev5nauhkibo0lq.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwoxum223x0fk64okia1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgwoxum223x0fk64okia1.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf7kj2oq91gvgxqlhhwp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf7kj2oq91gvgxqlhhwp.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  WinUI
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6kisxo8i6zujelqdrxi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6kisxo8i6zujelqdrxi.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvk6mqce92ydsrvehix7a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvk6mqce92ydsrvehix7a.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7j9yy8non3pg5q889ygd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7j9yy8non3pg5q889ygd.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Visual Studio
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm88gyys5kraqxk82thc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm88gyys5kraqxk82thc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh811zn30fdz4859zkdq0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh811zn30fdz4859zkdq0.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz4d0dtq332detreh5l5j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz4d0dtq332detreh5l5j.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Windows
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v8dmkwcjr3res0rsjvq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v8dmkwcjr3res0rsjvq.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazwp8h2ah5y6so6hxt0f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazwp8h2ah5y6so6hxt0f.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkrsu6xcwlz412vdi310.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkrsu6xcwlz412vdi310.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0hs6ny73lhew7h68464.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0hs6ny73lhew7h68464.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F156txvqh6e1mfullenpt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F156txvqh6e1mfullenpt.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd52x4hnccxvty8onk282.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd52x4hnccxvty8onk282.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Xamarin
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj97wtwqtc6kbmqgchti.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj97wtwqtc6kbmqgchti.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvecpd5xsch5zuc0cbiv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpvecpd5xsch5zuc0cbiv.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit8nk41cxqmn9wslwqp3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit8nk41cxqmn9wslwqp3.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Blazor
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F731vnj9laakzi1ecsbm8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F731vnj9laakzi1ecsbm8.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F030ufnjlpeiz05ro4wap.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F030ufnjlpeiz05ro4wap.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgs4ny36updjgqm8805ap.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgs4ny36updjgqm8805ap.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  .NET
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8hg8lvkw0ue07zdiv65.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft8hg8lvkw0ue07zdiv65.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvgnl6uznxff4x8d3r2k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvgnl6uznxff4x8d3r2k.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdc9gctn3o9nstzhrhnt8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdc9gctn3o9nstzhrhnt8.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  .NET Foundation
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzl947etg7kqf3c3fa2j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flzl947etg7kqf3c3fa2j.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudkkcztshtdqvkkgb2ct.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fudkkcztshtdqvkkgb2ct.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe93sps5f1p4eui73lruc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe93sps5f1p4eui73lruc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Android
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhg04tb942lntzwbmgvn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhg04tb942lntzwbmgvn.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ayoe3dtdcsq8dsg6oqc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ayoe3dtdcsq8dsg6oqc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzxyqfcpcx2rumkk30bw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzxyqfcpcx2rumkk30bw.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  iOS
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfh0p9m7t7ntg2p8t9xl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvfh0p9m7t7ntg2p8t9xl.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8xyagwov80prxm2ifrz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv8xyagwov80prxm2ifrz.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzs5wlpta1kri6yt0addr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzs5wlpta1kri6yt0addr.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  WebAssembly
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhphkjaas5l735ikau6as.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhphkjaas5l735ikau6as.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6k86zy4qsy2gtbk8g2w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6k86zy4qsy2gtbk8g2w.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bc413giher973egfr02.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0bc413giher973egfr02.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Azure
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filv6141donnmw8aw84b8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filv6141donnmw8aw84b8.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo3zlukgw5obef7g8cexn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo3zlukgw5obef7g8cexn.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhuh6cs5695zrazkz5es.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhuh6cs5695zrazkz5es.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  MVP
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcklplgeta0tm4ak7s6x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcklplgeta0tm4ak7s6x.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0s7e3g6oh4b7t9kyor2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb0s7e3g6oh4b7t9kyor2.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bsmjcm8ooba55ayikz8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bsmjcm8ooba55ayikz8.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  c++
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxqjm7br43ct94lx3xxx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxqjm7br43ct94lx3xxx.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faq398ulve9jj99fo01cb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faq398ulve9jj99fo01cb.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2r3g493060vxkszi2an.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2r3g493060vxkszi2an.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  C
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9snogn6yihsvefwiuel.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9snogn6yihsvefwiuel.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2thm9vzh7gor4eggoi6q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2thm9vzh7gor4eggoi6q.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t438ouvspsxrwyeqmiu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t438ouvspsxrwyeqmiu.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  F
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9qbo6st029d17vohaut.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9qbo6st029d17vohaut.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq8afojwbul1r1pxfp8w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq8afojwbul1r1pxfp8w.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdo2368p9iv7c7tz8fxs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqdo2368p9iv7c7tz8fxs.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhu1dccw655h1j5ldr6dt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhu1dccw655h1j5ldr6dt.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3gkykpwzx266hvopdw2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3gkykpwzx266hvopdw2.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd11z1g53lm482x4n0yg8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd11z1g53lm482x4n0yg8.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2sbrvvattgi0pfoafscz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2sbrvvattgi0pfoafscz.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvgdr3n4mfklahcgv8nc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvgdr3n4mfklahcgv8nc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7h7dxepaxqvul1orb5n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7h7dxepaxqvul1orb5n.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Python
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fxjbzxr93rgus9tcv46.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fxjbzxr93rgus9tcv46.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqyg4vqydsm2g0q7xiktr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqyg4vqydsm2g0q7xiktr.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6ml79pcindn09rxr23m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6ml79pcindn09rxr23m.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Java
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjpmfojn0uz3zegsj5zg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjpmfojn0uz3zegsj5zg.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdwuiln6neoi7f0gxgch.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdwuiln6neoi7f0gxgch.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5m6h5ca0svuqlpwglfc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5m6h5ca0svuqlpwglfc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ruby
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7y4qpnuoecpuss00lomz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7y4qpnuoecpuss00lomz.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzswpuoanhgw1qhoqr3om.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzswpuoanhgw1qhoqr3om.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpj8d5jeotzb2opzpam4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpj8d5jeotzb2opzpam4.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  React
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddmzaccrz2wnn63w7z2q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddmzaccrz2wnn63w7z2q.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk23qmotnjtc24u5l9uza.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk23qmotnjtc24u5l9uza.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2t9y7evxdn9ica1ac0d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2t9y7evxdn9ica1ac0d.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Angular
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44hlimpxjf5bu7mbbn0y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F44hlimpxjf5bu7mbbn0y.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvoox4gfj7fvnehf2kny.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvoox4gfj7fvnehf2kny.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkejkt61gzr15ldks0k40.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkejkt61gzr15ldks0k40.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Vue
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijbe9qdgsafrrty05u2d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijbe9qdgsafrrty05u2d.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl48rucxxqsyijovcbeqc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl48rucxxqsyijovcbeqc.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2p365j99txo8wn0j8wz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2p365j99txo8wn0j8wz.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  PHP
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx731ti2jd5cu6c1h1nyj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx731ti2jd5cu6c1h1nyj.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7cmfn74ncrbfl17qoub.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr7cmfn74ncrbfl17qoub.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbboky1jbxmbouzil6k3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkbboky1jbxmbouzil6k3.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Slack
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndcuzzf21henazz3alm7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndcuzzf21henazz3alm7.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvfn7o3vgljt890y4c7t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyvfn7o3vgljt890y4c7t.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwv16iq5jww0vlwfm8u17.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwv16iq5jww0vlwfm8u17.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Docker
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsm6lphiurgu8dr0tuxcf.jpg" width="800" height="450"&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t3j3wq57bz3szo3rwly.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2t3j3wq57bz3szo3rwly.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyedyqvia08b3gcmkwg19.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyedyqvia08b3gcmkwg19.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flutter
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh82wu9njppjd5n78009.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh82wu9njppjd5n78009.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flumdzp68cuy127bo658a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flumdzp68cuy127bo658a.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1n9s8z91rc7vaog7dh6k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1n9s8z91rc7vaog7dh6k.jpg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  About Uno Platform
&lt;/h3&gt;

&lt;p&gt;For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;. To learn more about Uno Platform, see &lt;a href="https://platform.uno/how-it-works/" rel="noopener noreferrer"&gt;how it works&lt;/a&gt;, or &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;create a small sample app&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Special thanks to our amazing designer team – Jessica, Mark and Xavier for doing these so quickly&lt;/p&gt;

&lt;p&gt;Uno Platform Team&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/free-developer-friendly-high-res-backgrounds-for-microsoft-teams/" rel="noopener noreferrer"&gt;Free Developer-friendly high-res backgrounds for Microsoft Teams&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
    </item>
    <item>
      <title>Uno Platform 2.1 available now – x:Bind, TwoPaneView and more</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Tue, 07 Apr 2020 12:45:48 +0000</pubDate>
      <link>https://dev.to/unoplatform/uno-platform-2-1-available-now-x-bind-twopaneview-and-more-67c</link>
      <guid>https://dev.to/unoplatform/uno-platform-2-1-available-now-x-bind-twopaneview-and-more-67c</guid>
      <description>&lt;p&gt;Uno Platform 2.1 release is packed with over 50 new features allowing for increased productivity as well as getting you up and running with Surface Duo. In addition to bigger milestones such as x:Bind, the TwoPaneView and NumberBox controls we also shipped another 50 new features and closed 45 issues you raised. Without further ado:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pn8ja1vas3vn1ozmucz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pn8ja1vas3vn1ozmucz.png" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  x:Bind functions
&lt;/h2&gt;

&lt;p&gt;Uno has been supporting some form of &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/xaml-platform/x-bind-markup-extension" rel="noopener noreferrer"&gt;x:Bind markup&lt;/a&gt; for properties, binding to functions were a big ask from users of Uno, as it allows for invoking methods from code behind very easily.&lt;/p&gt;

&lt;p&gt;Two of the largest use of x:Bind functions is to reduce the use of converters, and the use of static properties. Another use of the x:Bind is familiar to WPF developers, where binding to multiple properties is also available.&lt;/p&gt;

&lt;p&gt;You’ll find below some examples of the x:Bind feature.&lt;/p&gt;

&lt;p&gt;Member Function, to make a string upper case:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind MyProperty.ToUpper()}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Static type fields or properties OneTime binding:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind local:StaticType.PropertyIntValue}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;OneWay local member function with multiple observable parameters:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind Multiply(slider1.Value, slider2.Value), Mode=OneWay}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Literal boolean parameters:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind BoolFunc(x:False)}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Literal numeric value:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind Add(InstanceProperty, 42.42)}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Use of system functions such as:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind sys:String.Format('Formatted {0}', MyProperty), Mode=OneWay}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Which also works with multi parameters formatting:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind sys:String.Format(x:Null, 'slider1: {0}, slider2:{1}', slider1.Value, slider2.Value), Mode=OneWay}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Or DateTime parsing:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;CalendarDatePicker Date="{x:Bind sys:DateTime.Parse(TextBlock1.Text)}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Uno also supports two-way BindBack:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;TextBlock Text="{x:Bind sys:String.Format('{0}', MyInteger), BindBack=BindBackMyInteger, Mode=TwoWay}" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;where this method is available in the control:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

public void BindBackMyInteger(string text){ MyInteger = int.Parse(text);}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The Uno docs site provides a more &lt;a href="https://platform.uno/docs/articles/features/windows-ui-xaml-xbind.html" rel="noopener noreferrer"&gt;detailed documentation&lt;/a&gt; on this feature.&lt;/p&gt;

&lt;h2&gt;
  
  
  Surface Duo and WinUI TwoPaneView
&lt;/h2&gt;

&lt;p&gt;The WinUI 2.3 TwoPaneView is a Windows 10 specific control provides the ability to layout content in two panes. It behaves like a dual ContentControl, based on a set of parameters such as Pane length, tall and wide configuration modes and pane priorities to display content based on the available window space.&lt;/p&gt;

&lt;p&gt;We have ported TwoPaneView so you are able to use it with Surface Duo. You can see much more about &lt;a href="https://platform.uno/blog/surface-duo-winui-twopaneview-implementation-via-uno-platform/" rel="noopener noreferrer"&gt;TwoPaneView at the blog dedicated to it&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  WinUI 2.3 NumberBox
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://docs.microsoft.com/en-us/uwp/api/microsoft.ui.xaml.controls.numberbox?view=winui-2.3" rel="noopener noreferrer"&gt;NumberBox&lt;/a&gt; control is a very powerful control that the WinUI team created, which we ported it over to Uno. It supports lots of modes, with min and max values, steps, as well as the ability to enter quick expressions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovdrjdqpullnnq2ragi0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovdrjdqpullnnq2ragi0.gif" width="746" height="624"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other significant updates
&lt;/h2&gt;

&lt;p&gt;You’ll find the complete list of changes &lt;a href="https://github.com/unoplatform/uno/releases/tag/2.1.37" rel="noopener noreferrer"&gt;in the release notes over on GitHub&lt;/a&gt; releases, as the support for Grid.ColumnSpacing and Grid.RowSpacing, multitouch pointers support, support for UIElement.RightTapped and Holding.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href="https://twitter.com/dotMorten" rel="noopener noreferrer"&gt;Morten Nielsen&lt;/a&gt;, the support for templates tags in the Visual Studio 2019 wizard has been added, to make it easier to discover the templates:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxemvdbdpn00vjvwa96u2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxemvdbdpn00vjvwa96u2.png" width="800" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you to all our contributors for the hard work they’re putting into improving Uno !&lt;/p&gt;

&lt;h1&gt;
  
  
  Next Steps
&lt;/h1&gt;

&lt;p&gt;We are already working on 2.2 release and we hope to ship it within next 45 days. In the meantime, if you find issues, please let us know by &lt;a href="https://github.com/unoplatform/uno/issues/new/choose" rel="noopener noreferrer"&gt;opening one here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you are new to the Uno Platform, you may want to run through the &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;Getting Started tutorial&lt;/a&gt;. This will ensure you have the correct environment set up and that you have the latest release of Uno. If you have already worked with Uno, you may want to update your Uno package via your Visual Studio NuGet package manager.&lt;/p&gt;

&lt;p&gt;Jerome Laban, on behalf of Uno Platform team&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/uno-platform-2-1-available-now-xbind-dualpaneview-and-more/" rel="noopener noreferrer"&gt;Uno Platform 2.1 available now – x:Bind, TwoPaneView and more&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>android</category>
      <category>ios</category>
      <category>webassembly</category>
    </item>
    <item>
      <title>Uno Platform on Channel 9 Visual Studio Toolbox – 3 episodes</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Wed, 11 Mar 2020 15:27:42 +0000</pubDate>
      <link>https://dev.to/unoplatform/uno-platform-on-channel-9-visual-studio-toolbox-3-episodes-5c2h</link>
      <guid>https://dev.to/unoplatform/uno-platform-on-channel-9-visual-studio-toolbox-3-episodes-5c2h</guid>
      <description>&lt;p&gt;We are proud to have been featured on Channel 9 VS Toolbox show with Robert Green. In case you missed it, here is a quick summary. For all new to Uno, this is a great way to get to know it – straight from Uno CTO – Jerome Laban, as well as one of the key Uno community contributors – Martin Zikmund. Enjoy!&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Behind-the-Scenes"&gt;Uno Platform – Behind the Scenes episode&lt;/a&gt;, Robert is joined by &lt;a href="https://twitter.com/jlaban?lang=en"&gt;Jerome Laban&lt;/a&gt;, CTO of the Uno Platform. Back in December, we showed you how you can use Uno to build mobile, desktop and Web Assembly apps using C# and XAML. Jerome provides a behind the scenes look and how (and why) the Uno Platform was created, the decision to open source it and how it is maintained. He gives more insight into how it actually works and shows some new features that have been added since the previous episodes – items like WebAssembly Ahead of Time compilation (AOT), XAML Hot Reload, Uno Platform rendering options (pixel-perfect custom approach, or native approach) and a hint at upcoming MacOS support.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Behind-the-Scenes"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tgRt7ymI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s3.amazonaws.com/uno-website-assets/wp-content/uploads/2020/03/11111329/ch9-jerome-unoplatform.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Part-1"&gt;Uno Platform Part 1&lt;/a&gt; episode, Robert is joined by &lt;a href="https://twitter.com/mzikmunddev?lang=en"&gt;Martin Zikmund&lt;/a&gt;, one of the key community contributors to Uno Platform who introduces us to the Uno Platform. Martin shows how you can take a UWP / WinUI app and compile it to run not only on Windows 10, but also on mobile devices and the Web with Uno Platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Part-1"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AZpwH5OI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s3.amazonaws.com/uno-website-assets/wp-content/uploads/2020/03/11111622/uno-channel9-part1.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Part-2"&gt;Uno Platform Part 2 episode&lt;/a&gt;, Robert is again joined by &lt;a href="https://twitter.com/mzikmunddev"&gt;Martin Zikmund&lt;/a&gt;, who continues exploring the Uno Platform. Last week, Martin introduced us to Uno. This week, he shows a number of interesting demos, including Uno Calculator, which is based on the open sourced Windows 10 Calculator, and Hot Reload working in the browser! Also, he shows how you can use 3&lt;sup&gt;rd&lt;/sup&gt; party controls from Syncfusion to add Charts to your Uno apps.  He also explains more about what is going on under the covers when you run an app built with Uno.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Uno-Platform-Part-2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ToHV8f4D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s3.amazonaws.com/uno-website-assets/wp-content/uploads/2020/03/11111828/uno-channel9-part2.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are new to the Uno Platform, you may want to run through the &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html"&gt;Getting Started tutorial&lt;/a&gt;. This will ensure you have the correct environment set up and that you have the latest release of Uno.  Of course, we will be blogging more about AOT, Uno Platform and .NET / Visual Studio – so please stay tuned to our blogs and subscribe to &lt;a href="https://feeds.feedburner.com/UnoPlatform-blog"&gt;Uno Platform blog RSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/uno-platform-on-channel-9-visual-studio-toolbox-3-episodes/"&gt;Uno Platform on Channel 9 Visual Studio Toolbox – 3 episodes&lt;/a&gt; appeared first on &lt;a href="https://platform.uno"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>underthehood</category>
      <category>webassembly</category>
      <category>android</category>
    </item>
    <item>
      <title>Build .NET AOT for WebAssembly in Visual Studio with Uno Platform</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Thu, 06 Feb 2020 16:55:44 +0000</pubDate>
      <link>https://dev.to/unoplatform/build-net-aot-for-webassembly-in-visual-studio-with-uno-platform-33</link>
      <guid>https://dev.to/unoplatform/build-net-aot-for-webassembly-in-visual-studio-with-uno-platform-33</guid>
      <description>&lt;p&gt;It’s been a long-time request: Build Uno Platform WebAssembly apps in Visual Studio on Windows using Ahead of Time (AOT) compilation.&lt;/p&gt;

&lt;p&gt;Good news, it’s now available in preview in Uno dev branch! The &lt;a href="https://www.nuget.org/packages/Uno.Wasm.Bootstrap" rel="noopener noreferrer"&gt;Uno.Wasm.Bootstrap&lt;/a&gt; package 1.1-dev.416 package now provides the ability to create AOT, Mixed (AOT+Interpreter) and Interpreter (with Bitcode dependencies) builds on Windows 10, without leaving Visual Studio 2019. To our knowledge, Uno is the first one to provide this kind of functionality. If we are not – please let us know in the comments below; maybe we missed something.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvh901c0ww98sc7ef0gky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvh901c0ww98sc7ef0gky.png" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This new Uno feature makes transparent use of the &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="noopener noreferrer"&gt;Windows Subsystem for Linux (WSL)&lt;/a&gt; to create the final binaries. You’ll only need to setup your WSL environment once &lt;a href="https://github.com/unoplatform/Uno.Wasm.Bootstrap/blob/master/src/Uno.Wasm.Bootstrap/build/scripts/dotnet-setup.sh" rel="noopener noreferrer"&gt;using a simple script&lt;/a&gt;, and don’t worry if you forget to set it up, the bootstrapper will explain what to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Start – Uno, Visual Studio, WASM, AOT
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Make sure &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" rel="noopener noreferrer"&gt;WSL with Ubuntu 18.04&lt;/a&gt; is installed&lt;/li&gt;
&lt;li&gt;Install the latest &lt;a href="https://marketplace.visualstudio.com/items?itemName=nventivecorp.uno-platform-addin" rel="noopener noreferrer"&gt;Uno Visual Studio templates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create a new Uno Cross Platform app project&lt;/li&gt;
&lt;li&gt;Update the &lt;strong&gt;&lt;a href="https://www.nuget.org/packages/Uno.Wasm.Bootstrap" rel="noopener noreferrer"&gt;Uno.Wasm.Bootstrap&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://www.nuget.org/packages/Uno.Wasm.Bootstrap.Cli" rel="noopener noreferrer"&gt;Uno.Wasm.Bootstrap.Cli&lt;/a&gt;&lt;/strong&gt; nuget packages to &lt;strong&gt;1.1-dev.416&lt;/strong&gt; or later, using the Nuget Package manager (There’s no need to update other packages)&lt;/li&gt;
&lt;li&gt;In the Wasm project, add the following line in the first &lt;strong&gt;PropertyGroup&lt;/strong&gt; :
```
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;InterpreterAndAOT&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;6. Build once, you’ll get a message with a bash command to execute. (This [script](https://github.com/unoplatform/Uno.Wasm.Bootstrap/blob/master/src/Uno.Wasm.Bootstrap/build/scripts/dotnet-setup.sh), for reference).
7. Open a **Windows Command line** or **PowerShell** and paste the command there. It may take a few minutes as it installs Mono and .NET Core
8. Build again. At this step, the build will install the required Emscripten version in the “obj” folder of your application. This may also take a few more minutes.
9. Run the application without the debugger and you’ll get an AOT enabled build of your app





# Two important notes on using AOT compilation:

- Generating an AOT app always takes some time, which is why this is not enabled by default. You may need to enable is like this:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;InterpreterAndAOT&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
This will enable AOT for release builds only and use the interpreter otherwise.

- You may adjust the AOT process by balancing the use of the interpreter and AOT compiled code by using the [MonoRuntimeMixModeExcludedAssembly](https://github.com/unoplatform/Uno.Wasm.Bootstrap#mixed-aotinterpreter-mode) Build time, package size , and runtime performance can be tuned balanced by adding or removing assemblies for the AOT generation.

## More Technical Details



The dynamic linking feature (referencing a “.wasm” file, through P/Invoke in mono) was intended to be used for development purposes on Windows only as it gives decent build times.

This requirement is caused by the inability of the mono-wasm SDK to run on natively on Windows to do static linking (referencing an LLVM “.bc” bitcode file). This prevented developers using Visual Studio on Windows to build applications that make use of either AOT or that reference those libraries.

The deciding factor for enabling Windows support is the inability to use dynamic linking (the ability to reference “.wasm” files, through P/Invoke in mono) properly since the LLVM backend has been enabled in emscripten (1.39.1 and later). A chain of issues has made this process fragile and very difficult to work with. This also prevented the use of libraries such as libSkia or SQLite.

Windows 10 provides support for WSL, and [a while back we provided some steps](https://platform.uno/blog/how-to-build-webassembly-c-apps-with-the-mono-aot-and-windows-subsystem-for-linux/) to build using AOT, but it still was an out of band manual process. Now with the updated bootstrapper, this process is transparent, given that you’ve setup your environment with the [provided scripts](https://github.com/unoplatform/Uno.Wasm.Bootstrap/blob/master/src/Uno.Wasm.Bootstrap/build/scripts/dotnet-setup.sh).

This update also gives the ability to add some additional emscripten parameters, such as enabling back IDFBS which was disabled by the mono for some default size constraints. It also adds the ability to include other native libraries that may be referenced by external code, such as libtpng or libfreetype.

You can head over to the [documentation for additional information](https://github.com/unoplatform/Uno.Wasm.Bootstrap#static-linking).



# **In Closing**

Features above are available in Uno ‘dev’ branch, which will eventually be merged into the ‘master’ branch. It is meant to those of you who are very eager to get started with it.

If you are new to the Uno Platform, you may want to run through the [Getting Started tutorial](https://platform.uno/docs/articles/getting-started-tutorial-1.html). This will ensure you have the correct environment set up and that you have the latest release of Uno.  Of course, we will be blogging more about AOT, Uno Platform and .NET / Visual Studio – so please stay tuned to our blogs and subscribe to [Uno Platform blog RSS](https://feeds.feedburner.com/UnoPlatform-blog)





The post [Build .NET AOT for WebAssembly in Visual Studio with Uno Platform](https://platform.uno/blog/build-net-aot-for-webassembly-in-visual-studio-with-uno-platform/) appeared first on [Uno Platform](https://platform.uno).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>news</category>
      <category>webassembly</category>
    </item>
    <item>
      <title>Surface Duo – WinUI TwoPaneView implementation via Uno Platform</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Mon, 03 Feb 2020 16:24:18 +0000</pubDate>
      <link>https://dev.to/unoplatform/surface-duo-winui-twopaneview-implementation-via-uno-platform-ie8</link>
      <guid>https://dev.to/unoplatform/surface-duo-winui-twopaneview-implementation-via-uno-platform-ie8</guid>
      <description>&lt;p&gt;With the release of the preview SDK and emulator for the Surface Duo, it is now possible to experiment with the support for dual screen devices. &lt;/p&gt;

&lt;p&gt;Uno Platform is in the position to be able to use the controls from WinUI (Our #WinUIEverywhere vision), and Microsoft is making development in the open for such devices in the form of the &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/two-pane-view" rel="noopener noreferrer"&gt;TwoPaneView control&lt;/a&gt; which allows us to experiment with it early and often.  &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;What is TwoPaneView Control&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;The WinUI TwoPaneView is a Windows 10 specific control provides the ability to layout content in two panes and behaves like a dual ContentControl, based on a set of parameters such as Pane length, tall and wide configuration modes and pane priorities to display content based on the available window space. It can be useful when dealing with orientation changes, in windowed modes, or snap/split screen scenarios. &lt;/p&gt;

&lt;p&gt;This control had been available for a while in the Windows Community toolkit and has since been transferred over to WinUI. It is now being augmented to benefit from the multi-screen cues from the hardware with the hinge position when the application is spanning on multiple screens. &lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;TwoPaneView Control, Uno Platform and Surface Duo&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;In cross platform scenario, the ability to react to real estate changes is increasingly important, as more two screened and foldable devices are appearing, and the TwoPaneView can address some of the responsive aspects of the UI. &lt;/p&gt;

&lt;p&gt;In the same way we’ve been working recently, by porting the C++ controls of WinUI to C#, the inclusion of the TwoPaneView control in Uno is straightforward.  &lt;/p&gt;

&lt;p&gt;One aspect of that control is its reliance on an upcoming Windows API named ApplicationView.GetSpanningRects(). This API provides the available screen rectangles inside the overall screen (in blue below), removing the parts of the screen occluded by the device’s hinge. The Android SDK, on the contrary, contains an API that provides the occluded parts of the screen (in orange below). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fex3nykv9mf8pq9yj3u5d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fex3nykv9mf8pq9yj3u5d.png" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uno is translating the hinge occlusion area into available areas in the implementation of GetSpanningRects().  An interesting piece of the Android API is that it provides screen-relative occlusion rectangles, whereas the GetSpanningRects() needs to be app-window-relative. This needs to be considered in “Tall” mode where the Android status (in green below) bar can be opaque or translucent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklbp9lpud8k533zz3sea.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklbp9lpud8k533zz3sea.png" width="800" height="1217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here they are, side by side: Windows 10 and Surface Duo emulator, using the test UI Microsoft uses when developing WinUI:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F31141559%2FTwoPane-Surface-Duo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F31141559%2FTwoPane-Surface-Duo.png" width="800" height="623"&gt;&lt;/a&gt; &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F31145801%2FTwoPaneView-desktop.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F31145801%2FTwoPaneView-desktop.png" width="800" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The TwoPaneView will be available as part of the next stable release of the Uno Platform, and the support for the Surface Duo Device will be enabled automatically when adding the Uno.UI.DualScreen nuget package. As this control evolves as part of WinUI as well as in Uno, your Uno-built apps today will be compatible with both Surface Neo and Duo devices when those will arrive on the market. To follow Uno’s development you should &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;‘star’ it on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;In Closing&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;If you are new to the Uno Platform, you may want to run through the &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;Getting Started tutorial&lt;/a&gt;. This will ensure you have the correct environment set up and that you have the latest release of Uno. If you have already worked with Uno, you may want to update your Uno package via your Visual Studio NuGet package manager.&lt;/p&gt;

&lt;p&gt;Also, note that we have run the control on Windows 10 which is not to be confused with Windows 10X the future Surface Neo operating system. The idea of this blog is to show Uno’s cross-platform capabilities, on our quest for putting #WinUIEverywhere. Of course, as soon as emulators for Windows 10X are available we will be testing it – so stay tuned to our blogs and subscribe to &lt;a href="https://feeds.feedburner.com/UnoPlatform-blog" rel="noopener noreferrer"&gt;Uno Platform blog RSS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jerome Laban, CTO – Uno Platform &amp;amp; Microsoft MVP&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blog/surface-duo-winui-twopaneview-implementation-via-uno-platform/" rel="noopener noreferrer"&gt;Surface Duo – WinUI TwoPaneView implementation via Uno Platform&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>surface</category>
    </item>
    <item>
      <title>Hot Restart available in Uno Platform</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Fri, 24 Jan 2020 16:30:59 +0000</pubDate>
      <link>https://dev.to/unoplatform/hot-restart-available-in-uno-platform-p30</link>
      <guid>https://dev.to/unoplatform/hot-restart-available-in-uno-platform-p30</guid>
      <description>&lt;p&gt;With the release of Visual Studio 16.5 Preview 2, &lt;a href="https://devblogs.microsoft.com/xamarin/visual-studio-2019-version-16-5-preview-2/" rel="noopener noreferrer"&gt;Microsoft and the Xamarin.iOS team released a preview of the Hot Restart feature.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This provides a way for Xamarin developers to create and debug Xamarin.iOS applications using a physical device using only a Windows machine, where a mac used to be required. This make the developer loop a lot shorter when deploying on a device.&lt;/p&gt;

&lt;p&gt;As a reminder, Uno Platform relies on Xamarin ‘classic’ (&lt;a href="https://platform.uno/how-it-works/" rel="noopener noreferrer"&gt;see architecture diagram&lt;/a&gt; and how Uno works) to deliver your UWP/WinUI apps to mobile – iOS and Android. Therefore, any advancement in Xamarin.Android or Xamarin.iOS can be easily inherited by Uno as well.&lt;/p&gt;

&lt;p&gt;With some simple modifications, it’s possible to develop an Uno Platform app on iOS, using both Xamarin.iOS hot restart &lt;strong&gt;and&lt;/strong&gt; Uno Platform XAML Hot Reload &lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To use this feature in your app, all you’ll need is to modify your main.cs file in the iOS project head to look like the following:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

public class Application{ // This is the main entry point of the application.  static void Main(string[] args)  {  // if you want to use a different Application Delegate class from "AppDelegate"  // you can specify it here.  UIApplication.Main(args, null, typeof(App));  } }  #if DEBUG public class HotRestartDelegate : Xamarin.Forms.Platform.iOS.FormsApplicationDelegate {  public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions)  {  Windows.UI.Xaml.Application.Start(\_ =&amp;gt; new App());  return base.FinishedLaunching(uiApplication, launchOptions);  } } #endif


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You’ll also need to install the &lt;a href="https://www.nuget.org/packages/Xamarin.Forms" rel="noopener noreferrer"&gt;Xamarin.Forms nuget package&lt;/a&gt; for the added class to run properly. Head to the &lt;a href="https://aka.ms/hotrestart-doc" rel="noopener noreferrer"&gt;Microsoft docs on Xamarin Hot Restart&lt;/a&gt; to get started!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In Closing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are new to the Uno Platform, you may want to run through the &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;Getting Started tutorial&lt;/a&gt;. This will ensure you have the correct environment set up and that you have the latest release of Uno. If you have already worked with Uno, you may want to update your Uno package via your Visual Studio NuGet package manager.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/hot-restart-available-in-uno-platform/" rel="noopener noreferrer"&gt;Hot Restart available in Uno Platform&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>xamarin</category>
    </item>
    <item>
      <title>Blazor Mobile, Uno Platform, and WebAssembly – piling up the tech</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Thu, 16 Jan 2020 18:58:36 +0000</pubDate>
      <link>https://dev.to/unoplatform/blazor-mobile-uno-platform-and-webassembly-piling-up-the-tech-2l2d</link>
      <guid>https://dev.to/unoplatform/blazor-mobile-uno-platform-and-webassembly-piling-up-the-tech-2l2d</guid>
      <description>&lt;p&gt;On Tuesday, the ever-impressive Blazor team &lt;a href="https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/" rel="noopener noreferrer"&gt;announced a new experimental project&lt;/a&gt;: Mobile Bindings that allow developers to write Blazor-style syntax that produces &lt;a href="https://dotnet.microsoft.com/apps/xamarin/xamarin-forms" rel="noopener noreferrer"&gt;Xamarin.Forms&lt;/a&gt; UI controls instead of HTML elements, therefore producing native iOS and Android applications.  &lt;/p&gt;

&lt;p&gt;When we at the Uno Platform noticed that they were using Xamarin.Forms, we immediately saw a fun means to validate and stress-test our &lt;a href="https://platform.uno/xamarin-forms/" rel="noopener noreferrer"&gt;Xamarin.Forms renderers for WebAssembly&lt;/a&gt;, in order to bring Blazor Native to WebAssembly. Also, a few of you asked about it on Twitter, so we gave it a shot.  &lt;/p&gt;

&lt;p&gt;Introducing the Blazor-Xamarin.Forms-UWP-Uno-WebAssembly &lt;em&gt;uber-stack&lt;/em&gt;! In less than 24hrs we were able to port the &lt;a href="https://todo-blazornative-wasm.platform.uno/" rel="noopener noreferrer"&gt;ToDo App to WebAssembly&lt;/a&gt;: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16103359%2FTo-do-tasklist-wasm-1024x550.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16103359%2FTo-do-tasklist-wasm-1024x550.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Blazor to Xamarin.Forms
&lt;/h1&gt;

&lt;p&gt;This is the part that the Blazor team announced on Tuesday. Essentially taking a UI defined in Razor syntax (a mix of markup and C# code), processing it, and converting it into a tree of Xamarin.Forms controls. &lt;/p&gt;

&lt;h1&gt;
  
  
  2. Xamarin.Forms to UWP
&lt;/h1&gt;

&lt;p&gt;Although the Blazor team’s announcement highlighted the ability to produce mobile apps for iOS and Android, Xamarin.Forms also supports Windows as a compilation target, using the &lt;a href="https://docs.microsoft.com/en-us/windows/uwp/get-started/create-uwp-apps" rel="noopener noreferrer"&gt;UWP framework&lt;/a&gt;. The Blazor X.Forms Bindings work perfectly well with UWP. &lt;/p&gt;

&lt;p&gt;In this step, Xamarin.Forms converts its visual tree to a tree of UWP view elements. &lt;/p&gt;

&lt;h1&gt;
  
  
  3. UWP (or WinUI) to Uno Platform
&lt;/h1&gt;

&lt;p&gt;Here’s where Uno comes in. The Uno Platform allows you to build apps for iOS, Android, and the web using C# and XAML. It’s 100% compatible with UWP/WinUI. Uno’s Xamarin.Forms renderers for WebAssembly allows Xamarin.Forms apps to run in the browser, without any changes. &lt;/p&gt;

&lt;h1&gt;
  
  
  4. Uno to WebAssembly
&lt;/h1&gt;

&lt;p&gt;In the last step, Uno takes the visual tree and produces native HTML, running natively in the browser using &lt;a href="https://www.mono-project.com/" rel="noopener noreferrer"&gt;Mono&lt;/a&gt;’s runtime for &lt;a href="https://webassembly.org/" rel="noopener noreferrer"&gt;WebAssembly&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16113307%2FTechStack-mobile-bindings-and-Uno-1024x871.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16113307%2FTechStack-mobile-bindings-and-Uno-1024x871.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  See it in action
&lt;/h1&gt;

&lt;p&gt;To test whether this would work, we used the &lt;a href="https://docs.microsoft.com/en-us/mobile-blazor-bindings/walkthroughs/todo-app" rel="noopener noreferrer"&gt;TodoApp sample&lt;/a&gt; released along with the Blazor Mobile Bindings announcement.  &lt;strong&gt;Check&lt;/strong&gt;**  out the *&lt;em&gt;**fully-functioning web version &lt;a href="https://todo-blazornative-wasm.platform.uno/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/em&gt;*. All the code we used is &lt;a href="https://github.com/unoplatform/uno.blazor.native.todoapp" rel="noopener noreferrer"&gt;up on GitHub&lt;/a&gt; – download it and run it in Visual Studio at your leisure! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16103359%2FTo-do-tasklist-wasm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16103359%2FTo-do-tasklist-wasm.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our version is using the exact same Razor components as the original sample, and as you can see it looks very like the Android/iOS version published on &lt;a href="https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/" rel="noopener noreferrer"&gt;ASP.NET Blogs for mobile blazor bindings&lt;/a&gt;. There you have it side by side – Blazor mobile bindings running in browser with help from Uno and WebAssembly&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16095801%2Fblazor-android-counter-2-1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16095801%2Fblazor-android-counter-2-1.gif"&gt;&lt;/a&gt; &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16133622%2FTodo-Counter-Blazor-Uno.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs3.amazonaws.com%2Funo-website-assets%2Fwp-content%2Fuploads%2F2020%2F01%2F16133622%2FTodo-Counter-Blazor-Uno.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Public service announcement
&lt;/h1&gt;

&lt;p&gt;Let’s make one thing clear.  &lt;strong&gt;We’re not advising you to run out and use this in production&lt;/strong&gt;  – after all if you like Blazor syntax and you’re targeting the web, the original Blazor has you covered.  &lt;/p&gt;

&lt;p&gt;Our motivation was to put our Xamarin.Forms renderer for WebAssembly work to the test, and as far as we are concerned, Uno passed it with flying colors. It just works. We were able to stack all this technology, and reuse the code from the showcased ToDo app in less than a few hours after Mobile Blazor Bindings were announced at the ‘.NET Conf – Focus on Blazor’ virtual conference. We believe this showcases Uno’s versatility and extensibility too.  &lt;/p&gt;

&lt;h1&gt;
  
  
  In Closing
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;We’re serious about this part&lt;/strong&gt; : if you’re already a Xamarin.Forms developer, and running your existing app on the web without having to rewrite the UI is something that interests you, go ahead and &lt;a href="https://platform.uno/xamarin-forms/" rel="noopener noreferrer"&gt;try out Uno’s Xamarin.Forms renderers for WebAssembly&lt;/a&gt; – adding WebAssembly support to an existing project is as easy as ‘dotnet new wasmxfhead’. Or if you’d like to ask any questions and chat about this tech mash-up – &lt;a href="https://platform.uno/contact/" rel="noopener noreferrer"&gt;contact us&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/blazor-mobile-uno-platform-and-webassembly-piling-up-the-tech/" rel="noopener noreferrer"&gt;Blazor Mobile, Uno Platform, and WebAssembly – piling up the tech&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>underthehood</category>
    </item>
    <item>
      <title>Uno Platform 2.0 RELOADED – General Availability, Hot Reload and more!</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Thu, 02 Jan 2020 18:06:48 +0000</pubDate>
      <link>https://dev.to/unoplatform/uno-platform-2-0-reloaded-general-availability-hot-reload-and-more-242f</link>
      <guid>https://dev.to/unoplatform/uno-platform-2-0-reloaded-general-availability-hot-reload-and-more-242f</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fex5byc61a94734rzdndy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fex5byc61a94734rzdndy.jpg" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In September 2019 at our inaugural UnoConf, we had released the preview of Uno Platform 2.0.  Today we are announcing general availability of Uno Platform 2.0 which includes not only the features announced at UnoConf, but also many others.&lt;/p&gt;

&lt;p&gt;One of the 2.0 release highlights is the fully functional &lt;strong&gt;XAML Hot Reload which works across Web (via WebAssembly), Android and iOS.&lt;/strong&gt; Maybe best of all, you can do it &lt;strong&gt;ALL AT ONCE&lt;/strong&gt; across all those platforms.&lt;/p&gt;

&lt;p&gt;This first blog post in Uno Platform 2.0 &lt;em&gt;Reloaded&lt;/em&gt; series will give a lot of detail about XAML Hot Reload as well as the rest of the release. In addition, over the next few days we will drip-feed dedicated blogs for a few other release highlights. That said, if you’d like to jump to the bulleted list of all new features, bug fixes and known issues, you can see it at &lt;a href="https://github.com/unoplatform/uno/releases" rel="noopener noreferrer"&gt;our GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We are very proud of 2.0 release. &lt;strong&gt;Not only are we releasing a handful of major improvements, but we have also introduced over 70 smaller functionality improvements and we have closed over 80 bugs reported by community.&lt;/strong&gt; Most importantly, over the past few months we saw massive contributions by the community, especially during Hacktoberfest. As of today we are humbled to have a very active contributor community of &lt;strong&gt;over 130 contributors&lt;/strong&gt;! THANK YOU ALL for helping us make #WinUIEverywhere.&lt;/p&gt;

&lt;p&gt;With that said, let’s look at what is in the release and also spend a lot more time on XAML Hot Reload.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is XAML Hot Reload Anyway?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simply put, XAML Hot Reload with Uno Platform and Visual Studio gives you the ability to design your app’s UI while the app is running, without the need to re-build your project. Here it is in action. For this example, we are using Uno Platform sample app UADO (Universal Azure DevOps Organizer). Note the simultaneous UI changes on both the web client as well as the native application running on iOS (/Android).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does it Work Behind the Scenes?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The architecture of the Uno XAML Hot Reload is built on two parts: The RC Server side (Remote Control Server), and the RC Client side (Remote Control Client).&lt;/p&gt;

&lt;p&gt;The developer side is .NET Core app that sits in between Visual Studio (or VS Code in the future) and the application.&lt;/p&gt;

&lt;p&gt;The app side is a WebSockets client which connects back to the RC server, after having been provided with the addresses of the server through the Visual Studio addin. The choice of WebSockets is communication channel that works on iOS, Android and WebAssembly without restrictions, particularly around CORS and browsers.&lt;/p&gt;

&lt;p&gt;Once the application has started, and the connection to the RC server has been established, every modification made one of the XAML files that the app uses, the new content is sent back the app. Every location where that file is being loaded in the app is being replaced by a new instance of that new XAML, showing you the new content. This means that reloading a UserControl does not reload the whole page that contains that control, make it the whole process faster!&lt;/p&gt;

&lt;p&gt;There are some limitations to the current implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The code of a Page or UserControl constructor is not executed on reload&lt;/li&gt;
&lt;li&gt;Events in code-behind are not reassigned&lt;/li&gt;
&lt;li&gt;Standalone ResourceDictionary files cannot be updated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code modifications are not reloaded, only XAML files are.&lt;/p&gt;

&lt;p&gt;A more comprehensive list of known issues and limitations &lt;a href="https://platform.uno/docs/articles/features/working-with-xaml-hot-reload.html#known-issues" rel="noopener noreferrer"&gt;&lt;strong&gt;can be found here&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you are new to the Uno Platform, you may want to run through the &lt;a href="https://platform.uno/docs/articles/getting-started-tutorial-1.html" rel="noopener noreferrer"&gt;Getting Started tutorial.&lt;/a&gt; This will ensure you have the correct environment set up and that you have the latest release of Uno. If you have already worked with Uno, you may want to update your Uno package via your Visual Studio NuGet package manager.&lt;/p&gt;

&lt;p&gt;If you’d like to try Hot Reload yourself, but with a smaller app you can try our QuickStart app. Try these simple steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Import Uno QuickStart solution from our repo – &lt;a href="https://github.com/unoplatform/Uno.QuickStart" rel="noopener noreferrer"&gt;https://github.com/unoplatform/Uno.QuickStart&lt;/a&gt; and verify it runs on your machine&lt;/li&gt;
&lt;li&gt;Build and run the WebAssembly app without the debugger. Keep it running.&lt;/li&gt;
&lt;li&gt;Build and run the iOS app without the debugger. Keep it running.&lt;/li&gt;
&lt;li&gt;Steps to make changes

&lt;ol&gt;
&lt;li&gt;Go to file MainPage.xaml and change the Text attribute content&lt;/li&gt;
&lt;li&gt;Save the file&lt;/li&gt;
&lt;li&gt;Observe that both iOS and WebAssembly got updated&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;If you need more information please consult &lt;a href="https://platform.uno/docs/articles/features/working-with-xaml-hot-reload.html" rel="noopener noreferrer"&gt;XAML Hot Reload docs&lt;/a&gt;, including the list of known issues. Stay tuned for more blog posts in Uno Platform 2.0 Reloaded series.&lt;/p&gt;

&lt;p&gt;Jerome Laban, on behalf of of complete Uno Platform team&lt;/p&gt;

&lt;p&gt;CTO, Uno Platform. Microsoft MVP. &lt;a href="https://twitter.com/jlaban" rel="noopener noreferrer"&gt;https://twitter.com/jlaban&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/uno-platform-2-0-reloaded-general-availability-hot-reload-and-more/" rel="noopener noreferrer"&gt;Uno Platform 2.0 RELOADED – General Availability, Hot Reload and more!&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>android</category>
      <category>csharp</category>
      <category>ios</category>
    </item>
    <item>
      <title>Cybertruck in XAML and running Cross-Platform with WebAssembly</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Tue, 03 Dec 2019 15:41:16 +0000</pubDate>
      <link>https://dev.to/uno-platform/cybertruck-in-xaml-and-running-cross-platform-with-webassembly-4f88</link>
      <guid>https://dev.to/uno-platform/cybertruck-in-xaml-and-running-cross-platform-with-webassembly-4f88</guid>
      <description>&lt;p&gt;It simply had to be done – Cybertruck in XAML. See for yourself, and further customize the Cybertruck if you’d like,  in our &lt;a href="https://cybertruck.platform.uno/" rel="noopener noreferrer"&gt;WebAssembly implementation of Cybertruck.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6om9oe9ix0qs9ezjorb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6om9oe9ix0qs9ezjorb.png" alt="Cybertruck XAML" width="800" height="208"&gt;&lt;/a&gt;Cybertruck XAML&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.uno/cybertruck-in-xaml-and-running-cross-platform-with-webassembly/" rel="noopener noreferrer"&gt;Go ahead, have a swing at its windows with your mouse!&lt;/a&gt; Shout out goes to Lynn Fisher whose &lt;a href="https://twitter.com/lynnandtonic/status/1197989912970067969?s=20" rel="noopener noreferrer"&gt;tweet&lt;/a&gt; inspired us to recreate Cybertruck in XAML. Of course we had to add a lil’ Uno logo there on the door.&lt;/p&gt;

&lt;p&gt;What is Uno Platform Anyway?  &lt;/p&gt;

&lt;p&gt;Before getting into the details of Cybertruck in XAML. The &lt;a href="http://www.platform.uno/" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt; enables C# and XAML based code to run on iOS, Android, and WebAssembly. To avoid having to learn the UI-layout techniques and approaches for each platform, the Uno Platform mimics the Windows XAML approach of defining UI and layouts. The Uno Platform does this by providing full API definitions of the Universal Windows Platform and implementations of parts of the API – such as Windows.UI.XAML. Uno Platform is Open Source (Apache 2.0) and &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;. As fans of XAML, and Tesla, it made sense we have some fun with Cybertruck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did we do it&lt;/strong&gt;&lt;strong&gt;?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Everything was done in XAML and we mainly used simple controls for the entire content (Grid, Border, Path and a ViewBox to be able to resize the content for all aspect ratios).&lt;br&gt;&lt;br&gt;
For the colors, we used solid ones or LinearGradientBrushes (Horizontal, Vertical or Diagonal).&lt;br&gt;&lt;br&gt;
In terms of animations, we simply used DoubleAnimations, changing the Opacity for the lights or using aRotateTransform for the wheels.&lt;/p&gt;

&lt;p&gt;We created every part of the car using vector graphics software in order to create an SVG file, you can use your favorite software package for that part (eg Inkscape, Adobe Illustrator, PaintShop Pro, …).&lt;br&gt;&lt;br&gt;
You will then be able to extract the needed data in the generated SVG file, and use them in the different Path controls inside the content. &lt;/p&gt;

&lt;p&gt;How can you customize it?&lt;/p&gt;

&lt;p&gt;Having the CyberTruck in action running WebAssembly is pretty cool, but be able to customize it is also fun – &lt;a href="https://playground.platform.uno/#cybertruck" rel="noopener noreferrer"&gt;https://playground.platform.uno/#cybertruck&lt;/a&gt;.   &lt;/p&gt;

&lt;p&gt;It’s really easy to play around and change the values, here are two examples:&lt;/p&gt;

&lt;p&gt;For example, change the CyberTruck color.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

BEFORE
&amp;lt;!--MAIN BODY --&amp;gt; &amp;lt;Path Data="M 457.97791,2.8127639 227.25276,82.520113 822.32143,42.553571 Z"&amp;gt; &amp;lt;Path.Fill&amp;gt; &amp;lt;LinearGradientBrush StartPoint="0,0" EndPoint="1,1"&amp;gt; &amp;lt;GradientStop Color="#FFA7A7A7" Offset="0.0" /&amp;gt; &amp;lt;GradientStop Color="#FFDDDDDD" Offset="0.8" /&amp;gt; &amp;lt;GradientStop Color="#FFA7A7A7" Offset="1.0" /&amp;gt; &amp;lt;/LinearGradientBrush&amp;gt; &amp;lt;/Path.Fill&amp;gt;&amp;lt;/Path&amp;gt; 

AFTER
&amp;lt;!--MAIN BODY --&amp;gt; &amp;lt;Path Data="M 457.97791,2.8127639 227.25276,82.520113 822.32143,42.553571 Z"       **Fill**** =" ****DeepSkyBlue****"** /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dndd3usjla856hc2sn0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dndd3usjla856hc2sn0.png" alt="Cybertruck Blue XAML" width="800" height="267"&gt;&lt;/a&gt;Cybertruck Blue XAML&lt;/p&gt;

&lt;p&gt;Or, to make the wheels spin in different direction.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

BEFORE
&amp;lt;DoubleAnimation From="0" To="-360" Duration="0:0:0.5" RepeatBehavior="Forever" Storyboard.TargetName="TeslaLeftWheel" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" /&amp;gt;

AFTER 
&amp;lt;DoubleAnimation From="0"** To="360"** Duration="0:0:0.5" RepeatBehavior="Forever" Storyboard.TargetName="TeslaLeftWheel" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" /&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Cybertruck on iOS, Android and Windows&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’d like to see Cybertruck run cross-platform or iOS, Android and Deslkop too, the code is available for you t&lt;a href="https://github.com/unoplatform/cybertruck" rel="noopener noreferrer"&gt;o compile from Cybertruck – Uno Platform GitHub&lt;/a&gt;.  Here are a few emulator screen captures. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3pmkwxzjs7tuou6hgos.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3pmkwxzjs7tuou6hgos.gif" alt="Cybertruck iOS Cross Platform" width="800" height="420"&gt;&lt;/a&gt;Cybertruck iOS Cross Platform&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvj6vlgxp36ps064y6ogl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvj6vlgxp36ps064y6ogl.gif" alt="Cybertruck Android Tablet Cross Platform" width="800" height="516"&gt;&lt;/a&gt;Cybertruck Android Tablet Cross Platform&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3u7t7vld6ygst0q0n0f.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3u7t7vld6ygst0q0n0f.gif" alt="Cybertruck UWP / WinUI" width="800" height="459"&gt;&lt;/a&gt;Cybertruck UWP / WinUI&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;If you want to keep improving this XAML mock–up of the CyberTruck, the code is available at &lt;a href="https://github.com/unoplatform/cybertruck" rel="noopener noreferrer"&gt;Uno Platform GitHub&lt;/a&gt; and we will happily accept contributions.  &lt;/p&gt;

&lt;p&gt;We’d of course appreciate if you give Uno Platform a try. We have a complete step-by-step tutorial available on GitHub. Or, if you’d prefer something more comprehensive, a &lt;a href="https://github.com/unoplatform/workshops" rel="noopener noreferrer"&gt;full day workshop is also on GitHub&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/cybertruck-in-xaml-and-running-cross-platform-with-webassembly/" rel="noopener noreferrer"&gt;Cybertruck in XAML and running Cross-Platform with WebAssembly&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
    </item>
    <item>
      <title>Uno Community Events are Booming this November-December</title>
      <dc:creator>Uno Platform</dc:creator>
      <pubDate>Wed, 06 Nov 2019 19:41:47 +0000</pubDate>
      <link>https://dev.to/uno-platform/uno-community-events-are-booming-this-november-december-3800</link>
      <guid>https://dev.to/uno-platform/uno-community-events-are-booming-this-november-december-3800</guid>
      <description>&lt;p&gt;The Uno Platform community has been creating quite a buzz as of late. With Microsoft’s recent &lt;a href="https://twitter.com/windowsdev/status/1191695227259478016" rel="noopener noreferrer"&gt;shout out to Uno&lt;/a&gt; and a slew of community events popping up in November and December, Uno Platform is making headlines and introducing user groups to the platform one announcement at a time.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Things that keep us going. Uno community events in November:&lt;br&gt;&lt;br&gt;
– London 🇬🇧&lt;br&gt;&lt;br&gt;
– Orlando 🇺🇸&lt;br&gt;&lt;br&gt;
– Boston 🇺🇸&lt;br&gt;&lt;br&gt;
– Westerville 🇺🇸&lt;br&gt;&lt;br&gt;
– Scottsdale 🇺🇸&lt;br&gt;&lt;br&gt;
– Laval 🇨🇦&lt;br&gt;&lt;br&gt;
– Madrid 🇪🇸&lt;br&gt;&lt;br&gt;
– Malaga 🇪🇸&lt;br&gt;&lt;br&gt;
– Noida 🇮🇳&lt;/p&gt;

&lt;p&gt;THANK YOU.&lt;a href="https://twitter.com/hashtag/WinUIEverywhere?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#WinUIEverywhere&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;— Uno Platform #msignite (&lt;a class="mentioned-user" href="https://dev.to/unoplatform"&gt;@unoplatform&lt;/a&gt;) &lt;a href="https://twitter.com/UnoPlatform/status/1191925690695913473?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;November 6, 2019&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;If you are interested in learning about Uno Platform, check out the events listed below to find one closest to you!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FEHeAdo1WkAAKsny%3Fformat%3Djpg%26name%3D4096x4096" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FEHeAdo1WkAAKsny%3Fformat%3Djpg%26name%3D4096x4096" alt="Image" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;London, GB, UK&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Matt Lacey and Jay Kannan&lt;br&gt;&lt;br&gt;
Description: Discussing Xamarin/.NET development with an introduction to the Uno Platform!&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Wednesday, December 4 – 6:00 pm, 7:30 pm respectively&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/iOS_Arj/status/1186558280421822464/photo/1" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Orlando, FL, USA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Jerome Laban, CTO of Uno Platform&lt;br&gt;&lt;br&gt;
Description: Developing cross-platform apps for Windows, iOS, Android and WebAssembly can be a complex process, especially when it comes to the user interface. Each platform has its own ways of defining dynamic layouts, with some being more efficient, some more verbose, some more elegant, and some more performant than others.&lt;br&gt;&lt;br&gt;
Luckily, the open-source Uno Platform removes many complexities and enables developers to reuse their existing XAML and C# skills, resulting in a gain of overall productivity when creating UI-rich and data-driven applications. Come learn what the Uno Platform is all about.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Wednesday, November 6 – 6:45 pm&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/ONETUG/events/266035077/" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Burlington, MA, USA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Kenzie Whalen&lt;br&gt;&lt;br&gt;
Description: Uno is a new platform that allows developers to write a single codebase and deploy to iOS, Android, UWP, and Web Assembly. In this talk we will go over how Uno works, getting started with your first Uno application, and the future of the Uno Platform.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Saturday, November 23 – 10:15 am&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.bostoncodecamp.com/CC32/schedule" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Westerville, OH, USA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Steve Bilogan&lt;br&gt;&lt;br&gt;
Description: “Introduction to Uno”. Learn how the Uno Platform and how it was recently used to bring the official Microsoft UWP Calculator app to the web!&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Tuesday, November 5 – 6:30 pm&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/westervilleweb/events/258854809/" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scottsdale, AZ, USA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Andres Pineda&lt;br&gt;&lt;br&gt;
Description: An introduction to the Uno Platform from guest speaker, Andres Pineda.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: TBD&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/Uno-Platform-Arizona" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Laval, QC, Canada&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Marie-Christine Leclerc and Alexandre Beauchamp&lt;br&gt;&lt;br&gt;
Description: Developed by nventive in Montreal, Uno is the only platform that allows to develop native applications for mobile, desktop and WebAssembly with C # and XAML from a single code base. It is open source and supported by professionals. In this presentation you will be introduced to Uno Platform and its characteristics.&lt;/p&gt;

&lt;p&gt;Join us for this great opportunity to learn about new technologies in a relaxed atmosphere and around a good beer!&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Wednesday, November 20 – 6:00 pm&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.eventbrite.ca/e/billets-biere-et-techno-20-novembre-2019-soiree-conference-sur-les-tendances-technologiques-75898240681" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Madrid, Spain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Paulo Vila and Jose Manuel Nieto&lt;br&gt;&lt;br&gt;
Description: In this talk we will introduce Uno Platform. You will discover the revolutionary way to create multi-platform applications and websites in a simpler, more productive and powerful way. We will explain its fundamentals, motivations and its relationship with the UWP (Universal Windows Platform), detailing each of the parts that make up Uno Platform. We will finish with a small hands-on Lab and a technical demo.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Thursday, November 7 – 7:00 pm&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/CrossDvlup/events/265555269/" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftalent-woman.es%2Fwp-content%2Fuploads%2F2019%2F11%2Ftama%25C3%25B1o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftalent-woman.es%2Fwp-content%2Fuploads%2F2019%2F11%2Ftama%25C3%25B1o.jpg" alt="Girls without limit. Professionals of the future" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Malaga, Spain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Elena Guzman&lt;br&gt;&lt;br&gt;
Description: In this talk we will introduce Uno Platform. You will discover the revolutionary way to create multi-platform applications and websites in a simpler, more productive and powerful way. We will explain its fundamentals, motivations and its relationship with the UWP (Universal Windows Platform), detailing each of the parts that make up Uno Platform. We will finish with a small hands-on Lab and a technical demo.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Friday, November 29 – 10:00 am&lt;/p&gt;

&lt;p&gt;&lt;a href="https://talent-woman.es/workshops/" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Noida, India&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Speaker: Ravi Kumar&lt;br&gt;&lt;br&gt;
Description: Join us as we present our contributions to this year’s Hacktoberfest! We will talk about UNO &amp;amp; some other awesome projects that our meetup members have contributed to. Do not miss out on the chance to learn new frameworks &amp;amp; win some cool SWAG.&lt;br&gt;&lt;br&gt;
Date &amp;amp; Time: Saturday, November 9 – 11:15 am&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.meetup.com/DotCoreTechies/events/265445915/" rel="noopener noreferrer"&gt;See the event&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you would like to hold an Uno Platform event in your group/area, check out our &lt;a href="https://platform.uno/community/" rel="noopener noreferrer"&gt;Community page&lt;/a&gt; and let’s chat!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The post &lt;a href="https://platform.uno/uno-community-events-november-december/" rel="noopener noreferrer"&gt;Uno Community Events are Booming this November-December&lt;/a&gt; appeared first on &lt;a href="https://platform.uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>community</category>
      <category>december</category>
      <category>events</category>
    </item>
  </channel>
</rss>
