
See Android Go - codingvelocity
http://www.codingvelocity.com/2015/07/23/go-mobile-intro.html
======
V-2
The question is, why would I want that?

With the availability of Kotlin, Groovy or (somewhat limited I believe, but
still) Scala on Android, what advantages does Go offer?

I was under impression that it's more of a backend language, tailored to the
needs of backend devs

I understand the crossplatform argument - write a platform-agnostic library in
Go, and use it in your iOS and Android app etc. but it doesn't answer "why Go,
of all languages".

It's an honest question, not a flamebait. Is there anything specific about Go
that makes it well suited for mobile environment, or is it like a using a
great shiny truck to deliver pizza "because you can" : )

~~~
codingvelocity
Because you can is largely why I wrote the post.

That being said, i think the nature of go routines and how go handles
threading could be very important for mobile. We are all walking around with
handsets that have multiple weak cores. If we can spread the general work over
those cores our handset could possibly get back to a lower power mode faster.

That's my take on it anyways

~~~
threeseed
You mean like Grand Central Dispatch ? It's been available in iOS for a few
years now and is very well integrated into the language.

Also battery life is largely pointless for an app developer to lose sleep
over. The tiny power saving you make will always be eclipsed by screen
brightness, cost of poor networks (the radio won't sleep) and apps like
Facebook which happily sit in the background with their VOIP mode active.

Not to mention users will punish you far more if your UI is poor or features
are missing rather than if it chews up battery (which they largely will never
be able to measure). I don't know many ordinary users who check their battery
usage deep down within the many Settings submenus.

~~~
codingvelocity
I didn't know about Grand Central Dispatch, my experience with iOS is fairly
limited.

I agree that UI is super important, but personally if i find an app is chewing
up my battery it's getting removed regardless of its utility. I've also helped
a handful of ordinary users diagnose why their battery life is poor. The
result is commonly a poorly optimized/buggy app which they uninstall. A dead
phone is a useless phone. My experience is primarily android so your mileage
may vary on other platforms.

------
tosseraccount
Why not write it in C and slap on the native cocoa/win/gtk/android front end
and have something totally "portable" to mac/ios/android/windows/linux?

~~~
jaegerpicker
Because go is significantly safer and more productive (of course this depends
on the developer in question but on average) and using the ndk with c/c++ for
serious development on android is absolutely one of the worst modern platform
development experiences out there.

~~~
cartoonfoxes
> using the ndk with c/c++ for serious development on android is absolutely
> one of the worst modern platform development experiences out there.

I have to second this. Serious attempts to use the NDK for application-layer
work will turn your hair white. It's by far the most god-awful mobile/quasi-
embedded tasks I've had professionally. In my experience it's second maybe
only to porting C-decompiled FORTRAN between families of obsolete and badly
documented DSP chips.

------
rhodysurf
I have been playing with the gomobile "bind" command to generate cross
platform libraries for my Android and iOS app. Its quite easy to use, but the
GC has been a pain in the ass on iOS. Its hard to track what the Go GC is
doing and I am fighting with a bunch of EXC_BAD_ACCESS errors when calling
operations on Go data structures. Still its a pretty fun experiment to have
one backend for all the different native front ends.

------
therealmarv
Would like to see some apps which use go as business logic. Nevertheless there
is not just iOS and Android. It would be great to have also JS covered.

Does somebody know if there is a go -> emscripten/asm.js toolchain/example
available?

------
sajal83
Waiting for them to release the source for Ivy. I made PoC android app writing
UI in Java... but curious to know how to do it purely in Go without knowing
how to interact with OpenGL.

------
Sumaso
Very exciting blog post!!!

I'm looking forward to writing all my android apps in Go!!!

