awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
golang avatar

golang/mobile

0
View on GitHub↗
6,127 stars·815 forks·Go·bsd-3-clause·19 viewsgolang.org/x/mobile↗

Mobile

The Go Mobile project is a framework and toolchain that enables Go developers to build native mobile applications for Android and iOS entirely in Go, or to compile Go packages into shared libraries that can be called from existing native mobile apps. It provides a complete set of libraries for handling mobile app lifecycle events, rendering 2D and 3D graphics through OpenGL ES, accessing device sensors like accelerometers and gyroscopes, processing touch and keyboard input, playing audio via OpenAL Soft, and reading bundled application assets.

The project distinguishes itself by offering two complementary approaches to mobile development with Go. Developers can create standalone native mobile apps written completely in Go, with the framework managing platform-specific lifecycle callbacks and resource management. Alternatively, the binding tool generates Java and Objective-C wrappers around Go functions, allowing teams to reuse existing Go code within traditional Android or iOS projects built with platform-native languages.

Beyond these core capabilities, the framework includes a 2D scene graph renderer for efficient sprite-based graphics, an event-driven architecture that dispatches start, stop, pause, and resume events to Go code, and a sensor polling loop for real-time access to motion data. The project compiles Go source into platform-specific shared libraries with generated C bindings, bridging Go code with Java and Objective-C runtimes on mobile devices.

Features

  • All-Go Native App Development - Builds complete native mobile applications for Android and iOS entirely in Go, handling lifecycle, rendering, and sensors.
  • All-Go Mobile App Compilers - Creates Android and iOS applications entirely in Go, handling lifecycle, rendering, assets, events, and sensors.
  • Mobile App Lifecycle Handlers - Notifies the app when it starts, stops, pauses, or resumes so it can manage resources accordingly.
  • Mobile Lifecycle Event Handlers - Responds to start, stop, pause, and resume events in a Go mobile app to manage resources and state correctly.
  • Mobile App Development Frameworks - Compiles Go code into native Android and iOS applications with full lifecycle, input, and sensor support.
  • Mobile - Captures touch, keyboard, accelerometer, and gyroscope events for interactive Go mobile apps.
  • OpenGL Graphics Programming - Drives 2D and 3D graphics through OpenGL ES bindings, managing frame buffers and shaders for mobile displays.
  • Mobile OpenGL Bindings - Provides OpenGL bindings and 2D scene graph utilities for rendering graphics in Go mobile apps.
  • Mobile App Analytics - Compiles a complete mobile application written entirely in Go, producing a native Android or iOS binary.
  • Go Library Bindings - Generates platform-native language bindings so Go functions can be called from Java or Objective-C code in an existing mobile app.
  • Go Shared Library Compilation - Compiles Go code into a shared library that can be called from Java/Kotlin or Objective-C/Swift within an existing native app project.
  • Mobile-Compatible Web Apps - Compiles a complete mobile application written entirely in Go, producing a native binary for Android or iOS.
  • Bundled File Readers - Provides runtime access to application-bundled files for Go mobile apps.
  • Mobile Platform Bridge Compilation - Compiles Go source into platform-specific shared libraries with generated C bindings for Java and Objective-C interop.
  • Go Mobile Bindings - Generates Java and Objective-C wrappers so Go functions can be called from existing native mobile apps.
  • Go Mobile SDK Bindings - Compiles Go packages into shared libraries with Java and Objective-C bindings so existing native apps can call Go functions.
  • Mobile Language Binding Tools - Generates Java and Objective-C wrappers so Go functions can be called from existing native mobile apps.
  • Lifecycle Event Callbacks - Hooks into Android and iOS lifecycle callbacks, dispatching start, stop, pause, and resume events to Go code.
  • Mobile Language - Exposes Go packages as callable libraries for Java and Objective-C so existing apps can reuse Go code.
  • Mobile Touch Handlers - Processes touch events from the mobile device screen for interactive app controls.
  • Mobile Asset Bundle Readers - Opens application-bundled resources through platform-specific file I/O, mapping them into Go's io/fs interface.
  • Mobile Asset Readers - Reads application-bundled files from within a Go mobile app at runtime.
  • 2D Graphics Frameworks - Draws and animates sprites and scenes using a 2D scene graph and OpenGL utilities.
  • Mobile Sensor and Input Handlers - Reads device accelerometers, gyroscopes, touch events, and keyboard input within a Go mobile application.
  • Audio Playback - Outputs sound through OpenAL Soft bindings for audio playback in mobile apps.
  • Mobile Asset - Accesses bundled application files and plays audio through OpenAL Soft bindings in a Go mobile app.
  • 2D Rendering Engines - Ships a 2D scene graph renderer with hierarchical sprite trees and affine transforms for efficient mobile rendering.
  • Sensor Polling - Reads accelerometer, gyroscope, and motion sensor values from platform APIs in a continuous loop for real-time access.
  • OpenAL Soft Backend Implementations - Renders audio output through OpenAL Soft bindings, providing spatial sound and buffer management for mobile devices.
  • Event-Queue Polling - Captures platform input events and queues them as Go structs for polling or callback-based consumption.
  • Motion Sensor Readers - Provides data from device accelerometers, gyroscopes, and other motion sensors.
  • Developer Tools - Official toolchain for mobile application development.

Star history

Star history chart for golang/mobileStar history chart for golang/mobile

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Mobile

Similar open-source projects, ranked by how many features they share with Mobile.
  • pygame/pygamepygame avatar

    pygame/pygame

    8,620View on GitHub↗

    Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea

    Cgame-devgame-developmentgamedev
    View on GitHub↗8,620
  • sfml/sfmlSFML avatar

    SFML/SFML

    11,665View on GitHub↗

    SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,

    C++audioc-plus-pluscross-platform
    View on GitHub↗11,665
  • microsoft/windows-universal-samplesmicrosoft avatar

    microsoft/Windows-universal-samples

    9,696View on GitHub↗

    This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc

    JavaScript
    View on GitHub↗9,696
  • streamich/react-usestreamich avatar

    streamich/react-use

    43,974View on GitHub↗

    react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen

    TypeScript
    View on GitHub↗43,974
See all 30 alternatives to Mobile→

Frequently asked questions

What does golang/mobile do?

The Go Mobile project is a framework and toolchain that enables Go developers to build native mobile applications for Android and iOS entirely in Go, or to compile Go packages into shared libraries that can be called from existing native mobile apps. It provides a complete set of libraries for handling mobile app lifecycle events, rendering 2D and 3D graphics through OpenGL ES, accessing device sensors like accelerometers and gyroscopes, processing touch and keyboard input,…

What are the main features of golang/mobile?

The main features of golang/mobile are: All-Go Native App Development, All-Go Mobile App Compilers, Mobile App Lifecycle Handlers, Mobile Lifecycle Event Handlers, Mobile App Development Frameworks, Mobile, OpenGL Graphics Programming, Mobile OpenGL Bindings.

What are some open-source alternatives to golang/mobile?

Open-source alternatives to golang/mobile include: pygame/pygame — Pygame is a framework for building interactive 2D applications and games using the Python programming language. It… sfml/sfml — SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It… microsoft/windows-universal-samples — This repository is a comprehensive collection of reference implementations and sample libraries for the Universal… streamich/react-use — react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It… google/skia — Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital… faiface/pixel — Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated…