Mapbox Mobile is more than just iOS; we’re also actively working on bringing all of the styling flexibility, video game-quality OpenGL rendering, app analytics, and open code and data to Android, too. This isn’t a small lift, but we’re confident in our strategy to deliver the best and most beautiful maps on Android — because we’ve been planning for it from the start.

Mapbox Mobile on Android today

Cross-platform core

The centerpiece of Mapbox Mobile is the core cross-platform layer written in blazingly fast C++. In addition to the speed, the core also provides a common library for map rendering on both Android and iOS, as well as future platforms — from future mobile devices to embedded systems like in-car navigation. C++ is often a slower road for development, but the discipline required absolutely pays off in performance wins, cross-platform flexibility, and proven scalability.

The core of Mapbox Mobile handles everything from OpenGL-based, GPU-side screen rendering at sixty frames per second, to CPU-side algorithms for parsing styles and tiled data. It’s made of over 150 C++ classes and currently runs across Android, iOS, OS X, Linux desktop, and even has Node.js bindings in active development.

Connecting to the core

While the core library is written in C++, Android apps and frameworks are written in Java. This means leveraging the Android Native Development Kit (NDK) to bridge the gap. This lets Mapbox Mobile harness the power of the core OpenGL code for the maps, while developers can continue to build their apps using the customary Java tools and language features that they already rely on everyday.

On top of the NDK-bridged core, we build the platform-specific layer required for the parts of the framework that touch the user — often literally. This includes the gesture handling, map user location, and app analytics. We’re working hard on this layer for Android and will be announcing it in stable beta soon.

Building in the open

As with all of our tools, Mapbox Mobile is 100% BSD open source code, with all development and discussions happening in the open on GitHub. An open platform means:

  • Better external collaboration, outside suggestions, and earlier bug-finding
  • Higher-quality code that stands up to team and worldwide scrutiny
  • Earlier course-correction and a focus on real-world, practical needs

If you have ideas, questions, or suggestions for the future of Mapbox Mobile, find us on GitHub and be sure to chime in. Or hit us up on Twitter — ping me at @incanus77 or reach out to @BradLeege or @LeithBade to talk Mapbox Mobile for Android.