Skip to content

rickrickrickyyy/macroid

 
 

Repository files navigation

Macroid — a Scala GUI DSL for Android

Build Status Codacy Badge Android Arsenal Join the chat at https://gitter.im/macroid/macroid

Macroid is the most badass modular functional user interface creation language for Android, implemented with Scala macros. Some people say it’s also a dead noodle.

Striving to be focused on one thing (GUI), Macroid promotes composability and high-level abstractions.

Prerequisites: Scala 2.10.x or 2.11.x, Android API 9+.

Latest version: 2.0

Snapshot version: 2.0.1-SNAPSHOT

License: MIT.

For more info head to http://47deg.github.io/macroid!

Installation

libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0")

If you want to use the SNAPSHOT version you need to add the Sonatype SNAPSHOT repo

resolvers +=
  "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"

libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0.1-SNAPSHOT")

Contributing

All contributions are welcome (and encouraged)!

Commit messages

Macroid’s commit message structure is inspired by the Spray project. The message has the following format:

[=|+|!] [core|viewable|akka|docs|all]: <Actual message>.
  • = means there are no API changes
  • + means added functionality
  • ! means breaking changes (source or binary)

Example:

! core: Receive UI actions in mapUi & co (fix #48)

mapUi, flatMapUi, ... now operate on UI actions, rather than simple thunks.
For example, the new type signature for mapUi is (A ⇒ Ui[B]) ⇒ Future[B].

Following this convention greatly simplifies writing the changelogs.

Documentation

Although this is not crucial, updating the docs under macroid-docs together with the code changes might save some time in the future, and thus is highly appreciated. It can be done in the same commit.

About

A modular functional UI language for Android

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 100.0%