- Episode #42
- Mar 30, 2020
- 20m
- 20m
Patterns and Practices for Scalable Apps
Patterns and Practices for Scalable Apps
In this episode, Leo discusses some patterns and practices for keeping your app scalable and easily maintained.
Video
Related Episodes
- Episode 39: Managing Code Quality with Anne Cahalan
- Episode 24: Continuous Integration with Kyle Newsome
- Episode 23: Modularizing in Xcode with Abbey Jackson
- Episode 31: Future Proofing Your Apps with Gui Rambo
- Episode 15: Test-Driven Development with Joshua Greene and Michael Katz
- Episode 14: iOS App Architecture with René Cacheaux and Josh Berlin
Related Links
- iOS Continuous Integration: How To Avoid Merge Hell
- SwiftUI: Everything is possible if you think like Apple
- How to avoid iOS app failure with Test-Driven Development
- Swift Package Continuous Integration Guide
Sponsors
- 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
Contact me if you need help today.
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?
Contact me today if you are interested in sponsoring or go to our Patreon page.
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
Email
leo@brightdigit.com
Twitter
BrightDigit - @brightdigit
Leo - @leogdion
Instagram - @brightdigit
Patreon
Credits
Music from https://filmmusic.io
"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)