ubervison / macroid

A modular functional UI language for Android

Home Page:http://macroid.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.0-M5

Snapshot version: 2.0.0-M6-SNAPSHOT

License: MIT.

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

Installation

libraryDependencies ++= Seq(
  aar("org.macroid" %% "macroid" % "2.0.0-M5")

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.0-M6-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

http://macroid.github.io


Languages

Language:Scala 98.4%Language:Shell 1.3%Language:JavaScript 0.3%