DEV Community

EmpowerApps.Show

Patterns and Practices for Scalable Apps

Video

Related Episodes

Related Links

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

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

★ Support this podcast on Patreon ★

Episode source