Gone Mobile  By  cover art

Gone Mobile

By: Jonathan Dick Allan Ritchie
  • Summary

  • All the latest in .NET Mobile & MAUI (formerly Xamarin) developer technologies, covering in-depth topics ranging from Android, iOS, macOS and Windows, to mobile marketing, design and more!
    © 2024 Jonathan Dick, Allan Ritchie, Greg Shackles
    Show more Show less
Episodes
  • 109: Dependency Injection - Beyond the Basics
    Jun 7 2024
    The conversation delves into the topic of dependency injection (DI) and its evolution over the years. It covers the history of DI, different DI libraries, considerations for mobile development, and the future of DI with source generation. The discussion also touches on performance optimizations and the impact of DI on app startup time. The conversation covers topics related to dependency injection, scoping mechanisms, and the challenges of managing scopes in Maui apps. It also delves into the use of Prism and the need for out-of-the-box conventions for handling life cycles and navigation services in Maui. The conversation covers a deep dive into dependency injection, scope boundaries, and the challenges of managing dependencies in the context of mobile app development. It also delves into the nuances of using different DI containers and the impact on app performance. The hosts share their experiences, insights, and recommendations for handling these complexities effectively. Takeaways Dependency injection has evolved over the years and has become a crucial part of app development, especially in the mobile space. Different DI libraries have their own strengths and considerations, and the choice of library depends on the specific use case and performance requirements. The future of DI may involve source generation, which could lead to significant improvements in performance and reduce complexity in the registration process. Considerations for mobile development include the impact of DI on app startup time and the need for performance optimizations. Property injection and constructor injection are both relevant approaches in DI, and the choice between them depends on the specific requirements of the application. Understanding the challenges of managing scopes in Maui apps The need for out-of-the-box conventions for handling life cycles and navigation services in Maui Insights into the use of Prism and its impact on dependency injection in Maui apps Understanding scope boundaries is crucial for effective dependency injection in mobile app development. Choosing the right DI container can significantly impact app performance and memory management. Managing dependencies and understanding scope lifetimes is essential for avoiding memory leaks and performance issues in mobile apps. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapter 00:00 The Evolution of Dependency Injection 07:18 Considerations for Mobile Development 13:47 The Future of Dependency Injection 23:23 Understanding Scoping Mechanisms and Life Cycles 26:34 The Need for Out-of-the-Box Conventions in Maui 29:04 Dependency Injection and Prism in Maui Apps 41:28 Understanding Scope Boundaries in Dependency Injection 43:21 Common Misconceptions about Dependency Injection 45:23 Impact of Dependency Injection in Prism and Maui Apps 47:11 Debugging and Validation in Dependency Injection 53:45 Audio Quality and Listener Engagement
    Show more Show less
    1 hr and 1 min
  • 108: Architecture Patterns
    May 31 2024
    In this conversation, Jon and Allan discuss various topics related to architecture and performance in mobile app development. They touch on the challenges of implementing the MVVM pattern and the potential for excessive property changed notifications. They also discuss the use of observable collections and the importance of using them only when necessary. Additionally, they express their dislike for messaging services and suggest using events or actions instead. Overall, the conversation emphasizes the need for thoughtful architecture and optimization in mobile app development. The conversation explores the use of mediator pattern in mobile and app development. The mediator pattern is seen as a solution to prevent service overrun and to provide logical separation in the app. It allows for vertical slicing of concerns and prevents the need for injecting multiple services. The conversation also discusses the challenges of messaging services and the benefits of using a mediator pattern in terms of scalability, error handling, and unit testing. The potential application of the mediator pattern in Xamarin and .NET Maui apps is explored. In this conversation, Allan and Jon discuss the concept of using a mediator pattern in mobile app development. They explore the benefits of using a mediator to handle communication between different components of an app, such as view models and services. They also discuss existing implementations of the mediator pattern, such as MediatR, and potential future developments in this area. Overall, they highlight the potential value of using a mediator pattern in mobile app architecture. Takeaways Implementing the MVVM pattern can lead to excessive property changed notifications, which may impact performance. Observable collections should be used only when data is constantly changing, such as in real-time applications. Consider using events or actions instead of messaging services for better control and clarity in event handling. Thoughtful architecture and optimization are crucial for improving performance in mobile app development. The mediator pattern can be a solution to prevent service overrun and provide logical separation in mobile and app development. Using a mediator pattern allows for vertical slicing of concerns and prevents the need for injecting multiple services. The mediator pattern offers benefits such as scalability, error handling, and ease of unit testing. The potential application of the mediator pattern in Xamarin and .NET Maui apps is worth exploring. The mediator pattern can be a valuable tool for handling communication between different components of a mobile app. Using a mediator can simplify unit testing by allowing developers to focus on testing individual components rather than the entire app. Existing implementations of the mediator pattern, such as MediatR, can provide a solid foundation for incorporating this pattern into mobile app development. The mediator pattern can help clean up code and improve the organization and separation of concerns in mobile app architecture. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapters 00:00 Introduction and Personal Updates 03:00 Challenges of Implementing the MVVM Pattern 09:04 Optimizing the Use of Observable Collections 14:57 Avoiding Excessive Messaging Services 22:18 Challenges with Messaging Services 24:02 Exploring the Mediator Pattern 27:07 The Role of Mediators in Routing 30:17 Separation of Concerns and Dependency Injection 33:30 Handling Events in Temporary View Models 36:00 Benefits of the Mediator Pattern 40:08 Scaling and Breaking Down Hotspots 44:20 Command Handlers and Mediator Interaction 46:27 Focusing on the Action with Mediators 49:28 Simplifying Unit Testing with a Mediator 52:17 Existing Implementations of the Mediator Pattern 55:11 Handling Unsolicited Notifications with a Mediator 57:24 Mediator Libraries and Best Practices 01:00:57 Challenges and Considerations for Mediator Implementation 01:03:49 Future Developments and Feedback
    Show more Show less
    1 hr and 8 mins
  • 107: IoT and Small Devices
    May 24 2024
    In this conversation, Jonathan discusses his experience with building automation control systems for his swimming pool using microcontrollers and IoT devices. He talks about controlling the pool temperature, pool pumps, and a saltwater generator. He also explores the challenges and considerations of using different microcontrollers, such as the ESP8266 and the Meadow board, which runs .NET. Jonathan shares his passion for building IoT projects and the potential for using favorite programming languages in these environments. The conversation covers various topics related to IoT platforms, including the evolution of hardware into software-as-a-service (SaaS) platforms, the expansion of Meadow's ecosystem, the integration of Raspberry Pi with Meadow, the challenges of running web servers on microcontrollers, and personal projects involving IoT devices. The conversation also touches on the use of Meadow in pool automation and coffee brewing, as well as the ingenuity of building custom solutions using sensors and Raspberry Pi. Takeaways Building automation control systems for swimming pools using microcontrollers and IoT devices is a fascinating and practical application of technology. Controlling the pool temperature, pool pumps, and other aspects of pool maintenance can be automated using microcontrollers and relays. Different microcontrollers, such as the ESP8266 and the Meadow board, offer various capabilities and programming options for building IoT projects. The Meadow board, which runs .NET, provides a more familiar programming environment for developers and offers the potential for using favorite programming languages in IoT - projects. IoT platforms often evolve from hardware devices to full-fledged software-as-a-service (SaaS) platforms. Meadow is building an ecosystem around its platform, expanding its libraries and compatibility with devices like Raspberry Pi. Running web servers on microcontrollers like Meadow can be challenging, but Meadow provides solutions like BLE servers and basic web server functionality. Personal projects involving IoT devices can range from pool automation to coffee brewing, and can be built using sensors and Raspberry Pi. Building custom solutions using sensors and Raspberry Pi can be a creative and practical way to solve real-world problems. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapters 00:00 Introduction and Background 02:26 Interest in IoT and Microcontrollers 03:50 Comparing IoT to Early Xamarin Days 08:11 Controlling Pool Temperature with Microcontrollers 09:37 Automating Pool Pumps and Saltwater Generator 28:27 Exploring the Meadow Board and .NET in IoT 33:19 The Evolution of IoT Platforms 34:41 Building an Ecosystem and Extending Compatibility 35:10 Challenges of Running Web Servers on Microcontrollers 39:23 Personal Projects: Pool Automation and Coffee Brewing 52:59 Meadow Desktop: Coding Against APIs and Simulating Graphics 01:03:38 Building Custom Solutions with Sensors and Raspberry Pi
    Show more Show less
    1 hr and 7 mins

What listeners say about Gone Mobile

Average customer ratings

Reviews - Please select the tabs below to change the source of reviews.