Giter Club home page Giter Club logo

acorn's Introduction

Acorn

Acorn is a carefully designed library that brings true modularity to your presentation layer and allows you to have full control over your transition animations.

Activities and Fragments restrict application development in such a way that creating modular, testable components becomes a difficult thing to do. Furthermore, implementing transition animations to visualize going from one screen to another with either of these components is non trivial.

Acorn provides modularity by grouping specific sets of screens together as building blocks, building up your application into several composable flows.
The view layer is decoupled from navigation and reacts to screen changes, giving you full control over transition animations.

You can read more about Acorn on the documentation website.

Easy setup Maven Central

Acorn is hosted on Maven Central.

To get started quickly, you can include the ext-acorn-android dependency, which includes the necessary base to create an app using Acorn.

implementation "com.nhaarman.acorn.ext:acorn-android:x.x.x"

If you use androidx.appcompat, you can use ext-acorn-android-appcompat instead:

implementation "com.nhaarman.acorn.ext:acorn-android-appcompat:x.x.x"

Using the dependencies above will transitively pull all other dependencies you need as well.

For more advanced configuration, see Setup.

Getting started

Acorn has several sample projects introducing the different concepts. You can also visit the Getting started documentation page for more information.

Building Acorn

Acorn is built with Gradle.

  • Running ./gradlew test will run all JVM tests;
  • Running ./gradlew pitest will generate PIT testing reports for JVM modules;
  • Running ./test will run the entire test suite, you will need to have a connected Android device with API 23+.
  • Running ./gradlew publishToMavenLocal will install a copy of all the libraries in your local maven repository.

Versioning

Acorn follows semantic versioning, and will determine the version number based on git tags.

Warning! Acorn's API may not have stabilized yet, and breaking API changes may occur until 1.0 is reached.

Linter

Acorn uses ktlint which is enforced in CI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.