Buy Tickets Login

One implementation to rule them all!

Cross platform mobile development with Go and Lua or how a small team unified the implementation of their applications.

We were a small team at an early stage startup working on supporting payment processing on multiple platforms. Since this includes lots of low level control over card payment terminals we were not happy with the effort required to support the same logic across Android, iOS and Windows implementations. We also wanted to be able to run on other platforms we considered interesting as future targets, like Linux on ARM or web browsers.

In addition to that, since customers are typically quite upset by the bugs related to taking money from their credit cards, while merchants are upset if they can't take the money from customer cards, we wanted to make sure we can deploy fixes as quickly as possible.

After evaluating a bunch of other options, we half-heartedly settled on combination of Go and Lua to implement common core functionality. In the beginning it was not completely clear whether this is a great approach or a dumb idea.

Well, it turned out much closer to the former, or otherwise this talk wouldn't exist. You will hear what worked well, what surprised us, what unexpected benefits we reaped, what great expectations were not fulfilled and which alternatives are better for some scenarios.


> Skill level: intermediate
> Duration: 25 min


Photo of Zdeslav Vojković

Zdeslav Vojković

I started programming ages ago, when ZX Spectrum and C64 were synonyms for home computer.

I write code professionally for almost 20 years, have worked in various industries, from automotive to financial, and co-own a small software development workshop where I work as a consultant/contractor/whatever for various clients whom I try to educate about advantages of open source software.

In my spare time, I try to tame my three kids, without significant success.

Subscribe for latest news

We usually send one email per month between May and October.
You can unsubscribe at any time by visiting the link at the bottom of the newsletter.