A comprehensive collection of iOS development best practices, covering architecture, tools, security, and deployment.
iOS Good Practices is a community-maintained guide that curates recommendations and best practices for building iOS applications. It covers everything from initial project setup and architecture choices to security, diagnostics, and App Store deployment, helping developers write more maintainable and robust apps.
iOS developers at all levels, from beginners learning the platform to experienced engineers looking to refine their workflows and adopt industry-standard patterns.
It consolidates scattered knowledge into a single, actionable resource, saving developers time and reducing errors by providing clear, practical advice vetted by the community and Futurice's developers.
Good ideas for iOS development, by Futurice developers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Spans the entire iOS development lifecycle from project setup with Xcode and dependency management to deployment and security, offering actionable advice drawn from real-world experience.
Provides proven guidance on tools like Instruments for profiling, Keychain for secure storage, and architecture patterns like MVVM to avoid massive view controllers, based on Futurice's expertise.
Actively maintained through open issues and pull requests, ensuring it evolves with iOS updates and community feedback, as highlighted in the README's call for contributions.
Offers specific advice on code organization using MARK comments, localization with .stringsdict, and build configurations with .xcconfig files, reducing common pitfalls.
Lacks extensive sample code or full project implementations; for instance, architecture sections describe MVCS or VIPER but don't provide complete, runnable templates, requiring extra effort from developers.
As a community-maintained document, it risks outdated information if not regularly updated, and the README admits gaps like missing testing sections, which could hinder comprehensiveness.
Some recommendations, such as favoring code over Storyboards for maintainability, are presented with bias and may not suit teams preferring visual tools or different workflows, limiting flexibility.