mapbox-gl-native
by
mapbox

Description: Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

View on GitHub ↗

Summary Information

Updated 48 minutes ago
Added to GitGenius on July 8th, 2022
Created on January 27th, 2014
Open Issues & Pull Requests: 312 (+0)
Number of forks: 1,321
Total Stargazers: 4,454 (+0)
Total Subscribers: 43 (+0)

Issue Activity (beta)

Open issues: 112
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,397 days
Stale 30+ days: 112
Stale 90+ days: 112

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Android (1,060)
  • iOS (721)
  • bug (427)
  • Core (306)
  • archived (282)
  • crash (184)
  • build (183)
  • macOS (167)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Mapbox GL Native is a C++ library that enables developers to embed interactive, customizable vector maps into native applications across multiple platforms including Android, iOS, macOS, Node.js, and Qt. The library processes stylesheets conforming to the Mapbox Style Specification and applies them to vector tiles following the Mapbox Vector Tile Specification, rendering the results using OpenGL or Metal depending on the platform. This approach allows developers to create rich mapping experiences with consistent styling and behavior across different native environments.

The repository functions as a monorepo that serves as the foundation for platform-specific map SDKs. For Android development, the Mapbox Maps SDK for Android provides Java and Kotlin bindings. iOS and macOS developers can use the Mapbox Maps SDK for iOS and macOS respectively, which offer Objective-C and Swift interfaces along with Interface Builder and AppleScript support for macOS. This multi-platform architecture means the core C++ rendering engine remains consistent while each platform gets native language bindings and platform-specific optimizations.

The project uses CMake as its build system to compile Mapbox GL Native across diverse platforms including Linux, Android, iOS, macOS, and Windows. This build infrastructure allows developers to compile the library for their target architecture provided all dependencies are available, and includes example applications for testing and development purposes. The repository is licensed under the 2-Clause BSD license, with dependency licenses tracked through FOSSA.

GitGenius activity data reveals this is an actively maintained project with significant contributor overlap with major repositories including Microsoft's VSCode and TypeScript projects, as well as Mapbox's own mapbox-gl-js repository. This cross-project collaboration indicates the library is part of a broader ecosystem of mapping and development tools. The repository has been classified across numerous geospatial and mapping categories including vector tiles, spatial data, navigation app development, GIS platforms, map rendering, location services, interactive visualization, offline mapping, and cartographic rendering.

The library's design philosophy centers on vector tiles and OpenGL rendering, which provides advantages for performance and customization in native applications. By separating the rendering engine from platform-specific implementations, Mapbox GL Native allows consistent map behavior while leveraging each platform's native capabilities. The vector tile approach enables efficient data transfer and rendering of complex geographic data, while the style specification system provides developers with declarative control over map appearance without requiring code changes.

The relationship between Mapbox GL Native and Mapbox GL JS, its WebGL-based web counterpart, creates a cohesive ecosystem where developers can maintain similar mapping implementations across web and native platforms. This consistency reduces the learning curve for teams working across multiple platforms and enables code sharing for styling and configuration logic.

mapbox-gl-native
by
mapboxmapbox/mapbox-gl-native

Repository Details

Fetching additional details & charts...