Fyresite Fyresite Digital Marketing Fyresite® (888) 221-6509 info@fyresite.com 2009 1201 E Jefferson St #6 Phoenix AZ 85034 Arizona California

When it comes to iOS development you should focus on developing great and stable apps and a habit of writing comprehensive code. The following are the best practices to achieve that.

  1. Use GitHub’s fantastic iOS architecture structure guide.
  2. Name correctly and with correct spelling.
  3. For project structure, group projects by feature or use case. Look at how Clean Architecture did it.
  4. Group code by share, engine and modules. Share will have code that is useful for another project. Engine will have code that is specific to the project you are working on. And modules will separate each screen into a module.
  5. Leverage templates to help create projects faster. Learn how here.
  6. Create custom Xcode file templates.
  7. Bootstrap your project with these scripts: Crafter, Xcake, Liftoff
  8. Use functional reactive programming.
  9. Use React inspired libraries for unidirectional data flow.
  10. For data manipulation leverage function style with Swiftz.
  11. Choose decoration instead of extension with adding custom colors, fonts or animating a view.
  12. Add functionality to an entity with mixin.
  13. To optimize app workflow use IoC container.Follow the single responsibility principle.
  14. Understand and optimize performance. 25 iOS App Performance Tips & Tricks is great for this.
  15. Check to see if main thread is blocked with this guard that tracks down UIKIT access on threads that are not the main.
  16. Overlay your app icon with your application version. See this.
  17. Display TODOS, FIXMES and errors in xcode. Use this guide.
  18. Use breakpoints such as this one.
  19. Use this code snippet repository plugin to auto generate common code snippets.
  20. Avoid duplicated helper classes in projects by using frameworks such as Sugar.
  21. Use Xcode plugins to increase productivity.
  22. Learn to create your own xcode plugin to optimize your task efficiency. Use this.
  23. Use Xcode keyboard shortcuts for faster navigation.
  24. Create predefined xcconfig. Here’s how to use them for your XCode project.
  25. Use SwiftGen collection of Swift tools to generate Swift code for assets, storyboards, localizable strings, etc.
  26. To get strong typed resources such as images and fonts, use R.swift scripts.
  27. Use the following for continuous learning of iOS development best practices.
    1. For programming – http://merowing.info/2016/01/programming/
    2. For keeping tracking of all the iOS resources you need https://github.com/onmyway133/ios-resources/
    3. For becoming a highly skilled Swift developer http://blog.krzyzanowskim.com/2015/12/28/how-to-be-awesome-swift-developer/