<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maui Archives - XABLU</title>
	<atom:link href="https://www.xablu.com/tag/maui/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.xablu.com/tag/maui/</link>
	<description>We build Ventures, Products and Teams</description>
	<lastBuildDate>Wed, 19 Nov 2025 12:10:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.xablu.com/wp-content/uploads/2019/08/xablu-favicon-100x100.png</url>
	<title>Maui Archives - XABLU</title>
	<link>https://www.xablu.com/tag/maui/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>5 things for .NET MAUI devs to look forward to in 2022</title>
		<link>https://www.xablu.com/2021/12/28/5-things-for-net-maui-devs-to-look-forward-to-in-2022/</link>
		
		<dc:creator><![CDATA[Sebastián Pérez]]></dc:creator>
		<pubDate>Tue, 28 Dec 2021 16:21:49 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET Conf]]></category>
		<category><![CDATA[dotnetmaui]]></category>
		<category><![CDATA[Maui]]></category>
		<category><![CDATA[net6]]></category>
		<category><![CDATA[net7]]></category>
		<category><![CDATA[Planet Xamarin]]></category>
		<guid isPermaLink="false">https://www.xablu.com/?p=15624</guid>

					<description><![CDATA[<p>The year 2021 has brought us a lot of news related to .NET 6. However, we are going to highlight some milestones that must be taken into account for next [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2021/12/28/5-things-for-net-maui-devs-to-look-forward-to-in-2022/">5 things for .NET MAUI devs to look forward to in 2022</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15624" class="elementor elementor-15624" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-995944d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="995944d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-eb10776" data-id="eb10776" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d034e34 elementor-widget elementor-widget-text-editor" data-id="d034e34" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>The year 2021 has brought us a lot of news related to .NET 6. However, we are going to highlight some milestones that must be taken into account for next year:</p>
<p>1. <b>.NET MAUI release</b>:&nbsp;This year we had a working preview of .NET MAUI and a lot of announcements. However, we will have the release of this long-awaited framework for mobile cross-platform development by the middle of next year.&nbsp;If you can&#8217;t wait, stay tuned because a release candidate will be out very soon <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>2. <b>Visual Studio 2022 for Mac</b>:&nbsp;This tool, which was once known as Xamarin Studio, is used by developers who use MacOS environments. For this version 2022 a new version was created using native components to achieve an improvement in performance. The bad news are that we don&#8217;t have currently a stable version, but we will soon in 2022. If you want to try, you can find a preview version that can be downloaded <a href="https://visualstudio.microsoft.com/vs/mac/preview/">here</a>.</p>
<p>3. <b>C#11</b>:&nbsp;Although there is no official announcement of what will come in the next version of this programming language, some issues have already appeared in the Github repository that give us some clues. For example, the keyword field and list patterns, features that were left out of version 10. When ? Probably at .NET 7 release.</p>
<p>4. <b>Microsoft Build 2022</b>:&nbsp;Starting in Q2 2022 we will find Microsoft&#8217;s most important developer-oriented event: Microsoft Build. This event, that used to be face-to-face, adopted full-remote in recent years due to the pandemic and although there is no official announcement of the event, we can imagine that it will continue in the same way. In this event the releases roadmap is usually announced for the rest of the year, will it be the chance to see the stable version of .NET MAUI?</p>
<p>5. <b>.NET 7 release</b>:&nbsp;Although .NET 6 is a long support version, the roadmap for this technology tells us that in 2022 we will have version 7 available. This version will be very important for the integration of .NET MAUI, since it will be the first version that supports it from the beginning. When ? November 2022, and as expected a new edition of the <a href="https://www.dotnetconf.net/">.NET Conf</a> will accompany this release.</p>
<p>What are you looking forward the most? I definitely vote .NET MAUI release !</p>
<p>On behalf of the Xablu team, we wish you a great 2022!</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2021/12/28/5-things-for-net-maui-devs-to-look-forward-to-in-2022/">5 things for .NET MAUI devs to look forward to in 2022</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>.NET Conf 2021: Updates in .NET MAUI</title>
		<link>https://www.xablu.com/2021/11/24/net-conf-2021-updates-in-net-maui/</link>
		
		<dc:creator><![CDATA[Sebastián Pérez]]></dc:creator>
		<pubDate>Wed, 24 Nov 2021 13:13:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Blazor]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[dotnetconf]]></category>
		<category><![CDATA[Maui]]></category>
		<category><![CDATA[Planet Xamarin]]></category>
		<guid isPermaLink="false">https://www.xablu.com/?p=15410</guid>

					<description><![CDATA[<p>In the previous post I shared the videos that I recommend to see of the conference, however we didn&#8217;t see anything on .NET MAUI. Why? First because I was planning [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2021/11/24/net-conf-2021-updates-in-net-maui/">.NET Conf 2021: Updates in .NET MAUI</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15410" class="elementor elementor-15410" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-633e669 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="633e669" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df9733a" data-id="df9733a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ac56422 elementor-widget elementor-widget-text-editor" data-id="ac56422" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In the <a href="https://www.xablu.com/2021/11/18/net-conf-2021-5-videos-you-have-to-see/">previous post</a> I shared the videos that I recommend to see of the conference, however we didn&#8217;t see anything on .NET MAUI. Why? First because I was planning to do it in this post, but mainly because we are still in a preliminary version of this new .NET component and there weren&#8217;t many announcements.</p><p>To start, if it is your first approach to .NET MAUI I recommend you to read <a href="https://www.xablu.com/2021/09/06/the-future-of-xamarin-forms-net-maui/">this post</a> and watch this video of the conference:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-5d13e60 elementor-widget elementor-widget-video" data-id="5d13e60" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=HMYpAw2sl58&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-424a9e8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="424a9e8" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c6f8b3b" data-id="c6f8b3b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-bdd5de7 elementor-widget elementor-widget-text-editor" data-id="bdd5de7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>A very interesting functionality that was presented is to use the controls already known in Xamarin Forms but <span style="color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), roboto; font-weight: var( --e-global-typography-text-font-weight );">a drawn version </span><span style="color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), roboto; font-weight: var( --e-global-typography-text-font-weight );">instead of its native version:</span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-08fa1ad elementor-widget elementor-widget-video" data-id="08fa1ad" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=-lbBFTpp25k&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-122c38e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="122c38e" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b2f9fbd" data-id="b2f9fbd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0fe0e15 elementor-widget elementor-widget-text-editor" data-id="0fe0e15" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Blazor + MAUI: We can write web applications with Blazor in the same way as we did before but adding the chance of deploy them also on mobile devices:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-15a24f5 elementor-widget elementor-widget-video" data-id="15a24f5" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=swwWgFZJvEs&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-a044f72 elementor-widget elementor-widget-video" data-id="a044f72" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=Dr8L7zXxwLI&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-f9eae9a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f9eae9a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b48f238" data-id="b48f238" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c463c31 elementor-widget elementor-widget-text-editor" data-id="c463c31" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Finally I here you have some updates related to one of the most used libraries which was created and maintained by the community: (Former Xamarin Community Toolkit) .NET Maui Community Toolkit</p>								</div>
				</div>
				<div class="elementor-element elementor-element-7221a40 elementor-widget elementor-widget-video" data-id="7221a40" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=UR6LC7IXkvY&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-190bd15 elementor-widget elementor-widget-video" data-id="190bd15" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/www.youtube.com\/watch?v=yS8XmAQi3YY&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-a29d491 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="a29d491" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b8bd19e" data-id="b8bd19e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4db4fea elementor-widget elementor-widget-text-editor" data-id="4db4fea" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Although there were no big announcements, this point helps us to catch up and be ready for when the stable version comes out next year. Stay connected !</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2021/11/24/net-conf-2021-updates-in-net-maui/">.NET Conf 2021: Updates in .NET MAUI</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>.NET Conf 2021 is coming</title>
		<link>https://www.xablu.com/2021/11/09/net-conf-2021-is-coming/</link>
		
		<dc:creator><![CDATA[Sebastián Pérez]]></dc:creator>
		<pubDate>Tue, 09 Nov 2021 16:58:32 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Maui]]></category>
		<category><![CDATA[net6]]></category>
		<category><![CDATA[Planet Xamarin]]></category>
		<category><![CDATA[Speaker]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">https://www.xablu.com/?p=15372</guid>

					<description><![CDATA[<p>As every year there will be a new edition of the most important .NET conference in the world: .NET Conf. This year will feature two tasty ingredients: the release of [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2021/11/09/net-conf-2021-is-coming/">.NET Conf 2021 is coming</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15372" class="elementor elementor-15372" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-6a0f6ef elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6a0f6ef" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7da85262" data-id="7da85262" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-139f8798 elementor-widget elementor-widget-text-editor" data-id="139f8798" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p></p>
<p>As every year there will be a new edition of the most important .NET conference in the world: .NET Conf. This year will feature two tasty ingredients: the release of .NET 6 and &#8230; my first participation in the event <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p></p>
<p></p>
<p>The conference will be held from November 9th to 11th and will focus mainly on what is new that introduces <a href="https://devblogs.microsoft.com/dotnet/announcing-net-6/">.NET 6</a>. Also, it will introduce <a href="https://devblogs.microsoft.com/visualstudio/visual-studio-2022-now-available/">Visual Studio 2022</a> that has been recently released and we can see some news about <a href="https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-10/">.NET MAUI</a> (preview 10). If you want to know more about the topics that will be presented I invite you to read these posts:</p>
<ol>
<li> <a href="https://www.xablu.com/2021/09/06/the-future-of-xamarin-forms-net-maui/">.NET MAUI</a></li>
<li><a href="https://www.xablu.com/2021/09/17/net-maui-implementing-platform-behavior/">.NET MAUI Behaviours</a></li>
<li><a href="https://www.xablu.com/2021/10/04/minimal-api-with-net6/">Minimal API</a>.</li>
</ol>
<p></p>
<p></p>
<p>You can follow all the news of the event in the following link: <a href="https://www.dotnetconf.net/" target="_blank" rel="noreferrer noopener">.NET Conf 2021 (dotnetconf.net)</a></p>
<p></p>
<p></p>
<p>Finally, I invite you to be part of my presentation on &#8220;Creating NFT with .NET&#8221; next Thursday 11th at 6 am (PT) / 10 am (ARG) / 2 pm (NT). See you there !</p>
<p></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2021/11/09/net-conf-2021-is-coming/">.NET Conf 2021 is coming</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>.NET MAUI: Implementing platform behavior</title>
		<link>https://www.xablu.com/2021/09/17/net-maui-implementing-platform-behavior/</link>
		
		<dc:creator><![CDATA[Ruud Kobes]]></dc:creator>
		<pubDate>Fri, 17 Sep 2021 15:16:07 +0000</pubDate>
				<category><![CDATA[Mobile Strategies]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Maui]]></category>
		<category><![CDATA[net6]]></category>
		<category><![CDATA[Planet Xamarin]]></category>
		<guid isPermaLink="false">https://www.xablu.com/?p=15134</guid>

					<description><![CDATA[<p>.NET MAUI is right around the corner. Like its predecessor it offers sharing most code while building for multiple platforms. This includes the UI part. Of course there are still [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2021/09/17/net-maui-implementing-platform-behavior/">.NET MAUI: Implementing platform behavior</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15134" class="elementor elementor-15134" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-b984a0c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b984a0c" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75b630c" data-id="75b630c" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-510f200 elementor-widget elementor-widget-text-editor" data-id="510f200" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>.NET MAUI is right around the corner. Like its predecessor it offers sharing most code while building for multiple platforms. This includes the UI part. Of course there are still elements that require access to the platform, like accessing the camera, or something less common like customizing HttpMessageHandler behavior on iOS.</p><p>For common use-cases Xamarin.Essentials was offered to Xamarin Forms users. Now with MAUI this library will be included in your application by default (named MAUI Essentials), making it easy to use SecureStorage or implement permissions on Android and iOS. Additionally there is a <a class="ql-link" href="https://github.com/CommunityToolkit/Maui" target="_blank" rel="noopener noreferrer">MAUI Community Toolkit</a><span data-void-detect="true"> which, as the name implies, provides free tools: effects, converters, controls and more.</span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7bbef8b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7bbef8b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ce9f99f" data-id="ce9f99f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ee5e8e8 elementor-widget elementor-widget-heading" data-id="ee5e8e8" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Manual platform implementation</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-f286e94 elementor-widget elementor-widget-text-editor" data-id="f286e94" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In some apps .NET MAUI with the Essentials pack and the Xamarin Community Toolkit can be sufficient. For most apps though, there is a point where some custom adjustment is necessary. A good example would be control adjustment using Handlers or Effects. We&#8217;ll describe Handlers and their value in more detail in a future blogpost.</p><p data-block-id="block-5c88f9cb-d68c-494a-bbc2-222d047d9dbf">There are several ways to go about defining platform specific behavior in MAUI. Because of multi-targeting the code will be in the single shared project. With Xamarin Forms this was also possible using the Shared Project architecture, but the recommended and most common approach was using a PCL and implementing platform behavior using dependency injection. Let&#8217;s run through some options!</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ee9454c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ee9454c" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bd68bd1" data-id="bd68bd1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-44a0481 elementor-widget elementor-widget-heading" data-id="44a0481" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Using #if</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-66213b0 elementor-widget elementor-widget-text-editor" data-id="66213b0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div>To add a few lines of platform-specific code to an otherwise shared class we can use compiler directives like <code>#if __IOS__.</code> This is a quick and easy solution and keeps the related code close together, in the same file. For smaller handler mappings this could be a nice and easy to manage approach. It could also make Effects easier, because we don&#8217;t need the routed effects and DI registration of every platform implementation. With larger sections of platform-specific code this can get messy and harder to read though.</div>								</div>
				</div>
				<div class="elementor-element elementor-element-bbe6743 elementor-widget elementor-widget-code-highlight" data-id="bbe6743" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-default copy-to-clipboard ">
			<pre data-line="14,16,18" class="highlight-height language-csharp line-numbers">
				<code readonly="true" class="language-csharp">
					<xmp>//SecureSettingsProvider.cs

namespace MyApp.Settings;

public class SecureSettingsProvider
{
    public string GetSecureSetting(string context, string key)
    {
        return GetLocalSetting($"{context}-{key}");
    }

    private string GetLocalSetting(string contextSpecificKey)
    {
        #if __IOS__
        // retrieve value from secure storage / keychain
        #elif __ANDROID__
        // do the same for android
        #endif
    }
}</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-2071603 elementor-widget elementor-widget-spacer" data-id="2071603" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-a6039d3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="a6039d3" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e90512f" data-id="e90512f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d6103d8 elementor-widget elementor-widget-heading" data-id="d6103d8" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Using platform folders</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-664f9b6 elementor-widget elementor-widget-text-editor" data-id="664f9b6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>MAUI projects using the single project structure will provide platform folders out-of-the-box. They will be compiled conditionally by default, e.g. the Android folder will only be included when building for Android. Within this option there are still 2 distinctive approaches:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cc62deb elementor-widget elementor-widget-heading" data-id="cc62deb" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h4 class="elementor-heading-title elementor-size-default">Dependency injection using interfaces</h4>				</div>
				</div>
				<div class="elementor-element elementor-element-93ccf2c elementor-widget elementor-widget-text-editor" data-id="93ccf2c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div>Like the old-school Xamarin Forms pattern, using an interface in the cross-platform code, and explicit implementations in each platform folder. Any logic that could be shared will have to be copied between the implementations, although to make it slightly more complex, one could also define a cross-platform base class.</div>								</div>
				</div>
				<div class="elementor-element elementor-element-1d9a91d elementor-widget elementor-widget-heading" data-id="1d9a91d" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h4 class="elementor-heading-title elementor-size-default">Partial classes</h4>				</div>
				</div>
				<div class="elementor-element elementor-element-26802da elementor-widget elementor-widget-text-editor" data-id="26802da" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div>Partial classes are not a new concept in C#. Check <a class="ql-link" href="https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods" target="_blank" rel="noopener noreferrer">the docs</a><span data-void-detect="true"> if you want to read more about them. We can define one cross-plaform partial class and another partial class with the same name and namespace in each platform folder. This is a pretty clean alternative to using #if directives when working with larger classes/code sections. A potential disadvantage of this approach is that both partial classes live quite far-away from each other, which could hinder discoverability and increase cognitive load, if there is a lot of shared code. If the partial class has little shared code, the experience is a lot like using interfaces.</span></div>								</div>
				</div>
				<div class="elementor-element elementor-element-2bbf542 elementor-widget elementor-widget-code-highlight" data-id="2bbf542" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-default copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-csharp line-numbers">
				<code readonly="true" class="language-csharp">
					<xmp>//SecureSettingsProvider.cs in shared code

namespace MyApp.Settings;
public partial class SecureSettingsProvider.cs
{
    public string GetSecureSetting(string context, string key)
    {
        var settingValue = GetLocalSetting($"{context}-{key}");

        // do some work that's shared between implementations
        if(String.IsNullOrEmtpy(something))
          return "nothing";
        else
          return settingValue;
    }
}</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0102824 elementor-widget elementor-widget-code-highlight" data-id="0102824" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-default copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					<xmp>//SecureSettingsProvider.cs in Android platform folder

namespace MyApp.Settings;
public partial class SecureSettingsProvider.cs
{
    private string GetLocalSetting(string contextSpecificKey)
    {
        // retrieve secure setting value for Android
    }
}</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fae696c elementor-widget elementor-widget-spacer" data-id="fae696c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-4f17b6e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4f17b6e" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-de75dbc" data-id="de75dbc" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1b9e025 elementor-widget elementor-widget-heading" data-id="1b9e025" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Using filename based conditional compiling</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-b4adb09 elementor-widget elementor-widget-text-editor" data-id="b4adb09" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p data-block-id="block-4440b66d-9328-442d-99a7-dac9ac7a5432">This pattern is used in the MAUI github repository itself. Concretely this again means using partial classes, but this time the platform specific implementation is defined in the same folder in a separate file. For example for our <code>SecureS</code><code>ettingsProvider</code>, we would have a partial class in <code>SecureSettingsProvider.cs</code> and another one in <code>SecureSettingsProvider.Android.cs</code>, <img decoding="async" class="size-full wp-image-15137 alignright" src="https://www.xablu.com/wp-content/uploads/2021/09/functionality-grouping-multitargeting.png" alt="" width="292" height="107" srcset="https://www.xablu.com/wp-content/uploads/2021/09/functionality-grouping-multitargeting.png 292w, https://www.xablu.com/wp-content/uploads/2021/09/functionality-grouping-multitargeting-100x37.png 100w" sizes="(max-width: 292px) 100vw, 292px" /><code>SecureSettingsProvider.iOS.cs</code> , etc.<br />A potential advantage of this is that platform implementations are directly next to the shared part, which improves discoverability and can reduce cognitive load.</p><div data-block-id="block-47ce594c-5a02-48f4-aeed-56e1ada477c1">This approach is not supported out of the box though. The compiler needs to be informed which files to include or more accurately, which NOT to include, so we need to add this information to our project file. For an example of how this could look, see the first +-30 lines in <a href="https://github.com/dotnet/maui/blob/main/.nuspec/Microsoft.Maui.Controls.MultiTargeting.targets" target="_blank" rel="noopener noreferrer">MultiTargeting.targets</a><span data-void-detect="true"> file in the MAUI repository. The following sample is taken from line 2-7 there and slightly adjusted:</span></div>								</div>
				</div>
				<div class="elementor-element elementor-element-f12ba5d elementor-widget elementor-widget-code-highlight" data-id="f12ba5d" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-default copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-xml line-numbers">
				<code readonly="true" class="language-xml">
					<xmp><ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.iOS')) != true AND $(TargetFramework.StartsWith('net6.0-ios')) != true AND $(TargetFramework.StartsWith('net6.0-maccatalyst')) != true ">
  <Compile Remove="**\**\*.iOS.cs" />
  <None Include="**\**\*.iOS.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" />
</ItemGroup></xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-de29544 elementor-widget elementor-widget-text-editor" data-id="de29544" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div data-block-id="block-47ce594c-5a02-48f4-aeed-56e1ada477c1">This ItemGroup definition informs the compiler to ignore all <code>*.iOS.cs</code> files in the project unless the current build target is Xamarin.iOS, net6.0-ios or .net6.0-maccatalyst. Similar project configuration can also be used to allow for custom platform folders thoughout the code:</div>								</div>
				</div>
				<div class="elementor-element elementor-element-697da10 elementor-widget elementor-widget-code-highlight" data-id="697da10" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-default copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-xml line-numbers">
				<code readonly="true" class="language-xml">
					<xmp>  <Compile Remove="**\iOS\**\*.cs" />
  <None Include="**\iOS\**\*.cs" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" /></xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-f08aa8c elementor-widget elementor-widget-spacer" data-id="f08aa8c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-92e45a8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="92e45a8" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f50c498" data-id="f50c498" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a8fc026 elementor-widget elementor-widget-heading" data-id="a8fc026" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Which option is best?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-3496340 elementor-widget elementor-widget-text-editor" data-id="3496340" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>As always in software development, the answer here is &#8220;it depends&#8221;. For multitargeting libraries, like MAUI itself, it is likely a good option to look at the the filename or nested folder approach we discussed. With a little project setup this allows you to group code by functionality, keeping related code close together.</p><p data-block-id="block-4a8872a6-8e32-423d-8e43-360a54819071">For apps, it depends on how much platform-specific code really needs to be written. For some apps only a few adjustments may be needed using Effects, Behaviors and handler mappings. It is very possible for these to be only a few lines which allows for keeping everying in one file using #if directives. If these grow it is convenient to use the existing platform folders. In both these alternatives you can forego the need to use interfaces and register the platform services for dependency injection which can be convenient.</p><p data-block-id="block-4a8872a6-8e32-423d-8e43-360a54819071">Please note that we&#8217;ve been looking at these patterns fairly strictly from MAUI perspective. Of course it is possible that you prefer to use interfaces to making testing and mocking easier. In that case you will be setting up the DI container anyway. It may still be easier to register one implementation and use above options, instead of registering every platform service separately, but keep in mind your overall architecture before choosing any of these patterns.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2021/09/17/net-maui-implementing-platform-behavior/">.NET MAUI: Implementing platform behavior</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Microsoft Build 2020 &#8211; What Day 1 Brought Us</title>
		<link>https://www.xablu.com/2020/05/20/microsoft-buid-2020-day-1/</link>
		
		<dc:creator><![CDATA[XABLU HQ]]></dc:creator>
		<pubDate>Wed, 20 May 2020 14:06:15 +0000</pubDate>
				<category><![CDATA[Event Reports]]></category>
		<category><![CDATA[Insights]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Blazor WebAssembly]]></category>
		<category><![CDATA[codespaces]]></category>
		<category><![CDATA[Maui]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Microsoft Build 2020]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WinUI]]></category>
		<guid isPermaLink="false">https://www.xablu.com/?p=12061</guid>

					<description><![CDATA[<p>In light of the current COVID-19 pandemic, Microsoft has transformed this year’s Build conference into a 48-hour online event, accessible to everyone! Within this blogpost, we will look back at [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2020/05/20/microsoft-buid-2020-day-1/">Microsoft Build 2020 &#8211; What Day 1 Brought Us</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="12061" class="elementor elementor-12061" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-8716c97 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8716c97" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9a19a06" data-id="9a19a06" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8f70597 elementor-widget elementor-widget-text-editor" data-id="8f70597" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">In light of</span><span data-contrast="auto"> the current COVID-19 pandemic, <strong>Microsoft</strong> has transformed this year’s </span><span data-contrast="auto"><strong>Build</strong> </span><span data-contrast="auto">conference into a <strong>48-hour online event</strong>, accessible to everyone! Within this blogpost, we will look back at <a href="https://www.youtube.com/watch?v=S_wNRx7f7rU">the first day of Microsoft Build </a></span><a href="https://www.youtube.com/watch?v=S_wNRx7f7rU"><span data-contrast="auto">2020 </span></a><span data-contrast="auto">and get you up to date with the most important announcements. </span><span data-ccp-props="{}"> Already know what happened on the first day, but curious what they announced the second day? <a href="https://www.xablu.com/2020/05/21/microsoft-buid-2020-day-2/">Read everything about day 2 here</a>! </span></p><p><span data-contrast="auto">Besides hosting this event online, the current pandemic also has an effect on the actual content presented during the conference, as much emphasis was also put on enabling the <strong>developers to be more collaborative and productive while working from home</strong> through advances in tools. </span><span data-contrast="auto">Also, a large focus was put on <strong>integrating more AI. </strong></span><strong> </strong></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-282b87b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="282b87b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a17be57" data-id="a17be57" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a467181 elementor-widget elementor-widget-image" data-id="a467181" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="768" height="432" src="https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6-768x432.png" class="attachment-medium_large size-medium_large wp-image-12064" alt="" srcset="https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6-768x432.png 768w, https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6-300x169.png 300w, https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6-1024x576.png 1024w, https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6-100x56.png 100w, https://www.xablu.com/wp-content/uploads/2020/05/dotnet-6.png 1065w" sizes="(max-width: 768px) 100vw, 768px" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8844686 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8844686" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d001c71" data-id="d001c71" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1f439b9 elementor-widget elementor-widget-heading" data-id="1f439b9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">MAUI</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b408956 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b408956" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4a6d717" data-id="4a6d717" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3fe0cc3 elementor-widget elementor-widget-text-editor" data-id="3fe0cc3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">We already knew that .NET 5 is going to be released later this year, but Microsoft surprised </span><span data-contrast="auto">u</span><span data-contrast="auto">s</span><span data-contrast="auto"> yesterday</span><span data-contrast="auto"> with the announcement of <strong>.NET 6</strong>, which is planned for November 2021. </span><span data-contrast="auto">Even though that date is still far from today, we know that it will there are big plans for Xamarin: </span><strong>both Xamarin.Forms and Xamarin will finally become first-class citizens</strong><span data-contrast="auto"><strong> in the .NET world</strong>,</span><span data-contrast="auto"> under the </span><span data-contrast="auto">acronym</span><strong> MAUI</strong><span data-contrast="auto">, which stands for</span><span data-contrast="auto"><strong> .NET Multi- platform App UI</strong>. </span><span data-contrast="auto"> </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">MAUI will introduce a new approach for </span><span data-contrast="auto">developing</span> <span data-contrast="auto">apps in Visual Studio</span><span data-contrast="auto">: </span><span data-contrast="auto">by default, there will be a single project </span><span data-contrast="auto">that will use multi-targeting</span> <span data-contrast="auto">to offer</span><span data-contrast="auto"> 100% cu</span><span data-contrast="auto">stomization</span><span data-contrast="auto">. It will have support for </span><span data-contrast="auto">MVVM, </span><span data-contrast="auto">MVU</span><span data-contrast="auto"> and Blazor!</span> <span data-contrast="auto">MacOS and WPF will be officially supported (and Linux is also in the roadmap).</span><span data-ccp-props="{}"> </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">But the changes don’t stop there: </span><span data-contrast="auto">t</span><span data-contrast="auto">he</span><span data-contrast="auto"> Xamarin team is currently considering architectural changes in the Xamarin.Forms framework that will make the <strong>codebase simpler and offer </strong></span><span data-contrast="auto"><strong>better performance.</strong> <strong>Moreover, Xamarin.Essentials will be </strong></span><strong>part of the .NET APIs.   </strong></p><p><span data-contrast="auto">What will happen </span><span data-contrast="auto">then</span> <span data-contrast="auto">to Xamarin.iOS and Xamarin.Android? Both will be embedded into the .NET APIs </span><span data-contrast="auto">as well</span> <span data-contrast="auto">and </span><span data-contrast="auto">they</span> <span data-contrast="auto">will</span><span data-contrast="auto"> become .</span><span data-contrast="auto">NET for iOS and .NET for Android.</span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">We cannot wait for MAUI to be released as we continue to embrace Xamarin. Want to read more about MAUI? <a href="https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/">This blogpost from Microsoft </a></span><a href="https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/"><span data-contrast="auto">will provide you all the ins and outs! </span><span data-ccp-props="{}"> </span></a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bb97829 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bb97829" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ff0265a" data-id="ff0265a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e78ac14 elementor-widget elementor-widget-image" data-id="e78ac14" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="768" height="432" src="https://www.xablu.com/wp-content/uploads/2020/05/maui-768x432.png" class="attachment-medium_large size-medium_large wp-image-12065" alt="" srcset="https://www.xablu.com/wp-content/uploads/2020/05/maui-768x432.png 768w, https://www.xablu.com/wp-content/uploads/2020/05/maui-300x169.png 300w, https://www.xablu.com/wp-content/uploads/2020/05/maui-1024x576.png 1024w, https://www.xablu.com/wp-content/uploads/2020/05/maui-100x56.png 100w, https://www.xablu.com/wp-content/uploads/2020/05/maui.png 1065w" sizes="(max-width: 768px) 100vw, 768px" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-a9ce0ba elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="a9ce0ba" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-abb2a14" data-id="abb2a14" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b3bc416 elementor-widget elementor-widget-heading" data-id="b3bc416" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">WinUI and Project Reunion  </h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-f6e69ff elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f6e69ff" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-213d282" data-id="213d282" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a73beae elementor-widget elementor-widget-text-editor" data-id="a73beae" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">Another great announcement was made regarding UWP and Win32 API’s: </span><span data-contrast="auto">Both kind of apps </span><span data-contrast="auto">will be reunited </span><span data-contrast="auto">under <strong>WinUI 3.0 </strong></span><span data-contrast="auto">and made available decoupled from the OS</span><span data-contrast="auto"> through </span><span data-contrast="auto">tools like NuGet. </span><span data-ccp-props="{}"> </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">Win</span><span data-contrast="auto">UI will have a very positive impact on the Windows Developer experience, which is currently fragmented in different UI frameworks. In Microsoft words,</span><span data-contrast="auto"><strong> “WinUI will provide a state-of-the-art UX framework for every Windows developer”</strong>, meaning developers can build great user experiences that adapt and scale across devices. This can be applied when starting a new project, or when modernising an existing app. </span><span data-ccp-props="{}"> </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">As part of the announcements from yesterday, </span><strong>WinUI3 Preview 1 was made public</strong><span data-contrast="auto">,</span><span data-contrast="auto"> containing a lot of improvements and new features. We just need to be aware it is not production ready yet.</span><span data-ccp-props="{}"> </span></p><p><a href="https://blogs.windows.com/windowsdeveloper/2020/05/19/developing-for-all-1-billion-windows-10-devices-and-beyond/"><span data-contrast="auto">You can read more about the development of WinUI here</span><span data-contrast="auto">. </span><span data-ccp-props="{}"> </span></a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-06ff88f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="06ff88f" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3c0f94b" data-id="3c0f94b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1a69620 elementor-widget elementor-widget-image" data-id="1a69620" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="450" src="https://www.xablu.com/wp-content/uploads/2020/05/uwp-1024x576.png" class="attachment-large size-large wp-image-12066" alt="" srcset="https://www.xablu.com/wp-content/uploads/2020/05/uwp-1024x576.png 1024w, https://www.xablu.com/wp-content/uploads/2020/05/uwp-300x169.png 300w, https://www.xablu.com/wp-content/uploads/2020/05/uwp-768x432.png 768w, https://www.xablu.com/wp-content/uploads/2020/05/uwp-1536x864.png 1536w, https://www.xablu.com/wp-content/uploads/2020/05/uwp-100x56.png 100w, https://www.xablu.com/wp-content/uploads/2020/05/uwp-1200x675.png 1200w, https://www.xablu.com/wp-content/uploads/2020/05/uwp.png 2016w" sizes="(max-width: 800px) 100vw, 800px" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-05c1bd0 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="05c1bd0" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fc484bf" data-id="fc484bf" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f1f9d21 elementor-widget elementor-widget-heading" data-id="f1f9d21" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">Blazor WebAssembly  </h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-86748a8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="86748a8" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-879ad63" data-id="879ad63" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-65f57d6 elementor-widget elementor-widget-text-editor" data-id="65f57d6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto"><strong>Blazor WebAssembly</strong> was finally released yesterday</span><span data-contrast="auto"> and it is production ready</span><span data-contrast="auto">. This means <strong>full-stack web development in .NET</strong> is a reality!</span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">T</span><span data-contrast="auto">hrough Blazor WebAssembly, </span><span data-contrast="auto">it will be possible to </span><span data-contrast="auto"><strong>debug front-end and back-end code in the same IDE</strong> within Visual Studio</span><span data-contrast="auto">, all in C#!</span> <span data-contrast="auto">Developers will also be able to </span><span data-contrast="auto">debug Linux environment</span><span data-contrast="auto">s</span><span data-contrast="auto"> from Windows using Visual Studio</span><span data-contrast="auto">, </span><span data-contrast="auto">all this </span><span data-contrast="auto">with the new embedded Linux capabilities</span><span data-contrast="auto"> from Windows</span><span data-contrast="auto">. </span><span data-contrast="auto">We believe this </span><span data-contrast="auto">will definitely increase efficiency</span><span data-contrast="auto"> and ease the cross platform support!</span> <span data-contrast="auto">If you already have a traditional Blazor app, then m</span><span data-contrast="auto">igrating to WebAssembly </span><span data-contrast="auto">is expected to be </span><span data-contrast="auto">very easy</span><span data-contrast="auto">.</span> <span data-ccp-props="{}"> </span></p><p><a href="https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/"><span data-contrast="auto">For more information on Blazor WebAssembly, find the official Microsoft blogpost here</span><span data-contrast="auto">.</span></a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-be47107 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="be47107" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c27f320" data-id="c27f320" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-20687cb elementor-widget elementor-widget-heading" data-id="20687cb" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">Visual Studio Codespaces and Live Share </h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5681a15 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5681a15" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-47d074e" data-id="47d074e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7425435 elementor-widget elementor-widget-text-editor" data-id="7425435" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">Yesterday</span><span data-contrast="auto">,</span><span data-contrast="auto"> Microsoft also paid a lot of attention to remote working environments.</span> <span data-contrast="auto">First, <strong>Visual Studio </strong></span><strong>Codespaces </strong><span data-contrast="auto">(formerly called Visual Studio Online) </span><span data-contrast="auto">is </span><span data-contrast="auto">now available</span><span data-contrast="auto">: “with a single button, from GitHub, you can </span><span data-contrast="auto">experience </span><span data-contrast="auto">Visual Studio Code in the browser.”</span><span data-contrast="auto"> One of </span><span data-contrast="auto">the</span><span data-contrast="auto"> biggest advantages</span><span data-contrast="auto"> of this</span><span data-contrast="auto"> </span><span data-contrast="auto">is for proj</span><span data-contrast="auto">ects that require complex environments: </span><span data-contrast="auto">a</span><span data-contrast="auto">ll settings and configurations</span><span data-contrast="auto">, such as</span><span data-contrast="auto"> environment variables</span><span data-contrast="auto">,</span><span data-contrast="auto"> can be defined in a file and committed to the repository. Furthermore, the developer experience is </span><span data-contrast="auto">excellent</span><span data-contrast="auto"> due to</span> <strong>Codespaces being able to pick up your themes, extensions and local configurations</strong><span data-contrast="auto">. </span><span data-contrast="auto">Please be aware </span><span data-contrast="auto">that </span><span data-contrast="auto">not all workloads are available at this stage (mobile development is not) &#8211; but you can certainly debug localhost remotely. Awesome, right?</span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">Yesterday Microsoft also presented new features for</span><span data-contrast="auto"><strong> Live Share</strong>: </span><span data-contrast="auto">Developers can now </span><span data-contrast="auto">share sessions across Visual Studio Code and Visual Studio</span><span data-contrast="auto"> and <strong>have audio and text chat embedded</strong>, so no context switching is necessary anymore.</span> <span data-contrast="auto">We see tons of possibilities for this feature, not only for collaboration within a project, but also to be used for job interviews, at schools or to onboard new developers to complex codebases. As we value remote work</span><span data-contrast="auto"> very much</span><span data-contrast="auto">, this feature will enable our colleagues to collaborate even more efficiently. </span><span data-ccp-props="{}"> </span></p><p><a href="https://devblogs.microsoft.com/visualstudio/expanding-visual-studio-2019-support-for-visual-studio-codespaces/">Read more about the announcements for Visual Studio here. </a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-cd63f9a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cd63f9a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1c93a60" data-id="1c93a60" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e49b493 elementor-widget elementor-widget-heading" data-id="e49b493" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">Attending the Remote Event</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-de9d90a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="de9d90a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9c71cec" data-id="9c71cec" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8842d60 elementor-widget elementor-widget-text-editor" data-id="8842d60" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto">Like many events, Microsoft had to switch from their usual Seattle gathering to a full-remote event in only a matter of weeks. While this </span><span data-contrast="auto">does decrease the network- and community factor the event usually brings, it also makes it <strong>more accessible to developers all around the world.</strong> There are so many sessions offered, one can sometimes feel lost in the extensiveness of it all. However, with this vast amount of different topics, any developer or designer ranging from student to senior can find something for them. </span><span data-ccp-props="{}"> </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">A lot of sessions were <strong>live-streamed or pre-recorded</strong>. The live streaming sessions allowed for Q&amp;A sessions where the most liked questions were answered. The broadcast itself worked very well: you could easily pause the broadcast and continue it later without any technical difficulty. </span><span data-ccp-props="{}"> </span></p><p><span data-contrast="auto">While we think their approach is a great solution for the current situation, we hope in the future we can meet again in person to fully provide the focus and attention these sessions deserve.  </span><span data-ccp-props="{}"> </span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6cd7120 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6cd7120" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4e275b8" data-id="4e275b8" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-65dafe4 elementor-widget elementor-widget-image" data-id="65dafe4" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="450" src="https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-1024x576.jpg" class="attachment-large size-large wp-image-12067" alt="" srcset="https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-1024x576.jpg 1024w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-300x169.jpg 300w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-768x432.jpg 768w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-1536x864.jpg 1536w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-100x56.jpg 100w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2-1200x675.jpg 1200w, https://www.xablu.com/wp-content/uploads/2020/05/Satya-Nadella-2.jpg 1920w" sizes="(max-width: 800px) 100vw, 800px" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-37365a2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="37365a2" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5440725" data-id="5440725" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-94b7ede elementor-widget elementor-widget-heading" data-id="94b7ede" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-large">The Conference Continues...</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6214146 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6214146" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6bf28d0" data-id="6bf28d0" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-dc8973a elementor-widget elementor-widget-text-editor" data-id="dc8973a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span data-contrast="auto"><a href="https://www.xablu.com/2020/05/21/microsoft-buid-2020-day-2/">The second day of the event included more announcements!</a> Which sessions did you follow? Let us know below in the comments below! </span></p><p><a href="https://www.xablu.com/2020/05/21/microsoft-buid-2020-day-2/"><span data-contrast="auto">Find another summary of the Microsoft Build conference, day 2, here! </span></a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2020/05/20/microsoft-buid-2020-day-1/">Microsoft Build 2020 &#8211; What Day 1 Brought Us</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
