Latest 0.1.0
Homepage https://github.com/spropensource/ArchitectureComponents
License Apache License, Version 2.0
Platforms ios 10.0
Authors

Architecture Components

A port of Android Architecture Components to iOS.

Motivation

When building an app for both iOS and Android, there are advantages to defining
a single app architecture and applying it on both platforms. Primarily, it
saves time by solving the data modeling and component interactions once for
both platforms. Additionally, maintenance is somewhat eased because changes
will be similar on both platforms.

Apple’s developer guides and the UIKit framework provide little concrete
guidance for architecting an app to be reliable and maintainable. This has lead
the iOS developer community to create many iOS app architectures and
have lively debates about their usefulness.

Android Architecture Components provide Android developers with a
general-purpose, clean, repeatable pattern for creating data-driven,
reactive-style apps. The components provide a clean separation of concerns and
abstract away many of the intricacies that arise when handling data updates
properly for every phase of the UI lifecycle. Finally, Google provides
concrete recommendations for common real-world app development
problems.

Since iOS lacks a first-party application architecture and Android now has
a very nice first-party application architecture, it seems reasonable to adopt
Android’s architecture on both platforms in instances when app delivery would
benefit from sharing an app architecture.

Roadmap

Next steps:

  • Improve automated test coverage
  • Provide full documentation comments
  • Improve README with getting started information
  • Create an example app
  • Setup continuous integration
  • Add logging
  • Implement Room Persistence Library
  • Implement Paging Library
  • Support tvOS, watchOS, macOS

Completed:

  • Implement Lifecycle components
  • Implement LiveData components
  • Enable Carthage and CocoaPods installation

Code of Conduct

Participation in this open source project is governed by the SPR Open Source
Code of Conduct, which outlines expectations for participation in SPR-managed
open source communities and steps for reporting unacceptable behavior. We are
committed to providing a welcoming and inspiring community for all. People
violating this code of conduct may be banned from the community.

See the CODEOFCONDUCT.md file for the full code of conduct.

License

This open source project is licensed under the terms of the Apache 2.0
license
. See the LICENSE file. Additional, non-authoritative
information about the license can be found at Choose a License, Open
Source Initiative
, and TLDRLegal.

Latest podspec

{
    "name": "ArchitectureComponents",
    "version": "0.1.0",
    "summary": "A port of Android Architecture Components to iOS.",
    "description": "Provide Lifecycle, LiveData, and other Android Architecture Components on niOS. Since iOS lacks a first-party application architecture and Android nnow has a very nice first-party application architecture, it seems nreasonable to adopt Android's architecture on both platforms in instances nwhen app delivery would benefit from sharing an app architecture.",
    "homepage": "https://github.com/spropensource/ArchitectureComponents",
    "license": {
        "type": "Apache License, Version 2.0",
        "file": "LICENSE"
    },
    "authors": {
        "David Kinney": "[email protected]"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source": {
        "git": "https://github.com/spropensource/ArchitectureComponents.git",
        "tag": "0.1.0"
    },
    "source_files": "Sources/**/*.swift",
    "pushed_with_swift_version": "4.0"
}

Pin It on Pinterest

Share This