Note: Edits are currently being made here
RIBs is the cross-platform architecture behind many mobile apps at Uber.
- Shared architecture across iOS and Android. Build cross-platform apps that have similar architecture, enabling iOS and Android teams to cross-review business logic code.
- Pragmatic, clean architecture and testability. Similar to VIPER, RIBs takes a pragmatic approach to Clean Architecture. Classes are single-purpose, with a single clear responsibility and straightforward dependencies. This approach also makes testing easy to do.
- Tooling for developer productivity. RIBs come with IDE tooling around code generation, static analysis and runtime integrations - all which improve developer productivity for large teams or small.
- *An architecture that scales. This architecture has proven to scale to hundreds of engineers working on the same codebase and apps with thousands of RIBs.
The RIB architecture was designed for large mobile applications with lots of volatile, server driven state, as well as large number of engineers working on one codebase. Read more about what RIBs are for.
TBD.
- Clone this repository
- Integrate using your preferred installation mechanism
TBD
dependencies {
annotationProcessor 'com.uber.ribs:ribs:0.1.0'
compile 'com.uber.ribs:ribs:0.1.0'
}
To integrate RIBs into your project add the following to your Podfile
:
pod 'RIBs', '~> 0.1'
To integrate RIBs into your project using Carthage add the following to your Cartfile
:
github "uber/RIBs" ~> 0.1
TBD
We'd love for you to contribute to our open source projects. Before we can accept your contributions, we kindly ask you to sign our Uber Contributor License Agreement.
- If you find a bug, open an issue or submit a fix via a pull request.
- If you have a feature request, open an issue or submit an implementation via a pull request
- If you want to contribute, submit a pull request.
Copyright (C) 2017 Uber Technologies
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.