Ad

mandala: Native Android Apps with Go

Mandala enables developers to build and deploy native Android applications using Go, leveraging the Goandroid toolchain for cross-platform development and resource management.
Screenshot of remogatto/mandala homepage

Mandala is a Go framework designed for creating native Android applications using the Go language and the Goandroid toolchain. It aims to simplify the process of developing, testing, and deploying Go applications to Android devices. The framework promotes idiomatic Go programming by utilizing channels for communication instead of callbacks. It abstracts Android native events and provides a ResourceManager to handle application resources.

Notable aspects of Mandala include its ability to code, test, and run applications on a desktop before deploying to an Android device. It supports on-device black-box testing and offers quick bootstrapping with predefined templates. Furthermore, its use of channels for communication and abstraction of native events provides a unique development paradigm.

  • Cross-Platform Development: Write and test applications on desktop environments (Linux, OSX) before deploying to Android.
  • Channel-Based Communication: Employs channels for inter-process communication, avoiding callback complexities.
  • Resource Management: Provides a ResourceManager for handling application resources (images, sounds, etc.) using Go's standard file I/O.
  • On-Device Black-Box Testing: Enables automated testing of applications on Android devices.
  • Quick Bootstrap: Offers predefined templates and a simple setup process for new projects.

Mandala is currently in an early stage of development. The API is subject to change, and test coverage is limited. Ongoing efforts are focused on improving stability and expanding functionality. The project relies on external tools like Goandroid and PrettyTest, which introduce dependencies and require specific configuration.

Developers who want to leverage the benefits of the Go language for Android development will find Mandala valuable. It addresses the challenges of native Android development by providing a framework that simplifies the build, deployment, and testing process. It is suitable for prototyping, learning, and potentially building smaller Android applications, though further development is required for complex applications.

Languages:
Summarize:
Share:
Stars
617
Forks
47
Issues
6
Created
12 years ago
Commit
7 years ago
License
MIT
Archived
No
Updated 2 days ago

Similar Repositories