{"id":5006,"date":"2021-01-25T07:44:52","date_gmt":"2021-01-25T07:44:52","guid":{"rendered":"https:\/\/serkanseker.com\/?p=5006"},"modified":"2021-01-25T07:44:52","modified_gmt":"2021-01-25T07:44:52","slug":"net-maui-multiplatform-app-ui","status":"publish","type":"post","link":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/","title":{"rendered":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi"},"content":{"rendered":"<div class=\"entry-content entry clearfix\">\n<p>Microsoft\u00a0her y\u0131l Windows, Windows Phone, Microsoft Azure ve di\u011fer Microsoft teknolojilerini kullanan geli\u015ftiriciler i\u00e7in yapt\u0131\u011f\u0131 Microsoft Build konferans\u0131n\u0131 2020 y\u0131l\u0131n\u0131n May\u0131s ay\u0131nda yapt\u0131. Bu konferansta mobil uygulama geli\u015ftiricileri i\u00e7in \u00f6nemli haberler vard\u0131. <strong>.NET MAUI<\/strong>, yani .NET Multiplatform App UI bu konferans\u0131n ana g\u00fcndemi oldu.<\/p>\n<p>Microsoft, .NET 5 ile birlikte t\u00fcm .NET platformlar\u0131n\u0131 bir araya getirmeyi planl\u0131yor. <strong>MAUI <\/strong>Framework\u2019u de bunun bir sonucu. MAUI g\u00fcncellemesinden sonra art\u0131k Xamarin.Forms\u2019daki gibi her platformda ayr\u0131 proje geli\u015ftirmeye gerek kalmayacak. Tek bir proje mimarisi ile t\u00fcm platformlarda geli\u015ftirme yapmak m\u00fcmk\u00fcn olacak.<\/p>\n<p>\u00d6zellikle mobil uygulama geli\u015ftiricilerini yak\u0131ndan ilgilendiren bu konuyu dilerseniz daha\u00a0 ayr\u0131nt\u0131l\u0131 inceleyelim. Ancak konuyu daha iyi kavramak i\u00e7in dilerseniz \u00f6nce Xamarin\u2019in yolculu\u011funa k\u0131saca bir g\u00f6z atal\u0131m.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"Xamarinin_Yolculugu\">Xamarin\u2019in Yolculu\u011fu<\/span><\/h2>\n<p><span class=\"ugb-highlight\" style=\"color: var(--nv-primary-accent);background-color: var(--nv-light-bg)\">2011<\/span>\u2013 Miguel de Icaza ve Nat Freidman Xamarin\u2019i kurdu. Xamarin ile .NET ve C# tabanl\u0131 Android, iOS ve Windows \u00fczerinde platformlar aras\u0131 uygulamalar geli\u015ftirilebilir bir \u00e7\u00f6z\u00fcm sundular.<\/p>\n<p><span class=\"ugb-highlight\" style=\"color: var(--nv-primary-accent);background-color: var(--nv-light-bg)\">2013<\/span>\u2013 Xamarin, 2.0\u2019\u0131 piyasaya s\u00fcrd\u00fc. Bu s\u00fcr\u00fcm Xamarin Studio ve Visual Studio bile\u015fenlerinden olu\u015fuyordu.<\/p>\n<p><span class=\"ugb-highlight\" style=\"color: var(--nv-primary-accent);background-color: var(--nv-light-bg)\">2014<\/span>\u2013 Xamarin, her platform i\u00e7in kullan\u0131c\u0131 aray\u00fcz\u00fc sorununu \u00e7\u00f6zmek i\u00e7in Xamarin.Forms\u2019u piyasaya s\u00fcrd\u00fc. Art\u0131k C# veya XAML arac\u0131l\u0131\u011f\u0131yla art\u0131k aray\u00fcz geli\u015ftirmek ve bu aray\u00fczlere i\u015flev tan\u0131mlamak m\u00fcmk\u00fcn oldu.<\/p>\n<p><span class=\"ugb-highlight\" style=\"color: var(--nv-primary-accent);background-color: var(--nv-light-bg)\">2016<\/span>\u2013 Microsoft, Xamarin\u2019i sat\u0131n ald\u0131.<\/p>\n<p>Ve s\u00fcrekli g\u00fcncellemelerle\u00a0Xamarin bug\u00fcnk\u00fc haline geldi. \u015eimdi as\u0131l konuya d\u00f6nelim.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"NET_MAUI_Nedir\">.NET MAUI Nedir?<\/span><\/h2>\n<p>.NET Multiplatform App UI k\u0131saca <strong>.NET MAUI<\/strong> Xamarin.Forms\u2019un evrimle\u015fmi\u015f versiyonu. Xamarin.Forms\u2019daki t\u00fcm \u00f6zelliklerin yan\u0131nda\u00a0 MAUI bir \u00e7ok yeni \u00f6zellik ile birlikte gelecek.\u00a0<\/p>\n<p>Al\u0131\u015f\u0131lagelmi\u015f Xamarin projelerinde her platform i\u00e7in ayr\u0131 projeler olu\u015fturup o proje \u00fczerinden devam ediyorduk. Yani Android i\u00e7in ayr\u0131 iOS i\u00e7in ayr\u0131 Windows i\u00e7in ayr\u0131 projeler olu\u015fturup ayr\u0131 ayr\u0131 projeler geli\u015ftiriyorduk. Haliyle, bu \u00e7ok zaman alan ve proje boyutunu bir hayli art\u0131ran bir duruma yol a\u00e7\u0131yordu.<\/p>\n<p>MAUI ile tek bir proje mimarisi \u00fczerinden Android, iOS ve Windows i\u00e7in uygulama geli\u015ftirmek m\u00fcmk\u00fcn olacak. Yani 3 farkl\u0131 katman 1\u2019e iniyor. <\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" alt=\".NET MAUI'ye Giri\u015f\" class=\"wp-image-84\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris-300x166.png 300w\" height=\"388\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>.NET MAUI\u2019ye Giri\u015f<\/figcaption><\/figure>\n<p>Geleneksel Xamarin proje yap\u0131s\u0131nda kaynaklar, resimler ve \u00f6zel i\u015flevler platforma \u00f6zg\u00fc dosylarda bulunuyordu. MAUI ile farkl\u0131 platformlar <strong>Platforms<\/strong> , kaynaklar <strong>Resources<\/strong>, resimler de <strong>Images<\/strong> alt\u0131nda yer alacak.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" alt=\"MAUI ile Multiplatform Uygulama Geli\u015ftirme\" class=\"wp-image-85\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/MAUI-Multiplatform-Uygulama-Gelistirme.png\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/MAUI-Multiplatform-Uygulama-Gelistirme.png 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/MAUI-Multiplatform-Uygulama-Gelistirme-300x168.png 300w\" height=\"393\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>MAUI ile Multiplatform Uygulama Geli\u015ftirme<\/figcaption><\/figure>\n<p>Ayr\u0131ca Visual Studio Code ile MAUI projeleri geli\u015ftirebilece\u011fiz. Bildi\u011finiz gibi Visual Studio Code ile Xamarin\u2019de uygulama geli\u015ftirmek m\u00fcmk\u00fcn de\u011fildi. Bu y\u00fczden biz de Visual Studio\u2019yu kullanmaya mecburduk. Ne kadar yava\u015f oldu\u011funu anlatmama gerek yok.<\/p>\n<p>Ek olarak art\u0131k daha h\u0131zl\u0131 \u00e7al\u0131\u015fan emulatorlerle projeleri \u00e7al\u0131\u015ft\u0131rabilece\u011fiz. Biz test etmek istedi\u011fimiz emulatorleri y\u00fckleyece\u011fiz ve bu cihazlar platform farketmeksizin alt alta listeli olarak kar\u015f\u0131m\u0131za \u00e7\u0131kacak. O ge\u00e7 a\u00e7\u0131lan Google Phone emulatorleri geli\u015ftiricilerin can\u0131n\u0131 hayli s\u0131km\u0131\u015ft\u0131. Ve bu y\u00fczden \u00e7\u00f6z\u00fcm\u00fc ba\u015fka emulatorlerde arad\u0131lar. Art\u0131k bir projeyi \u00e7al\u0131\u015f\u0131t\u0131r\u0131rken uzun uzun beklemek zorunda kalmayaca\u011f\u0131z.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"MAUI_Namespace_Isimlendirmeleri\">MAUI Namespace \u0130simlendirmeleri<\/span><\/h2>\n<p>MAUI ile birlikte .NET namespace isimleri de g\u00fcncellenecek ve yeni yap\u0131ya uygun adland\u0131rmalar kullan\u0131lacak. Xamarin.Forms System.Maui olarak, Xamarin.Essentials ise System.Device olarak evrimle\u015fecek.<\/p>\n<p>Bildi\u011finiz gibi bir Xamarin.Forms projesinde Xamarin.Essentials ve Xamarin.Forms NuGet paketleri y\u00fckl\u00fc olarak gelir. Bu eklentilere g\u00fcncelleme geldi\u011finde eski s\u00fcr\u00fcmle \u00e7al\u0131\u015fan uygulamada bazen sorunlar \u00e7\u0131k\u0131yor. Neyse ki MAUI ile Xamarin.Forms ve Xamarin.Essentials projeye eklenti olarak de\u011fil, aksine projenin bir par\u00e7as\u0131 olarak kar\u015f\u0131m\u0131za \u00e7\u0131kacak. \u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" alt=\"System.Maui, System.Devices\" class=\"wp-image-86\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/System.Maui-System.Devices.png\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/System.Maui-System.Devices.png 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/System.Maui-System.Devices-300x195.png 300w\" height=\"455\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>System.Maui, System.Devices<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\"><span id=\"MAUI_Projeleri_Nasil_Baslatilacak\">MAUI Projeleri Nas\u0131l Ba\u015flat\u0131lacak?<\/span><\/h2>\n<p>MAUI ile \u00e7al\u0131\u015fan projeler olu\u015fturmak i\u00e7in macOS\u2019da Visual Studio ve Visual Studio Code, Windows\u2019da ise Visual Studio kullan\u0131labilecek. Ayr\u0131ca .NET CLI deste\u011fi .NET Core CLI\u2019ye eklenecek ve basit bir komutla bir projeyi ba\u015flatabilece\u011fiz.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">dotnet new maui<\/code><\/pre>\n<h2 class=\"wp-block-heading\"><span id=\"Mevcut_Native_Projelere_Ne_Olacak\">Mevcut Native Projelere Ne Olacak?<\/span><\/h2>\n<p>Hem Xamarin.iOS hem de Xamarin.Andorid .NET 6 platformuna dahil olacak. Ve iOS i\u00e7in .NET (.NET for iOS) ve Android i\u00e7in .NET(.NET for Android) olarak adland\u0131r\u0131lacak. Ayr\u0131ca native platformlara da CLI deste\u011fi gelecek ve geli\u015ftirme daha h\u0131zl\u0131 bir hale gelecek.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" alt=\".NET For iOS and Android\" class=\"wp-image-87\" data-lazyloaded=\"1\" data-sizes=\"(max-width: 700px) 100vw, 700px\" data-src=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-For-iOS-and-Android.png\" data-srcset=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-For-iOS-and-Android.png 700w, https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-For-iOS-and-Android-300x166.png 300w\" height=\"388\" src=\"image\/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=\" width=\"700\" \/><figcaption>.NET For iOS and Android<br \/>\n<\/figcaption><\/figure>\n<p>Android ve iOS platformlar\u0131ndaki projeleri ise a\u015fa\u011f\u0131daki CLI komutlar\u0131 ile ba\u015flatabilece\u011fiz. Platformlara \u00f6zel namespacelerde de\u011fi\u015fiklik olmayacak.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">dotnet new ios<\/code><\/pre>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">dotnet new android<\/code><\/pre>\n<h2 class=\"wp-block-heading\"><span id=\"Mevcut_XamarinForms_Projelere_Ne_Olacak\">Mevcut Xamarin.Forms Projelere Ne Olacak?<\/span><\/h2>\n<p>.NET MAUI yay\u0131mland\u0131ktan sonra Forms uygulamalar\u0131na bir s\u00fcre daha destek verilecek. 2022 y\u0131l\u0131na kadar hata d\u00fczeltmelerine destek verilmeye devam edecek. Zaten Xamarin\u2019i destekleyen b\u00fcy\u00fck bir topluluk var. Yani ge\u00e7i\u015f s\u00fcrecinde herhangi bir s\u0131k\u0131nt\u0131 olmayacak.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"MAUIda_Tasarim_Desenleri_MVVM_vs_MVU\">MAUI\u2019da Tasar\u0131m Desenleri (MVVM vs MVU)<\/span><\/h2>\n<p>\u015eu anda Xamarin.Forms projelerinde kulland\u0131\u011f\u0131m\u0131z MVVM tasar\u0131m desenini MAUI\u2019da da kullanabilece\u011fiz. Halihaz\u0131rda bir \u00e7ok Xamarin.Forms uygulamas\u0131 MVVM mimarisi kullan\u0131yor. Yani iste\u011fimize g\u00f6re MVVM deseni ile ya da MVU deseniyle uygulama geli\u015ftirmeye devam edebilece\u011fiz. A\u015fa\u011f\u0131da MVVM deseniyle \u00e7al\u0131\u015fan basit bir \u00f6rnek bulunmaktad\u0131r.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">&lt;StackLayout&gt;\n    &lt;Label Text=&quot;Welcome to .NET MAUI!&quot; \/&gt;\n    &lt;Button Text=&quot;{Binding Text}&quot;\n            Command=&quot;{Binding ClickCommand}&quot; \/&gt;\n&lt;\/StackLayout&gt;<\/code><\/pre>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">public Command ClickCommand { get; }\npublic string Text  { get; set; } = &quot;Click me&quot;;\nint count = 0;\nvoid ExecuteClickCommand ()\n{\n    count++;\n    Text = $&quot;You clicked {count} times.&quot;;\n}<\/code><\/pre>\n<p>E\u011fer Xamarin projelerinizde hala eski y\u00f6ntemi kullan\u0131yorsan\u0131z MVVM mimarisine ge\u00e7menizde fayda var.<\/p>\n<p>MVVM modeline ek olarak MAUI\u2019de MVU<strong>(Model-View \u2013Update)<\/strong> tasar\u0131m deseni deste\u011fi de gelecek. MVU deseni zaten cross-platform uygulamarda \u00e7ok pop\u00fcler. .NET MAUI ile Xamarin.Forms\u2019da bu trende ayak uyduracak.<\/p>\n<p>MVVM deseninde bu komutlar\u0131 ViewModel katman\u0131nda tan\u0131ml\u0131yoruz ve bu da UI\u2019nin yava\u015f g\u00fcncellenmesine sebep oluyor. Art\u0131k MVU\u2019da G\u00f6r\u00fcn\u00fcmleri g\u00fcncellemek i\u00e7in Model\u2019den ViewModel\u2019e bildirim g\u00f6ndermeye gerek kalmayacak. MVU deseninde birka\u00e7 sat\u0131r kod ile dinamik olarak g\u00f6r\u00fcn\u00fcm\u00fc g\u00fcncellemek m\u00fcmk\u00fcn olacak. Sadece gerekli de\u011fi\u015fiklikleri uygulayarak tek y\u00f6nl\u00fc bir veri ak\u0131\u015f\u0131 ile UI h\u0131zl\u0131ca g\u00fcncellenebilecek.<\/p>\n<p>\u00d6rne\u011fin a\u015fa\u011f\u0131da bir .NET MAUI projesinin temel bir saya\u00e7 \u00f6rne\u011fi bulunmaktad\u0131r. Bu MVU deseni kullan\u0131m\u0131na g\u00fczel bir \u00f6rnektir. Dikkat ettiyseniz G\u00f6r\u00fcn\u00fcmler(Views) <strong>[Body]<\/strong> alt\u0131nda tan\u0131ml\u0131.<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">readonly State&lt;int&gt; count = 0;\n[Body]\nView body() =&gt; new StackLayout\n{\n    new Label(&quot;Welcome to .NET MAUI!&quot;),\n    new Button(\n        () =&gt; $&quot;You clicked {count} times.&quot;,\n        () =&gt; count.Value ++)\n    )\n};<\/code><\/pre>\n<p>MVU deseni Blazor deste\u011fini de alacak. Blazor frameworku sayesinde XAML yap\u0131lar\u0131n\u0131n i\u00e7erisinde JavaScript yazarm\u0131\u015f\u00e7as\u0131na g\u00f6r\u00fcn\u00fcme direkt m\u00fcdahele edebilirsiniz. Yani JavaScript yazarm\u0131\u015f gibi C# yazarak UI\u2019y\u0131 daha h\u0131zl\u0131 g\u00fcncelleyebilirsiniz.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"NET_MAUI_Zaman_Cizelgesi\">.NET MAUI Zaman \u00c7izelgesi<\/span><\/h2>\n<p>MAUI\u2019yi .NET 6 ile beraber kullanmaya ba\u015flayaca\u011f\u0131z. Sonra, Microsoft 2020 y\u0131l\u0131n\u0131n sonlar\u0131nda preview s\u00fcr\u00fcm\u00fcn\u00fc, 2021 y\u0131l\u0131n\u0131n sonlar\u0131nda ise final s\u00fcr\u00fcm\u00fcn\u00fc \u00a0yay\u0131mlayacak.<\/p>\n<p><a href=\"https:\/\/github.com\/dotnet\/maui\/wiki\/Roadmap\" rel=\"noreferrer noopener\" target=\"_blank\">MAUI\u2019nin GitHub sayfas\u0131nda<\/a> belirtilen yol haritas\u0131 \u015fu \u015fekilde:<\/p>\n<ul class=\"wp-block-list\">\n<li>(Late 2020) .NET MAUI Preview 1<\/li>\n<li>(Early 2021) .NET MAUI Preview 2<\/li>\n<li>(Early 2021) .NET MAUI Preview 3<\/li>\n<li>(Mid 2021) .NET MAUI Preview 4<\/li>\n<li>(Mid 2021) .NET MAUI Preview 5<\/li>\n<li>(September 2021) .NET MAUI Release Candidate<\/li>\n<li>(November 2021) .NET MAUI General Availability<\/li>\n<\/ul>\n<p>MAUI yay\u0131mlan\u0131ncaya kadar ki s\u00fcre boyunca Xamarin geli\u015ftirmeleri devam edecek.\u00a0 MAUI yay\u0131mland\u0131ktan sonra da 1 y\u0131l boyunca Xamarin deste\u011fi sa\u011flanacak. Bu s\u00fcre zarf\u0131nda Xamarin projelerinin ta\u015f\u0131nmas\u0131 bekleniyor.<\/p>\n<h2 class=\"wp-block-heading\"><span id=\"Sonuc\">Sonu\u00e7<\/span><\/h2>\n<p>MAUI daha fazla \u00f6zelliklere sahip evrimle\u015fmi\u015f bir Xamarin.Forms\u2019dur. Yani eksi\u011fi yok fazlas\u0131 var.<\/p>\n<p>\u00a0\u00d6zetle bizi nas\u0131l yenilikler bekliyor?<\/p>\n<ul class=\"wp-block-list\">\n<li>Eskisi gibi iOS ve Android i\u00e7in ayr\u0131 katmanlara gerek kalmayacak. Yani 3 tane katman 1\u2019e inecek.<\/li>\n<li>MVVM deseninin yan\u0131nda MVU deseni ve Blazor frameworku de desteklenecek.<\/li>\n<li>.NET CLI ile basit bir komutla projeyi ba\u015flatabilece\u011fiz. Art\u0131k dakikalarca projenin aya\u011fa kalkmas\u0131n\u0131 beklemeye son.<\/li>\n<li>Xamarin.Essentials NuGet paketi olarak de\u011fil, System.Device olarak\u00a0 MAUI projesinde olacak. <\/li>\n<li>Xamarin.Native yap\u0131s\u0131 de\u011fi\u015fmeyecek, sadece platformlar\u0131n .NET 6 \u2018daki adlar\u0131 de\u011fi\u015fecek.<\/li>\n<\/ul>\n<p>Bu radikal de\u011fi\u015fiklikler s\u0131ras\u0131nda birlikte geli\u015ftiriciler yeni deneyimler ya\u015fayacak.<\/p>\n<p>Son olarak, bu de\u011fi\u015fiklikler hakk\u0131nda ne d\u00fc\u015f\u00fcn\u00fcyorsunuz. Sizce Xamarin MAUI olarak evrimle\u015fince daha fazla kullan\u0131y\u0131ca ula\u015f\u0131r m\u0131? Yoksa hayal k\u0131r\u0131kl\u0131\u011f\u0131 m\u0131 yaratacak? D\u00fc\u015f\u00fcncelerinizi yorumlarda belirtin.<\/p>\n<p><!-- AI CONTENT END 1 -->\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft her y\u0131l Windows, Windows Phone, Microsoft Azure ve di\u011fer Microsoft teknolojilerini kullanan geli\u015ftiriciler i\u00e7in yapt\u0131\u011f\u0131 Microsoft Build konferans\u0131n\u0131 2020 y\u0131l\u0131n\u0131n May\u0131s ay\u0131nda yapt\u0131. Bu konferansta mobil uygulam<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[575],"tags":[576,577,578,579,580,581,574,42,570,582,19,28,4,15,5],"class_list":["post-5006","post","type-post","status-publish","format-standard","hentry","category-turkish","tag-net-maui","tag-algoritma","tag-dependencyservice","tag-giris-ekrani","tag-kaynak-sozlukleri","tag-malzeme-temasi","tag-monkeycache","tag-mvvm","tag-nuget","tag-onboarding-screen","tag-sqlite","tag-syncfusion","tag-xamarin","tag-xamarin-android","tag-xamarin-forms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>.NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR\" \/>\n<meta property=\"og:description\" content=\"Microsoft her y\u0131l Windows, Windows Phone, Microsoft Azure ve di\u011fer Microsoft teknolojilerini kullanan geli\u015ftiriciler i\u00e7in yapt\u0131\u011f\u0131 Microsoft Build konferans\u0131n\u0131 2020 y\u0131l\u0131n\u0131n May\u0131s ay\u0131nda yapt\u0131. Bu konferansta mobil uygulam\" \/>\n<meta property=\"og:url\" content=\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\" \/>\n<meta property=\"og:site_name\" content=\"Serkan Seker TR\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-25T07:44:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\" \/>\n<meta name=\"author\" content=\"serkanadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"serkanadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\"},\"author\":{\"name\":\"serkanadmin\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"headline\":\".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi\",\"datePublished\":\"2021-01-25T07:44:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\"},\"wordCount\":1377,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\",\"keywords\":[\".net maui\",\"algoritma\",\"DependencyService\",\"giri\u015f ekran\u0131\",\"kaynak s\u00f6zl\u00fckleri\",\"malzeme temas\u0131\",\"MonkeyCache\",\"MVVM\",\"NuGet\",\"onboarding screen\",\"sqlite\",\"syncfusion\",\"xamarin\",\"xamarin.android\",\"xamarin.forms\"],\"articleSection\":[\"Turkish\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\",\"url\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\",\"name\":\".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\",\"datePublished\":\"2021-01-25T07:44:52+00:00\",\"author\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"breadcrumb\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage\",\"url\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\",\"contentUrl\":\"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/serkanseker.com\/tr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\",\"url\":\"https:\/\/serkanseker.com\/tr\/\",\"name\":\"Serkan Seker TR\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/serkanseker.com\/tr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\",\"name\":\"serkanadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"caption\":\"serkanadmin\"},\"sameAs\":[\"https:\/\/serkanseker.com\"],\"url\":\"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR","og_description":"Microsoft her y\u0131l Windows, Windows Phone, Microsoft Azure ve di\u011fer Microsoft teknolojilerini kullanan geli\u015ftiriciler i\u00e7in yapt\u0131\u011f\u0131 Microsoft Build konferans\u0131n\u0131 2020 y\u0131l\u0131n\u0131n May\u0131s ay\u0131nda yapt\u0131. Bu konferansta mobil uygulam","og_url":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/","og_site_name":"Serkan Seker TR","article_published_time":"2021-01-25T07:44:52+00:00","og_image":[{"url":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png","type":"","width":"","height":""}],"author":"serkanadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"serkanadmin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#article","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/"},"author":{"name":"serkanadmin","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"headline":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi","datePublished":"2021-01-25T07:44:52+00:00","mainEntityOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/"},"wordCount":1377,"commentCount":0,"image":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png","keywords":[".net maui","algoritma","DependencyService","giri\u015f ekran\u0131","kaynak s\u00f6zl\u00fckleri","malzeme temas\u0131","MonkeyCache","MVVM","NuGet","onboarding screen","sqlite","syncfusion","xamarin","xamarin.android","xamarin.forms"],"articleSection":["Turkish"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/","url":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/","name":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi - Serkan Seker TR","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage"},"image":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png","datePublished":"2021-01-25T07:44:52+00:00","author":{"@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"breadcrumb":{"@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#primaryimage","url":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png","contentUrl":"https:\/\/www.serkanseker.com\/tr\/wp-content\/uploads\/2021\/01\/NET-MAUIye-Giris.png"},{"@type":"BreadcrumbList","@id":"https:\/\/serkanseker.com\/tr\/net-maui-multiplatform-app-ui\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serkanseker.com\/tr\/"},{"@type":"ListItem","position":2,"name":".NET MAUI Nedir? Xamarin.Forms\u2019un Evrimi"}]},{"@type":"WebSite","@id":"https:\/\/serkanseker.com\/tr\/#website","url":"https:\/\/serkanseker.com\/tr\/","name":"Serkan Seker TR","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serkanseker.com\/tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5","name":"serkanadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","caption":"serkanadmin"},"sameAs":["https:\/\/serkanseker.com"],"url":"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/5006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/comments?post=5006"}],"version-history":[{"count":0,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/5006\/revisions"}],"wp:attachment":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media?parent=5006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/categories?post=5006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/tags?post=5006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}