{"id":48368,"date":"2020-12-21T12:15:01","date_gmt":"2020-12-21T20:15:01","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/xamarin\/?p=48368"},"modified":"2020-12-22T13:52:45","modified_gmt":"2020-12-22T21:52:45","slug":"xamarin-holiday-season-hack-ideas","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/xamarin\/xamarin-holiday-season-hack-ideas\/","title":{"rendered":"Xamarin Holiday Hack Ideas"},"content":{"rendered":"<p>Are you looking for some code-related diversions this holiday season to pass the time and have some fun? So are we! Here are some ideas to help inspire us all.<\/p>\n<h2>Xamarin.Forms 5<\/h2>\n<p>This latest release of Xamarin.Forms is packed with cool updates to explore, whether you want to upgrade an existing project or start something fresh. Here are a few of the cool things you can experiment with this holiday season:<\/p>\n<ul>\n<li>UWP XAML Hot Reload<\/li>\n<li>Shell updates like FlyoutWidth and FlyoutFooter<\/li>\n<li>CarouselView<\/li>\n<li>Drag &amp; Drop<\/li>\n<li>Shapes and Paths<\/li>\n<li>Swipe View<\/li>\n<li>Gradient Brushes<\/li>\n<li>Surface Duo<\/li>\n<li>And more!<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-1024x775.png\" alt=\"Image xf 5 ipad\" width=\"640\" height=\"484\" class=\"aligncenter size-large wp-image-48372\" srcset=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-1024x775.png 1024w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-300x227.png 300w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-768x581.png 768w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-1536x1162.png 1536w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/xf-5-ipad-2048x1550.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/xamarin-forms-5-preview\/\">Xamarin.Forms 5 Preview: Advanced UI Controls for Beautiful Apps (microsoft.com)<\/a><\/li>\n<\/ul>\n<h2>Xamarin Community Toolkit<\/h2>\n<p>The newly rebooted toolkit is now home to MediaElement, CameraView, Expander, and C# UI helpers just to name a few. Beyond view controls, the toolkit also have gestures like LongPress, every value converter you can imagine, and other behaviors and effects. Once upon a time you could say all Xamarin apps had 2 libraries: Forms and Essentials. With the Xamarin Community Toolkit we\u2019re going to need to make that 3!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-1024x652.png\" alt=\"Image toolkit 1\" width=\"640\" height=\"408\" class=\"aligncenter size-large wp-image-48370\" srcset=\"https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-1024x652.png 1024w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-300x191.png 300w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-768x489.png 768w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-1536x978.png 1536w, https:\/\/devblogs.microsoft.com\/xamarin\/wp-content\/uploads\/sites\/44\/2020\/12\/toolkit-1-2048x1304.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/xamarin\/XamarinCommunityToolkit\">Xamarin Community Toolkit on GitHub<\/a><\/li>\n<\/ul>\n<h2>Ride the Comet<\/h2>\n<p>Built atop Xamarin native UI controls, Comet is an app model experience from James Clancey that favors C# fluent syntax and a simplified take on the Model-View-Update (MVU) pattern. If you\u2019re looking to stay within C# and .NET, and learn how MVU differs from other patterns like MVVM, then Comet is for you. It also boast first class SkiaSharp support, and a large number of sample pages to play with. And don\u2019t look now, but you can use Visual Studio Code and C# Hot Reload with it.<\/p>\n<pre><code class=\"csharp\">[Body]\nView body()\n    =&gt; new VStack {\n        new Text(()=&gt; $\"({comet.Rides}) rides taken:{comet.CometTrain}\")\n            .Frame(width:300)\n            .LineBreakMode(LineBreakMode.CharacterWrap)\n            ,\n\n        new Button(\"Ride the Comet! \u2604\ufe0f\", ()=&gt;{\n            comet.Rides++;\n        })\n            .Frame(height:44)\n            .Margin(8)\n            .Color(Color.White)\n            .Background(Color.Green)\n        .RoundedBorder(color:Color.Blue)\n        .Shadow(Color.Grey,4,2,2),\n    };\n<\/code><\/pre>\n<ul>\n<li><a href=\"https:\/\/github.com\/Clancey\/Comet\">Comet on GitHub<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Clancey\/Comet\/wiki\/Getting-Started\">Getting Started with Comet<\/a><\/li>\n<\/ul>\n<h2>Fabulous<\/h2>\n<p>Before Comet came the Fabulous project, and Elm inspired framework written in F# that uses Xamarin.Forms controls to deliver native apps. Developers tell me they love the built in hot reload and uni-directional flow of state. Recently we\u2019ve had several guest blog posts here about Fabulous, and some useful community presentations at virtual events can help get you started on your functional journey.<\/p>\n<ul>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/fabulous-functional-app-development\/\">Fabulous: Functional App Development (microsoft.com)<\/a><\/li>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/xamarin\/fabulous-going-beyond-hello-world\/\">Fabulous: Going Beyond Hello World (microsoft.com)<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=CGSYyK8-sik\">F# Fabulous &#8211; Beyond MVU Basics | The Xamarin Show (youtube.com)<\/a><\/li>\n<\/ul>\n<h2>Mac Catalyst<\/h2>\n<p>Are you eager to see your iOS apps running on macOS as desktop apps? This is what Catalyst does for you, and it\u2019s coming to .NET 6! Apple has been shipping their own apps such as News, Messages, and Maps to macOS using Catalyst.<\/p>\n<p>We have a very early prototype that enables this functionality, and would love for you to try it. But be warned, as iOS team engineer Rolf responded when asked what was left to be done, he said \u201ceverything\u201d. Follow the link below to get started and be sure to share your feedback on GitHub.<\/p>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/dotnet-catalyst\">Catalyst wiki<\/a><\/li>\n<\/ul>\n<h2>Get Hacking<\/h2>\n<p>We hope you\u2019ll find something inspiring to work on this holiday season that refreshes you and puts a smile on your face. Be sure to share with us all on Twitter, Twitch, or YouTube and tag it with #dotNetHolidayHacks. Seeing what you do with .NET really does help to fuel us all year round.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are you looking for some code-related diversions this holiday season to pass the time and have some fun? So are we! Here are some ideas to help inspire us all.<\/p>\n","protected":false},"author":553,"featured_media":48372,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,1,291,367],"tags":[9191,9168,6604],"class_list":["post-48368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers","category-xamarin","category-xamarin-platform","category-xamarin-forms","tag-holiday-hack","tag-xamarin-forms-5","tag-xaml-hot-reload"],"acf":[],"blog_post_summary":"<p>Are you looking for some code-related diversions this holiday season to pass the time and have some fun? So are we! Here are some ideas to help inspire us all.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/48368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/users\/553"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/comments?post=48368"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/posts\/48368\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media\/48372"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/media?parent=48368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/categories?post=48368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/xamarin\/wp-json\/wp\/v2\/tags?post=48368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}