Skip to content
Artwork for GoneDotNet
GoneDotNet · May 10, 2024 · 1 hr 4 min

106: Structuring Apps

The conversation discusses the importance of structuring apps in terms of business requirements and how to make them easier to navigate and understand. It emphasizes the need to focus on translating business requirements into technology and suggests organizing projects based on business logic rather than technology layers. The conversation also touches on the use of services and the benefits of grouping them by section or feature. Additionally, the conversation explores the challenges of using IL manipulators and the limitations of certain frameworks in the context of C# hot reload. It concludes with a discussion on the need for base implementations and templates that provide guidance on structuring apps and implementing MVVM patterns. In this conversation, Jonathan and John discuss the importance of structuring services in mobile app development. They explore the use of MVVM frameworks like Prism and the challenges of writing technical code on top of existing tech services. They also discuss the benefits of using events and observables in services, as well as the use of dependency injection and the Microsoft implementation. The conversation concludes with a recommendation for the Refit library as the plugin packager product of the week. Takeaways Organize projects based on business logic rather than technology layers Group services by section or feature to improve discoverability Be cautious when using IL manipulators in mobile apps Consider the limitations of certain frameworks in the context of C# hot reload Provide base implementations and templates to guide app structure and MVVM implementation Structuring services in mobile app development is crucial for maintaining code organization and scalability. MVVM frameworks like Prism provide a comprehensive structure for building full-featured apps. Writing technical code on top of existing tech services can lead to complexity and bugs. Using events and observables in services can simplify communication between components and reduce code duplication. Dependency injection is a powerful tool for managing service dependencies and improving testability. The Refit library is a recommended tool for generating HTTP clients from interfaces in a clean and efficient way. People Hosts: Jon Dick, Allan Ritchie Audio Engineer: Jim Heath Chapters 00:00 Introduction 00:59 Challenges of App Layout 01:27 Discoverability of Business Logic 03:18 Organizing Projects by Business Logic 04:47 Grouping Services by Section 06:44 Considerations for Global Services 08:42 Moving Services to Relevant Folders 10:03 Multiple Implementations of Services 13:18 Challenges of IL Manipulators and C# Hot Reload 19:07 Importance of Base Implementations and Templates 00:12 Introduction 00:29 Structuring Services in Mobile App Development 34:20 The Benefits of Using Events and Observables in Services 39:43 Dependency Injection and the Microsoft Implementation 53:07 Plugin Packager Product of the Week: Refit 01:03:36 Conclusion Links: Refit — The automatic type-safe REST library Refitter — Refitter is a tool for generating a C# REST API Client using the Refit library. Refitter can generate the Refit interface and contracts from OpenAPI specifications.

0:00-1:04:27

transcript

No transcript — this publisher did not publish one.

show notes

The conversation discusses the importance of structuring apps in terms of business requirements and how to make them easier to navigate and understand. It emphasizes the need to focus on translating business requirements into technology and suggests organizing projects based on business logic rather than technology layers. The conversation also touches on the use of services and the benefits of grouping them by section or feature. Additionally, the conversation explores the challenges of using IL manipulators and the limitations of certain frameworks in the context of C# hot reload. It concludes with a discussion on the need for base implementations and templates that provide guidance on structuring apps and implementing MVVM patterns. In this conversation, Jonathan and John discuss the importance of structuring services in mobile app development. They explore the use of MVVM frameworks like Prism and the challenges of writing technical code on top of existing tech services. They also discuss the benefits of using events and observables in services, as well as the use of dependency injection and the Microsoft implementation. The conversation concludes with a recommendation for the Refit library as the plugin packager product of the week.

Takeaways

  • Organize projects based on business logic rather than technology layers
  • Group services by section or feature to improve discoverability
  • Be cautious when using IL manipulators in mobile apps
  • Consider the limitations of certain frameworks in the context of C# hot reload
  • Provide base implementations and templates to guide app structure and MVVM implementation Structuring services in mobile app development is crucial for maintaining code organization and scalability.
  • MVVM frameworks like Prism provide a comprehensive structure for building full-featured apps.
  • Writing technical code on top of existing tech services can lead to complexity and bugs.
  • Using events and observables in services can simplify communication between components and reduce code duplication.
  • Dependency injection is a powerful tool for managing service dependencies and improving testability.
  • The Refit library is a recommended tool for generating HTTP clients from interfaces in a clean and efficient way.

People

  • Hosts: Jon Dick, Allan Ritchie
  • Audio Engineer: Jim Heath

Chapters

  • 00:00 Introduction
  • 00:59 Challenges of App Layout
  • 01:27 Discoverability of Business Logic
  • 03:18 Organizing Projects by Business Logic
  • 04:47 Grouping Services by Section
  • 06:44 Considerations for Global Services
  • 08:42 Moving Services to Relevant Folders
  • 10:03 Multiple Implementations of Services
  • 13:18 Challenges of IL Manipulators and C# Hot Reload
  • 19:07 Importance of Base Implementations and Templates
  • 00:12 Introduction
  • 00:29 Structuring Services in Mobile App Development
  • 34:20 The Benefits of Using Events and Observables in Services
  • 39:43 Dependency Injection and the Microsoft Implementation
  • 53:07 Plugin Packager Product of the Week: Refit
  • 01:03:36 Conclusion

Links:

  • Refit — The automatic type-safe REST library
  • Refitter — Refitter is a tool for generating a C# REST API Client using the Refit library. Refitter can generate the Refit interface and contracts from OpenAPI specifications.
links2

more episodes

All episodes