Skip to content
This repository has been archived by the owner on Dec 25, 2019. It is now read-only.

sergejsha/featured

Repository files navigation

This project is @deprecated in favor of Knot library. It offers the same capability of decomposing complex application logic into smaller features, but does it in a reactive way using modern predictable state container pattern.


Build Status Maven Central License

Featured

This library will help you to split activity or fragment code into truly decoupled, testable and maintainable features.

Features are small units sharing same lifecycle. They are hosted by a FeatureHost class which, in turn, resides in an activity or a fragment. Features communicate to each other through the feature host by means of events as shown in the diagram below.

diagram

Documentation

Use with Gradle

Add this to you project-level build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
}

Add this to your module-level build.gradle:

dependencies {
    annotationProcessor 'de.halfbit:featured-compiler:<version>'
    compile 'de.halfbit:featured:<version>'
}

Maven Central

License

Copyright 2016-2019 Sergej Shafarenka, www.halfbit.de

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.