.NET MAUI For C# Developers

In Stores Now!

Very excited about this book. Feedback is very welcome at jesseliberty@gmail.com.


Posted in Essentials | Leave a comment

Yet Another Podcast – NDepend

Excited to have Patrick Smacchia of NDepend on to discuss this amazing tool for creating world-class .NET applications.

Use Cases
Download NDepend

Posted in Essentials | Tagged | Leave a comment

XAML vs C#

My latest book: Learn .NET MAUI — An Essential Guide for C# Developers will be released March 31, 2023.

Given the existence and likely enhancements to the .NET MAUI Community Markup Toolkit for C#, and that many people will come to MAUI with little or no XAML (or will know XAML and hate it), I was tempted to show all of the code in C#.

But the truth is that most extant User Interface code is in XAML and anything you can do in C# you can do in XAML. So, at least for the first edition, the majority of the code is in XAML with one full view recreation in C#

Here is the Table of Contents:

  1. Assembling your tools and creating your first app
  2. What we will build: Forget Me Not
  3. XAML and C#
  4. MVVM And Controls
  5. Advanced Controls
  6. Layout
  7. Understanding Navigation
  8. Storing and retrieving data
  9. Unit Tests
  10. Consuming a REST API
  11. Advanced Topics

I’m eager to hear your ideas about this decision.


Posted in Essentials | Leave a comment

.NET MAUI Triggers

Triggers in .NET MAUI are not that different from triggers in Xamarin.Forms, but since this is not a frequently used feature, I thought I’d provide a quick deep-dive into their usage.

Triggers allow you to declare, in your XAML, how a control should appear based on data changes. You can combine state triggers with Visual State, a topic I’ll cover in a subsequent blog post.

This is the first of a series of short pieces based on material in my forthcoming book .NET MAUI For C# Developers (Packt* Publishing) which we are targeting for publication in early April.

Continue reading
Posted in Essentials | Leave a comment

Blast from the past: Xamarain TDD (2016)

This video, from evolve 2016 covers Test Driven Development in Xamarin.Forms.

Posted in Essentials | Tagged , , , | Leave a comment

Best Posts & Podcasts of 2022 – JesseLiberty.com

Picking the best blog posts is pretty painless as I’m the only one posting, so there is no one to insult, but picking the best podcasts risks slighting some of the amazing people who came on Yet Another Podcast.

5 Best Blog Posts

The best blog posts are those that either alone or in a series teach something valuable and current. For 2022, these stand out:

5 Best Podcasts

We had 11 fantastic podcasts in 2022, how do I pick the top five? The only reasonable approach is by their popularity. In date order, they are:

It was quite a year for me as well. I started my newest book .NET MAUI for C# Developers (Packt) to be released at the end of the summer (or, I hope, earlier!)

I also moved from Twitter to Mastodon, which was a big and terrific change. I opened my tiny book store, mostly to keep track of my favorite books, and I opened a new web site for my novel in search of an agent.

Along the way I shed 100 pounds, trained my dog not to pull and, oh yeah, worked full time writing mobile applications for CNH Industrial.

Welcome to what someone on Mastodon called 2020 v3. Let’s hope it is a good and safe year.

Simon (2 year old pointer-mix rescue)
Posted in Essentials, Opinion, Review | Tagged , , | Leave a comment

David Ortinau on .NET MAUI

David Ortinau, Program Manager .NET and voice of .NET MAUI discusses MAUI as a platform, Blazor Hybrid, Community Toolkits, as well as what’s on the road map for .NET MAUI.

Posted in .NET MAUI, Blazor Hybrid, Microsoft, Podcast, Programming | Tagged | Leave a comment

Bill Wagner on C# 11 – Part 1

Bill Wagner creates C# learning and reference materials for https://learn.microsoft.com. He works with colleagues on the C# team, related content teams, and customers to provide resources for everyone that wants to learn more about C#. He’s also a member of the ECMA C# Standardization committee, working to update the C# standard.

I asked Bill, to come talk about C# 11 and to do so from the perspective of a programmer who stopped following the newest additions to C# as of C# 7 or 8 or so. That is, how do we catch up if we’ve fallen behind on the latest features?

This is part one, in which we discuss, among other things, Pattern Matching.

Here is a link to the tutorial Bill describes.

And here is a link to the top of the C# documentation.

Posted in C# 11, Essentials | Tagged | Leave a comment

Mark Price on C# 11

Mark Price joined me to discuss C# 11 and his books, C# 11 and .NET 7 and Apps and Services with .NET 7. Both books are available in my tiny book store, listed under Favorite books for programmers.

Note: A gremlin got into the original audio; fixed now. I apologize for the inconvenience.

Posted in C# 11, Podcast | Tagged , | Leave a comment

.NET MAUI – Forget Me Not – 7 – Unit Testing

Picking up where we left off, I want to add unit tests to my program. Now, I know, I should have been using unit tests all along. I have no excuse and hang my head in shame.

To get started, I’ve decided to add xUnit through NuGet. Easy peasy. But it won’t work. The full explanation is here. Great article. Here, in a nutshell are the steps you need to perform:

  1. Create an xUnit test project in the same solution as ForgetMeNot
  2. Make sure it runs
  3. Add a reference to the ForgetMeNot project
  4. This wil not run yet. Here is where the fun begins
  5. First, open up the ForgetMeNot project and change the TargetFrameworks to

6. Replace the output statement with

<OutputType Condition="'$(TargetFramework)' != 'net6.0'">Exe</OutputType>

7. Unload ForgetMeNot, reload it, close Visual Studio, open Visual Studio and voila! it will work

(The whys and wherefores are explained very well in the article referenced above)

NSubstitute for mocking

Continue reading
Posted in .NET MAUI, Essentials, Testing | Tagged | Leave a comment

.NET MAUI Forget Me Not – Part 6.5

I have posted the (incomplete) code at https://github.com/jesseliberty/GraniteStateForgetMeNot and a video of much of the material captured in this series is now on YouTube

Posted in .NET MAUI, Mini-Tutorial | Tagged , , | 1 Comment

Newsletter about my novel

I’ve started a newsletter where I am publishing the first chapter of my novel, one sentence per day. This is not a techie novel, but check it out anyway. More at my fiction web site.

Posted in Non-technical | Tagged , | Leave a comment