Gone Mobile
00:00:00
/
01:29:42

114: What does your Backend look like?

July 22nd, 2024

In this episode, Jon and Allan discuss various topics related to backend development. They start by joking about Canadian stereotypes and accents. Then, they dive into the world of backend development using ASP.NET Core and API controllers. They talk about the changes in API controllers and the use of IActionResult. They also discuss the benefits of using OpenAPI and generating contracts from it. They mention tools like Kyoto and Refit/Refitter for generating contracts and API clients. The conversation ends with a humorous remark about the possibility of a future tool called 'Refitist.' The conversation covers topics such as Refit, resiliency, GraphQL, OData, and Mediator pattern. Refit is discussed as a tool to generate code for API consumption. Resiliency is mentioned as a client-side concern, and the use of Polly for retrying failed requests is debated. GraphQL and OData are compared in terms of their usefulness and complexity. The Mediator pattern is introduced as a way to structure code and facilitate future scalability. Real-time communication with SignalR is briefly mentioned. The conversation covers topics such as real-time data streaming, the use of Docker for development and deployment, and experiences with different SQL databases. The hosts discuss the pros and cons of real-time data streaming and the various methods available. They also explore the use of Docker for local development and deployment, highlighting its benefits in creating consistent environments. The conversation then shifts to experiences with different SQL databases, including Oracle, MySQL, and SQL Server. They discuss the challenges and advantages of each database and the importance of proper database design and optimization. In this final part of the conversation, Allan and Jon discuss their experiences with different backend technologies, including Postgres SQL and backend-as-a-service platforms like Firebase and Apprite. They also touch on the challenges of managing costs and scalability in cloud services. The episode concludes with a mention of the Packages of the Week segment and a reminder for listeners to leave a five-star review.

Takeaways

  • Backend development in ASP.NET Core involves using API controllers and IActionResult.
  • OpenAPI is a useful tool for generating contracts and defining API endpoints.
  • Tools like Kyoto and Refit/Refitter can be used to generate contracts and API clients.
  • The conversation highlights the importance of keeping up with changes in backend development tools and practices. Refit is a tool for generating code to consume APIs
  • Resiliency is a client-side concern and can be handled with tools like Polly
  • GraphQL and OData are compared in terms of their usefulness and complexity
  • The Mediator pattern is a way to structure code and facilitate future scalability
  • Real-time communication with SignalR is challenging for mobile apps Real-time data streaming methods vary and depend on the specific use case and requirements.
  • Docker is a useful tool for creating consistent development and deployment environments.
  • Different SQL databases have their own strengths and weaknesses, and the choice depends on the specific needs of the project.
  • Proper database design and optimization are crucial for efficient and scalable applications. Postgres SQL is a reliable and fast database option with excellent driver support in .NET
  • Backend-as-a-service platforms like Firebase and Apprite offer a comprehensive set of tools and infrastructure for building apps
  • Managing costs and scalability in cloud services can be challenging, but it's important to find the right balance
  • Consider leaving a five-star review for the podcast to show support and provide feedback

People

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

Chapters

  • 00:00 Introduction and Canadian Stereotypes
  • 04:42 Exploring Backend Development
  • 09:03 Streaming Results and OpenAI
  • 13:52 Generating Contracts with Kyoto and Refit/Refitter
  • 19:46 The Future of Backend Development
  • 27:19 Comparing GraphQL and OData
  • 32:59 Understanding the Mediator pattern
  • 43:11 Real-time communication challenges with SignalR
  • 45:06 Real-Time Data Streaming
  • 48:36 Docker for Development and Deployment
  • 55:46 Experiences with SQL Databases
  • 01:09:28 Importance of Database Design and Optimization
  • 01:19:13 Challenges of Managing Costs and Scalability in Cloud Services
  • 01:30:54 Don't Forget to Leave a Five-Star Review

Episode Comments