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/)