Multiplatform Maps Built As Layers on Rust (with Ian Wagner)

preview_player
Показать описание
Mapping is a hugely complex task to take on. Even if you moved as much of the data-management as you can out to 3rd-party services, you’d still have a tonne of work to do weaving together map tiles, routing information, GPS data, points of interest, search and more. And as if that wasn’t enough, you’d probably want that software to work on a whole range of platforms, so you have to build something that works on iOS, Android and more. It’s little wonder that the space is dominated by a few closed-source projects owned by huge companies with near-limitless resources.

But that doesn’t mean the problem can’t be cracked as an open-source project. This week we look at the open source map library Ferrostar. Joining me to discuss it is the project’s lead developer, Ian Wagner, as we explore the problem space and dive down into Ferrostar’s architecture: A core Rust library serving a suite of custom UI shells written in Kotlin, Swift, WASM and TypeScript.

Along the way there are tips for anyone attempting to build a map, or wanting to interop Rust with other languages.





0:00 Intro
2:11 A Brief Aside Into The South Korean Tech Scene
3:41 Open Source Mapping Software
6:21 What Makes Mapping Software Hard?
9:15 Data Integration And Map Data Standards
13:17 Supporting Multiple Mobile Platforms
17:21 Managing A Rust Core With Native UIs
22:37 Making Truly Custom Mapping Applications
27:01 Managing the Mismatch Between Rust and Kotlin's Programming Models
36:33 Splitting the Codebase Among Rust, Swift and Kotlin
41:46 Real-World Applications for Ferrostar
45:14 Developing Map Apps on a Budget
46:40 Dealing with WASM
55:59 Managing Versioning Across 3 Platforms
57:31 Getting Started With Ferrostar
59:49 Outro
Рекомендации по теме
Комментарии
Автор

I love that at this point you haven't even needed an episode covering the merits of Rust, you just dive straight into the software being built with it!

empathy_monster
Автор

Wow! I am procrastinating doing an open-source standalone auto-map for some African uses cases. Thank you Kris and Ian for this.

afrowave
Автор

Nooo, you can't keep getting away with this. Literally started Rustlings this week and now an episode involving Rust to side track my day :'D

stretch
Автор

First and obviously I am going to love this talk as a Rust developer.

sortof
Автор

super questions - what an educational experience

WalterPrendergast
Автор

Love going over Rust libraries. I would love if you got to talk with some of the devs from Astral about what they are doing with rye, uv, and python package management.

miscbits
Автор

How about a Podcast with C3 programming language creator? The language itself is beautiful ❤️

carlriemann
Автор

I absolutely love your channel and find it has helped me grow as a developer so much. I have a request for a video something that we help devs like me who have mostly lived in JavaScript land. I would love an overview of all the languages that you have learned about, Like why would you reach for one over the other, what are the best use cases for different languages. I am loving expanding my journey into Kotlin, but I opted to learn and build in Kotlin because I NEEDED the Android ecosystem because my app is using phone specific data. But also, I have found that people who learned JavaScript first really don't understand true backend development, because mostly we are building API's to a DB in Express and that is about as far as it goes. I have a hard time articulating it myself just because my thinking is dominated by web development.

I can't imagine a better person to teach this! And whether this sounds like an interesting topic to cover or not, I really appreciate all you do for the community!!! This is in my top three favorite channels and when I want to dive into something new, I always check to see if you have had a conversation about it!

patrickjreid
Автор

the problem with current location providers and mapping software is that when gps (and similar tech) is spoofed (due to local war) or inaccessible it doesn't automatically(or reliably) switch to alternative methods, including an option for inertial navigation (or car sensors-based one, as mentioned). And one cannot control it manually, e.g. turn gps selectively off. Making a location provider that could solve such a problem would solve an important puzzle.

leonid
Автор

I work with mapping in my job. We use Mapbox, but the only way to do that on the web, Android, and iOS without writing three apps is to use the web version and shoehorn it into a webview. It's a bunch of gross hacks. So my interest is piqued.

jwr
Автор

Look at the people who promotes Rust. What else do you need to convince you. Go Go!

aftalavera