- Видео 290
- Просмотров 2 849 889
SingletonSean
США
Добавлен 28 сен 2019
Hi, I’m Sean! I’m a software developer with a long history of .NET development (mostly desktop). Outside of the .NET world, I have a huge passion for building web applications and I use Neovim btw.
This channel is focused on .NET desktop development and general software development topics. I try to present topics in a practical and entertaining way so that you can easily apply them to your own projects.
Overall, my goal is to further empower you with knowledge, skills, and experience to build a successful project… or in other words, be a “rockstar” software developer (yes, you heard that right)!
This channel is focused on .NET desktop development and general software development topics. I try to present topics in a practical and entertaining way so that you can easily apply them to your own projects.
Overall, my goal is to further empower you with knowledge, skills, and experience to build a successful project… or in other words, be a “rockstar” software developer (yes, you heard that right)!
Setup Logging in Your .NET MAUI Application (feat. Serilog)
Setup logging in a .NET MAUI application with Serilog!
🕗 Timestamps:
0:00 - Introduction
0:35 - Installing Packages
2:28 - Configuring
3:25 - Using the Logger
4:12 - Adding Sinks (Debug, File)
6:17 - Summary
📦 Source code: github.com/SingletonSean/streakathon/tree/video/serilog
🔁 Full playlist: ruclips.net/p/PLA8ZIAm2I03gIo-USwFl-i9gUlvbW0BSS
🔗 Serilog Repository: github.com/serilog/serilog
💎 Become a Member: ruclips.net/channel/UC7X9mQ_XtTYWzr9Tf_NYcIgjoin
🏠 Discord: discord.gg/6hkR98BaCz
🐤 Twitter: SingletonSean_
🏆 Donate: www.paypal.com/donate?hosted_button_id=UBZCZWX2UVWJE
✉️ Email: youtube@singletonsean.com
➖➖➖➖➖➖➖➖➖➖
© Credits
🎵 Outro: pixabay.com/music/synthwave-computer-love-121106/
🕗 Timestamps:
0:00 - Introduction
0:35 - Installing Packages
2:28 - Configuring
3:25 - Using the Logger
4:12 - Adding Sinks (Debug, File)
6:17 - Summary
📦 Source code: github.com/SingletonSean/streakathon/tree/video/serilog
🔁 Full playlist: ruclips.net/p/PLA8ZIAm2I03gIo-USwFl-i9gUlvbW0BSS
🔗 Serilog Repository: github.com/serilog/serilog
💎 Become a Member: ruclips.net/channel/UC7X9mQ_XtTYWzr9Tf_NYcIgjoin
🏠 Discord: discord.gg/6hkR98BaCz
🐤 Twitter: SingletonSean_
🏆 Donate: www.paypal.com/donate?hosted_button_id=UBZCZWX2UVWJE
✉️ Email: youtube@singletonsean.com
➖➖➖➖➖➖➖➖➖➖
© Credits
🎵 Outro: pixabay.com/music/synthwave-computer-love-121106/
Просмотров: 646
Видео
Setup Authentication in .NET MAUI (feat. Firebase Authentication V4)
Просмотров 89214 дней назад
Learn how to setup Firebase Authentication in a .NET MAUI application! 🕗 Timestamps: 0:00 - Introduction 0:27 - Project Setup 1:46 - Installation 2:32 - Configuration [new FirebaseAuthConfig()] 4:27 - Boilerplate MVVM Pages… 5:51 - Sign In [FirebaseAuthClient.SignInWithEmailAndPasswordAsync()] 8:40 - Sign Up [FirebaseAuthClient.CreateUserWithEmailAndPasswordAsync()] 10:54 - Profile Details [Fir...
Automatic Versioning with Changesets - MAUI CI/CD TUTORIAL #5 (Windows)
Просмотров 452Месяц назад
Learn how to setup automatic versioning in a GitHub Actions CI/CD pipeline via Changesets! 🕗 Timestamps: 0:00 - Introduction 0:30 - The Problem w/ Manual Versioning 1:02 - Hello, Changesets! 2:46 - Setting up Changesets 4:34 - Using Changesets 6:52 - Running Changesets in GitHub Actions 15:55 - Testing and Fixing Permissions Issues 19:37 - Summary 📦 Source code: github.com/SingletonSean/maui-tu...
How I Launched A Website That Generated $3.98 In Revenue
Просмотров 1,5 тыс.Месяц назад
I launched a website that (kinda) had users! Hear about what I built, how I built it, and what I learned so that you can potentially build your own product that makes way more money than I did. 🕗 Timestamps: 0:00 - Introduction 0:36 - Problem 1:17 - Initial Concept 1:50 - Validating the Idea 5:22 - Building the First Real Version! 9:05 - The Pivot 13:08 - Monetization?! 16:16 - Takeaways 🔗 Webs...
Why SingletonSean?
Просмотров 1,1 тыс.Месяц назад
Yes, SingletonSean is somewhat of an odd name. This is the story of how I chose the name SingletonSean! 🕗 Timestamps: 0:00 - Introduction 0:39 - The Internship 1:22 - Encountering Singletons 2:28 - Growth and Learning 3:25 - RUclips Channel 4:28 - Thank You! 💎 Become a Member: ruclips.net/channel/UC7X9mQ_XtTYWzr9Tf_NYcIgjoin 🏠 Discord: discord.gg/6hkR98BaCz 🐤 Twitter: SingletonSean_...
Automatic Updates - MAUI CI/CD TUTORIAL #4 (Windows)
Просмотров 845Месяц назад
Learn how to setup automatic updates for a MAUI Windows application from a GitHub Actions CI/CD pipeline! 🕗 Timestamps: 0:00 - Introduction 1:48 - Creating the App Installer File 6:00 - Uploading Release Assets for App Installer File 7:40 - Testing and Fixing Things 10:41 - Summary 📦 Source code: github.com/SingletonSean/maui-tutorials 🔁 Full playlist: ruclips.net/p/PLA8ZIAm2I03iO8MxhOt0U-Ib6zS...
Versioning and Releasing - MAUI CI/CD TUTORIAL #3 (Windows)
Просмотров 439Месяц назад
Learn how to create versioned GitHub releases for a MAUI Windows application from a GitHub Actions CI/CD pipeline! 🕗 Timestamps: 0:00 - Introduction 1:03 - Extracting the Version 2:35 - Creating a Version Tag 4:05 - Creating a Release 6:09 - Granting Workflow Permissions 6:40 - Testing 7:13 - Summary 📦 Source code: github.com/SingletonSean/maui-tutorials/blob/master/.github/workflows/deploy.yml...
Certificate Signing - MAUI CI/CD TUTORIAL #2 (Windows)
Просмотров 5522 месяца назад
Learn how to sign a MAUI Windows application with a certificate in a GitHub Actions CI/CD pipeline! 🕗 Timestamps: 0:00 - Introduction 0:44 - Creating a Self-Signed Certificate 3:12 - Getting the Certificate Into GitHub Actions 5:44 - Signing the MSIX with the Certificate 7:32 - Testing and Fixing Things 9:01 - Trusting the Certificate and Installing! 9:33 - Summary 📦 Source code: github.com/Sin...
Publishing - MAUI CI/CD TUTORIAL #1 (Windows)
Просмотров 8792 месяца назад
Learn how to publish a MAUI Windows application in a GitHub Actions CI/CD pipeline! 🕗 Timestamps: 0:00 - Introduction 0:49 - Workflow Definition 2:18 - Workflow Steps 6:23 - Testing 7:08 - Next Steps 📦 Source code: github.com/SingletonSean/maui-tutorials/blob/master/.github/workflows/deploy.yml 🔁 Full playlist: ruclips.net/p/PLA8ZIAm2I03iO8MxhOt0U-Ib6zS97_aV7 🔗 GitHub Actions: docs.github.com/e...
Contributing To Open-Source For The First Time
Просмотров 2,7 тыс.2 месяца назад
I made my first ever contribution to an open-source project! Hopefully this story inspires others to try contributing to open-source projects out there 😁 🕗 Timestamps: 0:00 - Introduction 0:30 - Context 0:54 - Problem 2:03 - Running Locally 2:55 - Reproducing 4:04 - Fixing! 4:48 - An Alternate Solution… 6:29 - The Pivot 7:44 - Automated Testing! 9:42 - Opening the Pull Request 10:31 - Takeaways...
Is Your MAUI Application UI Responsive?
Просмотров 1,3 тыс.2 месяца назад
Learn how to build a responsive, cross-platform UI in .NET MAUI! 🕗 Timestamps: 0:00 - Introduction 0:33 - Problem With Style Inheritance 1:54 - Solution With Style Classes 3:27 - Summary 📦 Source code: github.com/SingletonSean/maui-tutorials/tree/master/ResponsiveDesign 🔁 Full playlist: ruclips.net/p/PLA8ZIAm2I03gIo-USwFl-i9gUlvbW0BSS 💎 Become a Member: ruclips.net/channel/UC7X9mQ_XtTYWzr9Tf_NY...
I’m So Glad MAUI Has XAML Style Classes
Просмотров 1,4 тыс.3 месяца назад
Learn how to efficiently compose styles in .NET MAUI! 🕗 Timestamps: 0:00 - Introduction 0:33 - Problem With Style Inheritance 1:54 - Solution With Style Classes 3:27 - Summary 🔗 MAUI Styling Documentation: learn.microsoft.com/en-us/dotnet/maui/user-interface/styles/xaml?view=net-maui-8.0 📦 Source code: github.com/SingletonSean/maui-tutorials/tree/master/StyleClassesRock 🔁 Full playlist: ruclips...
How to Create Custom Code Snippets in Visual Studio (feat. MAUI Bindable Properties)
Просмотров 1,4 тыс.3 месяца назад
Let's create a custom code snippet and make our lives easier! 🕗 Timestamps: 0:00 - Introduction 0:15 - Setup 0:41 - Metadata 1:29 - Code Template 2:06 - Variables / Literals 4:05 - Importing to Visual Studio 5:05 - Cleaning Up 6:16 - Summary 🔗 Example Snippet (propbp): singletonsean.s3.amazonaws.com/propbp.snippet 🔗 Code Snippets Documentation: learn.microsoft.com/en-us/visualstudio/ide/code-sn...
I Hope You’re Extracting MAUI Components
Просмотров 1,3 тыс.3 месяца назад
Creating custom MAUI components is the way. 🕗 Timestamps: 0:00 - Problem 1:01 - Creating a Custom Component 1:58 - Defining Attributes (Bindable Properties) 3:40 - Using a Custom Component 4:42 - Referencing Attributes 6:21 - Summary 📦 Source code: github.com/SingletonSean/maui-tutorials/tree/master/ContentViewComponents 💎 Become a Member: ruclips.net/channel/UC7X9mQ_XtTYWzr9Tf_NYcIgjoin 🏠 Disc...
Accidentally Building the Greatest .NET MAUI Meta-Framework
Просмотров 2,7 тыс.4 месяца назад
One day, I accidentally created a C# MAUI component instead of a XAML MAUI component... 🕗 Timestamps: 0:00 - Building a UI with… C#? 1:36 - What About Bindings? 3:04 - Storing State 3:53 - Updating the UI 4:58 - Updating State 7:19 - Conditional Rendering 8:28 - Cloning State 9:13 - The Bad 📦 Source code: github.com/SingletonSean/maui-tutorials/tree/master/ReactiveCodeBehind 💎 Become a Member: ...
Simplify Configuration via Polymorphism
Просмотров 1,8 тыс.4 месяца назад
Simplify Configuration via Polymorphism
The Right Way to Conditional Render in .NET MAUI
Просмотров 3,5 тыс.4 месяца назад
The Right Way to Conditional Render in .NET MAUI
Securely Persist Local Data in .NET MAUI (Secure Storage)
Просмотров 1,4 тыс.4 месяца назад
Securely Persist Local Data in .NET MAUI (Secure Storage)
Do You Really Need a Data Transfer Object?
Просмотров 5 тыс.4 месяца назад
Do You Really Need a Data Transfer Object?
Refactor Your App to The MVVM Community Toolkit (feat. WPF!)
Просмотров 9 тыс.5 месяцев назад
Refactor Your App to The MVVM Community Toolkit (feat. WPF!)
You Might Not Need That Interface
Просмотров 1,8 тыс.5 месяцев назад
You Might Not Need That Interface
Why Are You Using Async/Await? (feat. WPF)
Просмотров 6 тыс.5 месяцев назад
Why Are You Using Async/Await? (feat. WPF)
Create a Custom Link Component in MAUI (via Inheritance)
Просмотров 1,1 тыс.6 месяцев назад
Create a Custom Link Component in MAUI (via Inheritance)
Binding MAUI Views to View Models (w/ Dependency Injection!) - MAUI TUTORIALS
Просмотров 2,7 тыс.6 месяцев назад
Binding MAUI Views to View Models (w/ Dependency Injection!) - MAUI TUTORIALS
A Readable and “DRY” Approach to Guard Clauses?
Просмотров 2,3 тыс.6 месяцев назад
A Readable and “DRY” Approach to Guard Clauses?
Navigation Made Easy (w/ MVVM) - MAUI TUTORIALS
Просмотров 4,7 тыс.7 месяцев назад
Navigation Made Easy (w/ MVVM) - MAUI TUTORIALS
Is It Okay To Put Properties on Interfaces?
Просмотров 2,8 тыс.7 месяцев назад
Is It Okay To Put Properties on Interfaces?
The Ultimate Guide to Testing in .NET
Просмотров 1,6 тыс.7 месяцев назад
The Ultimate Guide to Testing in .NET
Can Your .NET Application Run in Isolation? (feat. MAUI)
Просмотров 9307 месяцев назад
Can Your .NET Application Run in Isolation? (feat. MAUI)
MAUI will grow up and i also believe there is hope for it.
Very good explained. This is the best explantation I found in three languages :D
Cool! Thanks!
Thanks for your advice ! I improve my Maui code !
What if you set Thickness to 0? ;D You can't divide by zero and i guess you haven't add a check for this xD I like finding bugs
I mean this is cool but you could have just used ViewBox!
thanks! perfect lesson
Fantastic tutorial. It's very educational. Thank you for taking the time to make them.
You know what, this Xaml cannot do conditional rendering easily. Too sad
Properties are literally methods lol. Yes it's okay. I really don't know why this is a question. C# devs need to spend some time in early Java land.
To distribute windows application only in maui so i have remove other target platforms when try to publish using side loading. Generateappx package does not exist issue occur. How to resolve?
Hey Sean, this is a wonderful explanation - however, its not environment specific. This is build type specific. In turn, if you have a local, dev, qa, and prod deployed environments (almost all will be built using Release) its not useful. Please consider renaming the video. Misleading.
Thank you so much. I'm also developing MAUI App and I want to implement logging and file persistence logs but if you notice that to access these file logs is a bit complicated for the end-user. What would you recommend to add in the App to access these logs and send it to the developer or any other approaches ?
Can you tell me nugets for Fireabse database , firebase pushnotification also which works great for maui
🎯 Key points for quick navigation: 00:00 *🏨 Understanding MVVM architecture for WPF applications* - MVVM architecture separates the view layer into models (M), views (V), and view models (VM) - Exploring the concept of models and how domain logic is encapsulated within them - Creating classes for a hotel, reservation book, reservation, and room id to represent the domain model 02:07 *🛠️ Implementing model functionality* - Organizing classes into folders within the project structure - Defining methods within the model layer to interact with the domain logic - Handling reservation conflicts and implementing exception handling within the model layer 08:13 *📝 Refining model functionality for user interactions* - Introducing user identification within the reservation class - Opting for a list data structure over a dictionary for simplicity and ease of use - Defining methods in the model layer to support user actions such as viewing and making reservations Made with HARPA AI
Your video is certainly one of the best.
This was really really helpful video. Turned out I was using serilog wrong way. I had been referencing ILogger from serilog instead of Ilogger from Microsoft logging package.
Thank you :)
What's the deal? If it's too fast, you're too old? 🤔
Thanks. You helped to solve my problem at work. Highly appreciated.
Woohoo, glad this helped!
Oh wow, I heard Ninja has figma too
Granted I'm not exactly a beginner but I actually do like the speed. I tend to just watch videos like these without following along and then implement the concepts in my projects at a later time. I disagree with the people who say it's bad I think it's just an intermediate level tutorial that assumes a certain level of familiarity. For those with problems I would remind you that MVVC and design patterns in general tend to be more advanced programming concepts. There is no shame in wanting a slower format that goes into more details but for people who are just looking to pick up MVVC and little else I believe this is actually a pretty good tutorial which is why it's the first result when searching for such a thing.
So the DependencyProperty allows access to properties and commands in a ViewModel, from code-behind?
I’m actually a bit surprised that MAUI does not provide something more elegant than that since it aims at targeting mobile platforms. This trick is totally applicable and practical for traditional WPF apps. Looks like stagnating 🤔
If ItemControl has suppose 10 items. I want to show left and right arrow instead of scrollbar so that user can click those arrows to navigate to different items itemcontrol. How to achieve this ?
At 15:30 it is mentioned that we create LoadMajorIndexViewModel method to avoid calling LoadMajorIndexes method via constructor each time MajorIndexViewModel is instantiated, but with line 25 we instantiate MajorIndexViewModel so it is becoming the same thing. The catch here is that in both cases we still instantiate MajorIndexViewModel, where is the benefit of this approach?
I love U
Fantastic, really detailed and nicely done
Good video but should it be this hard to do something like this?
This was so clear and helpful! Thanks so much! :)
Do you have a example for google sign in with .NET MAUI firebase?
OMG every wpf keywords and concepts are in this serie , i cant handel all this informations hh btw thank u for this you are so good at mvvm structure , i will take only what i need since i have a limited time , have a greate day
I built a warehouse management system in maui. Works really well, there are qwerks but nothing thats a show stopper. Initially the move to vs code was frustrating but now work well
Bro do it for winui with win app sdk
What are your thoughts on .NET MAUI?
I'd love some discussing on why to sort where. IOW, when does it make sense to pull the data sorted, when to sort in client side code, and when to allow whatever datagrid you are populating to do the sorting.
That's intresting. Everywhere else I saw that Models are what is in the Database, and DTO are the smaller version, where only needed data is passed to the view. Is this different for MVVM, because the Model here is so important in this architecture, or do you always do it like that?
7 months on and it's not looking good. As someone who maintains some Xamarin Forms apps its going to be a nightmare to transition them over and there are a lot of things still missing in MAUI. I don't think the economics of maintaining MAUI stack up in Microsoft's mind, that's the only explanation I can come up with for how poorly resourced and supported it is. Perhaps its a different situation for new developers coming to the platform building greenfield apps but tbh none of the big tech firms are recognising that we have a huge number of apps billions of people rely on everyday and every change they make to the platforms we use to develop them affects real users. Oh well I guess it's time to brush up on my skills on other app development platforms as at the moment I don't see MAUI surviving.
Hi, enjoyed your video but when I follow it for windows only application I don't get the "Create a new MSIX publish profile". I want to create a self contained installer. Thanks
Amazing work
where the MVVMEssentials.Commands;?
Great vid! Thanks for the useful information
I tell you what, I'm new to MVVM, and it seems like the amount of extra classes and code and workarounds needed to do things that should be simple, makes me question the value of using it.
Why are you registering this using Singleton vs transient?
Good question! It actually won't make a difference either way. The <AppShell /> will only resolve the value once, even if it's registered as transient. That said, I prefer to register it as a Singleton to align with this behavior.
Do we have to have the properties on the ReservationViewModel?
Maybe someone can clarify this for me, at 15:09 Sean adds a binding setting to UpdateSourceTrigger on PropertyChanged. That seems like a lot of overhead to me, to re-instantiate our MakeReservationViewModel every time a new character is typed. Is this actually OK in practice and what is the reasoning to update the binding so frequently?