December 21st, 2020

Xamarin Holiday Hack Ideas

David Ortinau
Principal Product Manager

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.

Xamarin.Forms 5

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:

  • UWP XAML Hot Reload
  • Shell updates like FlyoutWidth and FlyoutFooter
  • CarouselView
  • Drag & Drop
  • Shapes and Paths
  • Swipe View
  • Gradient Brushes
  • Surface Duo
  • And more!

Image xf 5 ipad

Xamarin Community Toolkit

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’re going to need to make that 3!

Image toolkit 1

Ride the Comet

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’re 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’t look now, but you can use Visual Studio Code and C# Hot Reload with it.

[Body]
View body()
    => new VStack {
        new Text(()=> $"({comet.Rides}) rides taken:{comet.CometTrain}")
            .Frame(width:300)
            .LineBreakMode(LineBreakMode.CharacterWrap)
            ,

        new Button("Ride the Comet! ☄️", ()=>{
            comet.Rides++;
        })
            .Frame(height:44)
            .Margin(8)
            .Color(Color.White)
            .Background(Color.Green)
        .RoundedBorder(color:Color.Blue)
        .Shadow(Color.Grey,4,2,2),
    };

Fabulous

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’ve 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.

Mac Catalyst

Are you eager to see your iOS apps running on macOS as desktop apps? This is what Catalyst does for you, and it’s coming to .NET 6! Apple has been shipping their own apps such as News, Messages, and Maps to macOS using Catalyst.

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 “everything”. Follow the link below to get started and be sure to share your feedback on GitHub.

Get Hacking

We hope you’ll 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.

Author

David Ortinau
Principal Product Manager

David is a Principal Product Manager for .NET at Microsoft, focused on .NET MAUI. A .NET developer since 2002, and versed in a range of programming languages, David has developed web, environmental, and mobile experiences for a wide variety of industries. After several successes with tech startups and running his own software company, David joined Microsoft to follow his passion: crafting tools that help developers create better app experiences. When not at a computer or with his family, David is running through the woods.

1 comment

Discussion is closed. Login to edit/delete existing comments.

Newest
Newest
Popular
Oldest
  • saint4eva

    I can’t wait to test MVU C# in Maui.

Feedback