Patterns and Practices for Scalable Apps

In this episode, Leo discusses some patterns and practices for keeping your app scalable and easily maintained.


Related Episodes

Related Links


  • Specialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch
  • 10 years of experience developing for a variety of Apple platform
  • Helping dev shops which lack experience with Apple platforms and Swift

We have an opening for sponsors
  • Do you have a product or service which can target our ever growing community of developers as well as technology and business leaders? 

Why Good Patterns and Practices Matter

  • Bug fixes and code upgrades become more difficult to execute
  • Adding new features can be a real challenge if there's a lack of organization.
  • Without breaking each layer and functionality apart, it makes testing excruciating.
  • Without consistency, new developers will have a hard time understanding how the code works.
  • By using the right patterns, modularizing your code, and maintaining good code quality; you can keep your app development project running smoothly and save money in the long run.

Architectural Patterns

  • Understand the legacy of Objective-C
  • How Model View Controller is intrinsic to UIKit  
  • How do Delegation Pattern fits 
  • Why Protocol Oriented Programming works so well with Swift and Testing?
  • Why Functional Programming makes it easier to build complex functionality?
  • Why the shift to Model-View-ViewModel?
  • How Reactive Programming, the Subscriber-Publisher model, and Combine makes sense for UI development?

Modularizing Layers of Functionality

  • Modularity ensures individual pieces of functionality can work independently. 
  • While each piece of code and functionality remains simple, it is their multitude and integration which is complex.
  • Each module is an Interchangeable Part.
  • Modularity allows for use in multiple operating systems and devices.
  • How does Xcode and Swift allow for modularity
  • Why Framework Targets are the most mature way still to create independent 
  • Where Workspaces and Projects fit with with Independent Apps and Products
  • Why Swift Packages are the future

Maintaining Quality Code

  • Good Architectural Patterns means Easy Testing
  • Code Coverage is a good metric but not the only one.
  • Reduce Complexity in your code for easier maintenance
  • Consistent Styling makes version control and team management easier
  • Code Reviews Help get an additional set of eyes even though they may be your own.
  • Continuous Integration of components and apps are the best way to ensure quality code

Social Media


★ Support this podcast on Patreon ★

Creators and Guests

Leo Dion
Leo Dion
Swift developer for Apple devices and more; Founder of BrightDigit; husband and father of 6 adorable kids

Join our newsletter

checkmark Got it. You're on the list!
© Bright Digit, LLC 2018