|proposal: android support||David Crawshaw||6/20/14 4:25 PM|
Comments welcome on this thread. Thank you.
|Re: [golang-dev] proposal: android support||Andrew Gerrand||6/20/14 4:27 PM|
|Re: [golang-dev] proposal: android support||Dave Cheney||6/20/14 4:35 PM|
LGTM. brb, gotta buy a Nexus 5.
> You received this message because you are subscribed to the Google Groups "golang-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to golang-dev+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
|Re: proposal: android support||chrs...@gmail.com||6/20/14 5:20 PM|
This sounds fantastic.
I previously tried writing a simple web server (targeting ARM) and dropped it on an Android device, which worked fine - but I was unsure as to the best way to actually package it as an application. Having full Android support built in would be much, much easier.
just for reference, the easiest way I've found to run Go on Android is to something like Dennis Forbes outlined here: http://dennisforbes.ca/index.php/2014/03/19/go-golang-and-android/
|Re: proposal: android support||Jeromy Johnson||6/20/14 5:41 PM|
LGTM, this would be awesome.
|Re: proposal: android support||dyso...@gmail.com||6/20/14 6:26 PM|
Are you aiming for full-blown support (like Java) or something akin to C/C++ on the NDK? Should I expect any announcements regarding this on Google I/O?
Go would make for a great competitor to Swift.
|Re: [golang-dev] Re: proposal: android support||Andrew Gerrand||6/20/14 6:34 PM|
Read the doc. It is one page.
|Re: proposal: android support||Stefano Casillo||6/20/14 7:23 PM|
On Saturday, 21 June 2014 07:25:50 UTC+8, David Crawshaw wrote:
yess!!! Please, please, pretty please.. just do it, this is going to change everything in how Go is used.
This has to be the best news since I have been following the project.
|Re: proposal: android support||cyber...@gmail.com||6/20/14 8:58 PM|
I use Go on both x86 and ARM - so my questions are (pardon me if I don't understand Android internals sufficiently well)
1. Why can't the Go code generator output Dalvik VM code ?
2. Shouldn't the support be for ART, AFAIK it is becoming the new VM for Android
I would much rather code in Go than Java. Other than that I would prefer to see similar access to Application Framework and Libraries.
NDK level access is a separate issue.
Which suggests to me that there are two broad use cases:
(a) For folks who'd rather code in Go than C / C++; and
(b) Folks who would rather code in Go than Java.
I think that the cleanest approach would be to treat Android as two different targets for each of these use cases.
|Re: proposal: android support||a...@laher.net.nz||6/20/14 9:47 PM|
I'd imagine there will be a massive uptake in Go as a result of this project - there must be gazillions of app developers who'd rather write games with Go instead of C.
Do you think there will be any particular limitations on NDK features which would be available to Go, as opposed to C?
I guess there's potentially a slight performance hit, but anything beyond that?
Cheers, exciting news.
|proposal: android support||Elias Naur||6/20/14 11:05 PM|
No comments, just a simple: yay!
|Re: proposal: android support||andrea...@alcacoop.it||6/21/14 12:47 AM|
Oh that's a good news!
|Re: proposal: android support||Vince Prignano||6/21/14 1:53 AM|
It's one good news after another, NaCl and Android NDK. Thanks to everyone in Google Go Team for the fantastic work.
|Re: [golang-dev] proposal: android support||Aram Hăvărneanu||6/21/14 2:26 AM|
Sounds good, but where are the implementation details?
|proposal: android support||beancin...@gmail.com||6/21/14 8:12 AM|
Awesome, looking forward to this,
|Re: [golang-dev] proposal: android support||Daniel Bryan||6/21/14 7:42 PM|
I have a question that might reveal my ignorance of Android more than anything.> Dalvik-loadable .so files will be produced using the external linker provided in the Android NDK.
Does this imply that a separate effort will be needed for ART support? Or are they equivalent?
|Re: [golang-dev] proposal: android support||David Crawshaw||6/21/14 8:06 PM|
I haven't tried running with ART builds yet, but my understanding is
it can dlopen the same shared library.
|Re: proposal: android support||小菜||6/21/14 9:25 PM|
I hope golang fully supports the andorid platform, like the swift support for the IOS platform, I very hate Java verbose syntax, because didn't like Java, I always do not want to learn Android development technology. If golang does well on the Android platform, he will achieve rapid development and great success. Golang is my most loved programming language!
在 2014年6月21日星期六UTC+8上午7时25分50秒，David Crawshaw写道：
|Re: proposal: android support||小菜||6/21/14 9:46 PM|
This is really a good news, I look forward to a long time. I look forward to the future can be very easy to use golang to develop Android program!
I can't visit http://golang.org/s/go14android , I am in China.
There are many many gophers in China who have difficulties accessing the official golang web site which is banned from inside China by the notorious GFW.
在 2014年6月21日星期六UTC+8上午7时25分50秒，David Crawshaw写道：
|Re: proposal: android support||Stephen Gutekanst||6/22/14 9:53 AM|
LGTM so much. I really look forward to adding Android support to the Azul3D game engine when Go 1.4 is out.
|Re: proposal: android support||Leslie Zhai||6/22/14 10:02 PM|
|Re: proposal: android support||Gour||6/22/14 11:30 PM|
David Crawshaw <craw...@golang.org>
Everything which does not require Java for Android LGTM.
However, being more interested for the desktop apps (go-qml), what do
you think about using Qt (bindings) for Andorid?
The work of a man who is unattached to the modes of material
nature and who is fully situated in transcendental knowledge
merges entirely into transcendence.
|Re: proposal: android support||Leslie Zhai||6/23/14 12:04 AM|
Go QML is cool, but there is QtQuick2 QML right now since Qt 5.3 released ;) how about Go QML status?
|Re: [golang-dev] Re: proposal: android support||David Crawshaw||6/23/14 8:13 AM|
On Mon, Jun 23, 2014 at 2:23 AM, Gour <go...@atmarama.net> wrote:I hear good things about QML, but UI toolkits are beyond the scope of
|Re: [golang-dev] Re: proposal: android support||Gustavo Niemeyer||6/23/14 9:17 AM|
Very nice, thanks for organizing this, David. I'm looking forward to
playing with this too.
By the way, does it make sense to call the repository go.android
rather than go.mobile? It looks like all the components there are
very specific to Android.
gustavo @ http://niemeyer.net
|Re: [golang-dev] Re: proposal: android support||Brad Fitzpatrick||6/23/14 9:18 AM|
Don't rule out Windows Phone and Tizen support in the future.
On Jun 23, 2014 9:17 AM, "Gustavo Niemeyer" <gus...@niemeyer.net> wrote:
Very nice, thanks for organizing this, David. I'm looking forward to
|Re: [golang-dev] Re: proposal: android support||David Crawshaw||6/23/14 9:24 AM|
On Mon, Jun 23, 2014 at 12:17 PM, Gustavo Niemeyer <gus...@niemeyer.net> wrote:My intention, after Android is working, is to explore iOS. As we are
avoiding the platform UI toolkits, the Go packages for app management,
touch events, drawing, etc should be common to both.
I would call it go.app if it didn't overlap so much with app engine.
|Re: [golang-dev] Re: proposal: android support||Gustavo Niemeyer||6/23/14 9:24 AM|
It works in the Ubuntu Phone today, too. The point is just that it
looks like all the proposed content for the repository is not
applicable to anything but Android. If that's not the case and I'm
mistaken, then surely that's great.
|Re: [golang-dev] Re: proposal: android support||Gustavo Niemeyer||6/23/14 10:17 AM|
The document reads clearly like avoiding the platform-dependent
Java-based UI is a consequence of the technical difficulty in doing
so, rather than a design decision, and that the goal is wrapping and
supporting the Android NDK specifically, rather than focusing on
If that's not the case, I suggest making the high-level plan more clear.
|Re: [golang-dev] Re: proposal: android support||David Crawshaw||6/23/14 10:21 AM|
It is. Multi-platform APIs are a secondary concern, that's why it is
not strongly mentioned. It is however, an entirely possible outcome
due to the decisions being made.
Being careful as I go, like naming the repository go.mobile instead of
go.android is not something I want to call too much attention to. If I
err, I want to err on the side of supporting Android well.
|Re: [golang-dev] Re: proposal: android support||Gustavo Niemeyer||6/23/14 10:31 AM|
That's what I thought, and why I suggested naming it go.android.. it's
really not a multi-platform effort from the looks of it. But I won't
bikeshed any more on it than I already did.
Thanks for pushing this forward. Looking forward to having it available.
|Re: proposal: android support||Tony Constantinides||6/24/14 2:57 PM|
Have you guys considered calling Java APIs on Android using RPC using Google Protocol buffers?
The use of this ope source project is of interest
The idea is that a Google Go client can send messages using its Google Protocol Buffers packages which can translated to RPC calls (which are ran salted to Java Android Calls))
to a Java Activity on Android. Its bi-directional so the java code can call back the Go Client.
Done this way, the Go team does not need to support the whole Java Android API as users can define future message that do, but provides
a Go packages that allows communication with an Java Android App using the efficient Google protocol Buffers over RCP as a transport and communication method.
I can provide a library that receives the RCP messages and forwards them to Java API calls on Android.
|Re: proposal: android support||Stephen Gutekanst||6/24/14 5:00 PM|
I don't think RPC is appropriate. Through CGO we'll have access to the Java C API (JNI) and can interact bidirectionally with Java, creating instances of classes, invoking methods, etc, from Go. We can even do callbacks such that Java can call Go functions. More appropriately this method wouldn't have the overhead of RPC.
|Re: proposal: android support||Tony Constantinides||6/25/14 9:02 PM|
That great, I always thought CGO will rely on Java JNI which seems to support java calling C and not the other way around. How would resources(bitmaps. layout, fonts, strings in XML files) be handled as Android has a strict directory structure? How do we handled android security permissions in the Android manifest file? Do we just manually code this on the native side and use Go like a scripting language over Android API?
|Re: [golang-dev] Re: proposal: android support||Andrea Fazzi||6/25/14 10:58 PM|
Hi Stephen, you may be interested to look at how I handled some of the issues related to resources management in mandala:
|Re: proposal: android support||Stephen Gutekanst||6/26/14 2:11 AM|
Wikipedia mentions that JNI is bidirectional (Java -> C; C -> Java) with CGO it only implies that Go could call Java, and Java could call Go. Of course a nice interface to JNI (perhaps using some, a lot of?, reflection) would probably be preferred. As far as permissions I imagine you would still have to specify them in the manifest file just as you normally would.
The main point of this proposal is that it would let you compile Go to .so files -- which on Android could normally only be written in C or C++ through the NDK. All standard points of the NDK still remain (needing a simple Java application to load the .so file, needing to use JNI to call any Android Java API, etc).
About resources: I don't really know, I haven't looked into resource management on Android in-depth and don't know what problems arise. From briefly looking at Andrea's mandala project below it looks like there are certainly some issues to tackle (resources live in the .apk file and must be unpacked, etc).
|Re: proposal: android support||John Vilsack||6/27/14 7:54 AM|
This will have a dramatic impact on the adoption rate of Go in the wild. I cannot wait!