Skip to content

942v/ModernRIBs

Repository files navigation

ModernRIBs

License Cocoapods Compatible Swift Package Manager compatible

ModernRIBs is recreated by removing additional dependencies such as RxSwift from Uber's RIBs. Only Combine was used. All features provided by RIBs can be used identically, and it will be continuously updated according to the RIBs updated version. Therefore, the version will be matched with the RIBs. It is expected to be useful in projects that do not use RxSwift and with a minimum supported iOS 13 or later.

Requirements

  • iOS 13.0 or later
  • macOS 10.15 or later
  • Xcode 11.0 or later

Installation

There are three ways to use ModernRIBs in your project:

  • Using CocoaPods
  • Using Swift Package Manager
  • Manual install (build frameworks or embed Xcode Project)

CocoaPods

To integrate ModernRIBs into your project add the following to your Podfile:

pod 'ModernRIBs'

Swift Package Manager

To use Swift Package Manager, you should use Xcode 11+ to open your project. Click File -> Swift Packages -> Add Package Dependency, enter ModernRIBs URL. Or you can login Xcode with your GitHub account and just type ModernRIBs to search.

After select the package, you can choose the dependency type (tagged version, branch or commit). Then Xcode will setup all the stuff for you.

If you're a framework author and use ModernRIBs as a dependency, update your Package.swift file:

let package = Package(
    // ...
    dependencies: [
        .package(url: "https://github.com/DevYeom/ModernRIBs.git", from: "1.0.0")
    ],
    // ...
)

Tooling

Run the install-xcode-template.sh shell script to copy the templates to the Xcode templates folder. Once you have successfully copied the templates, when adding a new file in Xcode, the ModernRIB group will show up.

License

ModernRIBs is released under the same Apache License 2.0 as Uber's RIBs. See License.txt for more information.

About

Uber's RIBs with Combine.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 95.6%
  • Shell 2.6%
  • Other 1.8%