
Write Android apps in Google Go - SamWhited
https://github.com/eliasnaur/goandroid
======
AnthonyMouse
This is nice and everything, but why can't they just give up the charade and
let people write applications for mobile devices in whatever language they
like without having to jump through hoops like this? I should be able to write
applications in Go (or C or whatever) and be able to use the official APIs in
an officially supported way and without having to waste time screwing with
shims and JNI.

And while I'm complaining about it, it sure would be nice if they would
include POSIX support by default. It's not like the code to do it isn't
largely already written and freely available.

~~~
grey-area
I'd love to see Google reset their Android efforts and start again because of
Java issues (legal, technical), and fragmentation issues (majority still on
Android 2.x), and also as you mention because having one binary API for the UI
is painful. My wishlist for a revamped mobile platform:

A simple linux distribution as a base (as with Android), with posix. They
could still lock-down app installation for normal users, have an app store,
and all the other things that make current mobile platforms attractive to
consumers.

Hooks for any popular languages to control the UI via simple glue libraries,
all implementing the same API, with the ability to add more easily because the
UI API could be really quite simple (and should remain so) if built off the
work already done for the web. They could add C, C++, Golang, Java, C#, even
ObjC to the mix this way. There's no chance they'll do this for their current
API, so they'd need to have a radical rethink of just what a mobile OS should
provide.

A web-based stack for the UI based on an improved webkit (a la webOS). Most
apps have very simple needs (specify a UI, adjust the UI, listen for UI
events) that could easily be dealt with by message passing between the view
and app rather than binary interfaces. Webgl and css animations etc could be
utilised for performance where required. Crucially this wouldn't tie
developers into one complete stack from language to tools to UI - the UI
should be separate and not tied intimately to the back-end language as it is
currently on iOS and Android.

A base OS that is non-negotiable and non-modifiable by carriers/manufacturers,
and upgrades from a central point (a consortium led by Google), that are not
phone-specific. Carriers can add apps etc but there's no reason they have to
adjust the base OS, and both should negotiate with Google for inclusion of new
drivers, not hold up upgrades because they want to sell newer
hardware/contracts.

Far stricter permissions for apps with far less access (more like web-apps),
and individual prompts on first use of info like phone no, addresses etc. to
discourage overuse.

It's a shame that our mobile devices are typically tied to one platform, one
language, one UI, when they have so much potential as portable computing
devices.

~~~
dotmanish
Is that Ubuntu for phones you're talking about?

~~~
grey-area
Quite possibly that covers a lot of it, haven't looked at that so will have a
look, thanks for the tip. Not keen on using QML (yet another mark up
language), but HTML seems to be an option there. Do you know of any hardware
that can run this?

------
axaxs
If you do not call it AT&T C, please don't call it Google Go.

~~~
Lerc
It is much easier to tell by context that you are talking about a programming
language with C. Go is a common enough word that sometimes it is hard to tell.
The full name reduces the chance of confusion.

~~~
hayksaakian
I thought Golang was the safer term.

~~~
karaziox
Yes Golang is the "complete name", at least way more than "Google Go", since
Go isn't affiliated directly with Google anymore.

~~~
jlgreco
I would say that the "complete" name is "The Go Programming Language". Go and
Golang are both shortened forms of that.

------
z3phyr
With the contribution from samsung, one can also write Rust programs for
android.

[https://github.com/mozilla/rust/wiki/Doc-building-for-
androi...](https://github.com/mozilla/rust/wiki/Doc-building-for-android)

~~~
doublec
You can also use ATS with a few patches to the compiler:

[http://sourceforge.net/mailarchive/message.php?msg_id=290363...](http://sourceforge.net/mailarchive/message.php?msg_id=29036314)

Quite a few languages are available for Android development now that the NDK
allows native code.

------
pjmlp
Meanwhile this is still open with no changes since November 2012,

[http://code.google.com/p/android/issues/detail?id=39482](http://code.google.com/p/android/issues/detail?id=39482)

If the Android team wanted to give proper support for Go, I think it would
have done it already, instead of changing tooling between IDEs.

The same goes for disabling the Objective-C support on gcc and clang
toolchains.

~~~
octopus
Last time I've tried (a few months ago) it was a question of modifying a
Makefile to enable Fortran and Objective-C in a custom build toolchain for
Android.

~~~
pjmlp
I know, but that is the main point, we are forced to use a custom build
toolchain, when gcc and clang already offer support for them

