Develop iOS & Android Applications with Go

Natan
3 min readMar 16, 2021

Fourteen years ago, I started my career at Motorola developing a media player on Motorola’s embedded Linux with C++ and QT. At that time, Nokia and Motorola were the most popular brands all over the world. I was very proud to work on a product used by millions of people.

Time changes, iPhone rolled out. I became an iOS developer in 2010. My first toy was iPhone 3. Since 2014, I started developing backend systems with Go. As I am a C fan, I love Go’s simplicity and efficiency.

Now I am working with my friends on several mobile applications, we are using Go at both back-end and front-end sides.

Cross-platform solutions

There are lots of cross-platform solutions, such as ReactNative, Flutter, WebApp, etc. These solutions are appropriate for Apps without sophisticated UI and high-performance requirements, e.g. news, e-commerce apps. I am not going to talk about them in this article. If you plan to build really awesome products, you should avoid using Hybrid and Flutter.

Non-UI modules building with C/C++

Most mobile applications need to communicate with the backend system via HTTP, TCP, or WebSocket, and store data in SQLite database, etc. To improve the development efficiency, some companies prefer to develop non-UI modules with C/C++, then build static libraries for iOS and Android platforms. As we know, Objective-C is fully compatible with C/C++, Java also can call C library…

--

--

Natan

Senior Software Engineer. Used to work with Tencent, Alibaba and Amazon.