{"id":3725,"url":"https://github.com/xebia-functional/macroid","last_synced_at":"2025-08-03T23:33:57.020Z","repository":{"id":9679296,"uuid":"11623326","full_name":"xebia-functional/macroid","owner":"xebia-functional","description":"A modular functional UI language for Android","archived":true,"fork":false,"pushed_at":"2017-09-30T01:39:09.000Z","size":13387,"stargazers_count":527,"open_issues_count":26,"forks_count":37,"subscribers_count":100,"default_branch":"master","last_synced_at":"2024-11-29T04:04:20.222Z","etag":null,"topics":["abstraction","android","composability","dsl","functional-programming","gui","scala-macros","user-interface"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"xcvista/ohttpd2","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xebia-functional.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-24T01:18:56.000Z","updated_at":"2024-08-28T17:44:12.000Z","dependencies_parsed_at":"2022-09-26T20:41:05.919Z","dependency_job_id":null,"html_url":"https://github.com/xebia-functional/macroid","commit_stats":null,"previous_names":["47deg/macroid","47degrees/macroid"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xebia-functional%2Fmacroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xebia-functional%2Fmacroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xebia-functional%2Fmacroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xebia-functional%2Fmacroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xebia-functional","download_url":"https://codeload.github.com/xebia-functional/macroid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228576887,"owners_count":17939645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstraction","android","composability","dsl","functional-programming","gui","scala-macros","user-interface"],"created_at":"2024-01-05T20:16:49.652Z","updated_at":"2024-12-07T07:30:36.155Z","avatar_url":"https://github.com/xebia-functional.png","language":"Scala","funding_links":[],"categories":["Development Alternatives"],"sub_categories":["Scala"],"readme":"### Macroid — a Scala GUI DSL for Android\n\n[![Build Status](https://travis-ci.org/47deg/macroid.png?branch=master)](https://travis-ci.org/47deg/macroid) [![Codacy Badge](https://www.codacy.com/project/badge/fb3d939567d04686bfb23da3a22b9de9)](https://www.codacy.com/public/nickstanch/macroid) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Macroid-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1529) [![Join the chat at https://gitter.im/macroid/macroid](https://img.shields.io/badge/GITTER-Join%20chat%20→-brightgreen.svg?style=flat)](https://gitter.im/macroid/macroid?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nMacroid is a modular functional user interface creation language for Android, implemented with \nScala macros.\n\nStriving to be focused on one thing (GUI), Macroid promotes composability and high-level abstractions.\n\nPrerequisites: Scala `2.10.x` or `2.11.x`, Android `API 19+`.\n\nLatest version: `2.1.0`\n\nSnapshot version: `2.1.0-SNAPSHOT`\n\nLicense: [MIT](http://opensource.org/licenses/MIT).\n\n* [What does it look like](http://47deg.github.io/macroid/docs/Tutorial.html)\n* [How is it different from...](http://47deg.github.io/macroid/docs/Differences.html)\n* [Detailed guide](http://47deg.github.io/macroid/docs/Guide.html)\n* [Mailing list](https://groups.google.com/forum/#!forum/macroid)\n\nFor more info head to http://47deg.github.io/macroid!\n\n#### Installation\n\n```scala\n\nlibraryDependencies ++= Seq(\n  aar(\"org.macroid\" %% \"macroid\" % \"2.1.0\")\n\n```\n\nIf you want to use the SNAPSHOT version you need to add the Sonatype SNAPSHOT repo\n\n```scala\n\nresolvers +=\n  \"Sonatype OSS Snapshots\" at \"https://oss.sonatype.org/content/repositories/snapshots\"\n\nlibraryDependencies ++= Seq(\n  aar(\"org.macroid\" %% \"macroid\" % \"2.1.0-SNAPSHOT\")\n\n```\n\n#### Contributing\n\nAll contributions are welcome (and encouraged)!\n\n##### Commit messages\n\nMacroid’s commit message structure is [inspired by the Spray project](http://spray.io/project-info/contributing/#git-commit-messages). The message has the following format:\n```\n[=|+|!] [core|viewable|akka|docs|all]: \u003cActual message\u003e.\n```\n* `=` means there are no API changes\n* `+` means added functionality\n* `!` means breaking changes (source or binary)\n\nExample:\n```\n! core: Receive UI actions in mapUi \u0026 co (fix #48)\n\nmapUi, flatMapUi, ... now operate on UI actions, rather than simple thunks.\nFor example, the new type signature for mapUi is (A ⇒ Ui[B]) ⇒ Future[B].\n```\nFollowing this convention greatly simplifies writing the changelogs.\n\n##### Documentation\n\nAlthough 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.\n\n#### Commercial Support\n\n47 Degrees offers commercial support for the Macroid library and associated technologies. To find out more, visit [47 Degrees' Open Source Support](https://www.47deg.com/services/open-source-support/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxebia-functional%2Fmacroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxebia-functional%2Fmacroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxebia-functional%2Fmacroid/lists"}