EmpowerApps.Show
Patterns and Practices for Scalable Apps
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
BrightDigit- 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
Emailleo@brightdigit.com
BrightDigit - @brightdigit
Leo - @leogdion
BrightDigit
Leo
Instagram - @brightdigit
Patreon - empowerappshow
Credits
Music from https://filmmusic.io"Blippy Trance" by Kevin MacLeod (https://incompetech.com)
License: CC BY (http://creativecommons.org/licenses/by/4.0/)
EmpowerApps.Show