An open API service indexing awesome lists of open source software.

https://github.com/xcessentials/guide

Practical guide for developing apps in Xcode.
https://github.com/xcessentials/guide

Last synced: 5 months ago
JSON representation

Practical guide for developing apps in Xcode.

Awesome Lists containing this project

README

          

# Introduction

Are you software developer coming from another platform to iOS? Are you beginner developer trying to catch up with all the latest technologies and libraries in iOS world and begin developing production ready apps as soon as possible? Do you want to bring your whole team on the same page without spending months on inventing and explaining your own "corporate" rules on iOS development? This guide is for you!

This guide is about how to write iOS app from scratch, making your code done right from the beginning, keep it clean, scaleable, reliable.

# Essential tools

See below list of essential libs that will help you get up and running with development of any kind of iOS app.

- **[ProjectGenerator](https://XCEssentials.github.io/ProjectGenerator)**
Describe Xcode project declaratively in pure Swift.

- **[UniFlow](https://XCEssentials.github.io/UniFlow)**
App architecture done right, inspired by Flux (from Facebook).

- **[Requirement](https://XCEssentials.github.io/Requirement)**
Describe requirements in a declarative, easy-readable format.

- **[Testing](https://XCEssentials.github.io/Testing)**
A more expressive and readable way to describe expectations in Xcode unit tests.

- **[ValidatableValue](https://xcessentials.github.io/ValidatableValue/)**
Generic value wrapper with built-in validation.

- **[StaticState](https://xcessentials.github.io/StaticState)**
Turn any object into a discrete system where each state is a static data container.

- **[FunctionalState](https://xcessentials.github.io/FunctionalState)**
Turn any object into a discrete system and describe its states in a declarative style.

- **[MKHOperationFlow](https://github.com/maximkhatskevich/MKHOperationFlow)**
Lightweight async serial operation flow controller.

- **[MKHAPIClient](https://github.com/maximkhatskevich/MKHAPIClient)**
HTTP-based API client for Cocoa and Cocoa Touch.

- **[MKHSyncSession](https://github.com/maximkhatskevich/MKHSyncSession)**
Tiny extension for NSURLSession that enables synchronous task execution.

- **[MKHViewEvents](https://github.com/maximkhatskevich/MKHViewEvents)**
Set of helpers for adding UIControl-based event handlers and gesture recognizer handlers on iOS.

- **[MKHOptionalAssign](https://github.com/maximkhatskevich/MKHOptionalAssign)**
Custom assign operator that safely unwraps and assigns non-nil optionals only.

- **[MKHTypedKey](https://github.com/maximkhatskevich/MKHTypedKey)**
Generic key for explicit type safe access to values from any key-value storage.

- **[MKHEntityManager](https://github.com/maximkhatskevich/MKHEntityManager)**
Lightweight model objects manager that helps maintain consistency.

- **[MKHStoryboardHelpers](https://github.com/maximkhatskevich/MKHStoryboardHelpers)**
Helpers for type-safe storyboard usage in Xcode projects.

- **[MKHDesignableAnimation](https://github.com/maximkhatskevich/MKHDesignableAnimation)**
Set of helpers that let you automate view animations through designing key view states using Interface Builder.

# Credits

Author of the libs listed on this page is [Maxim Khatskevich](http://mkh72.me).