Are there plans to develop a golang version of Android?












4















I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.



I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings: https://www.android.com/versions/go-edition. Or is this a native Go Android?










share|improve this question


















  • 1





    Go edition is just a naming, it has nothing to do with Golang.

    – Angus Tay
    Aug 8 '18 at 1:12
















4















I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.



I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings: https://www.android.com/versions/go-edition. Or is this a native Go Android?










share|improve this question


















  • 1





    Go edition is just a naming, it has nothing to do with Golang.

    – Angus Tay
    Aug 8 '18 at 1:12














4












4








4








I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.



I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings: https://www.android.com/versions/go-edition. Or is this a native Go Android?










share|improve this question














I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.



I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings: https://www.android.com/versions/go-edition. Or is this a native Go Android?







android go






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Aug 7 '18 at 22:52









Tom RussellTom Russell

431217




431217








  • 1





    Go edition is just a naming, it has nothing to do with Golang.

    – Angus Tay
    Aug 8 '18 at 1:12














  • 1





    Go edition is just a naming, it has nothing to do with Golang.

    – Angus Tay
    Aug 8 '18 at 1:12








1




1





Go edition is just a naming, it has nothing to do with Golang.

– Angus Tay
Aug 8 '18 at 1:12





Go edition is just a naming, it has nothing to do with Golang.

– Angus Tay
Aug 8 '18 at 1:12












3 Answers
3






active

oldest

votes


















6















I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings




No. Android Go is a line of Android apps designed for use on low-end Android devices. Android Go has nothing to do with:




  • the Go programming language

  • the Go strategy board game

  • the Go square on a traditional Monopoly board

  • etc.



I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.




That is because it does not exist.






share|improve this answer



















  • 1





    Certainly the Monopoly thing can't just be coincidence...

    – Tom Russell
    Aug 8 '18 at 5:09






  • 1





    Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

    – kostix
    Aug 8 '18 at 11:13











  • What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

    – Tom Russell
    Aug 16 '18 at 8:17













  • I guess the Linux stack will need to all be rewritten as well.

    – Tom Russell
    Aug 16 '18 at 8:21











  • The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

    – mike
    Oct 21 '18 at 15:34





















3














Here is a wiki with clear steps to achieve compiling a golang app and installing onto android



https://github.com/golang/go/wiki/Mobile



The toy android app shows an animated triangle which follows your touch as it moves about ... this actually worked when I discovered above wiki I believe from https://news.ycombinator.com/item?id=9875886 To quote their wiki






The Go mobile subrepository adds support for mobile platforms (Android and iOS) and provides tools to build mobile applications.



There are two strategies you can follow to include Go into your mobile stack:





  • Writing all-Go native mobile applications.

  • Writing SDK applications by generating bindings from a Go package and invoke them from Java (on Android) and Objective-C (on iOS).


Writing golang for mobile can be like writing c++ for mobile - great for writing firmware level servers say for HLS (http-live-streaming) which live below any app to which apps make calls to






share|improve this answer


























  • Thanks. +1 for the effort though it didn't really address my question.

    – Tom Russell
    Aug 8 '18 at 5:19



















0














Note that it is possible to compile Go to both JavaScript and WASM. I've use the WASM support to build an application that work across all modern browsers. (incl. modern mobile browsers)



The way I do it is that I load the Go program in a background worker, I then use a channel to talk to the Go program as it was an API running locally. My primary reason for doing so was to leverage some of the functionality in the standard library, specifically, the cryptographic APIs.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51736462%2fare-there-plans-to-develop-a-golang-version-of-android%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6















    I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings




    No. Android Go is a line of Android apps designed for use on low-end Android devices. Android Go has nothing to do with:




    • the Go programming language

    • the Go strategy board game

    • the Go square on a traditional Monopoly board

    • etc.



    I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.




    That is because it does not exist.






    share|improve this answer



















    • 1





      Certainly the Monopoly thing can't just be coincidence...

      – Tom Russell
      Aug 8 '18 at 5:09






    • 1





      Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

      – kostix
      Aug 8 '18 at 11:13











    • What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

      – Tom Russell
      Aug 16 '18 at 8:17













    • I guess the Linux stack will need to all be rewritten as well.

      – Tom Russell
      Aug 16 '18 at 8:21











    • The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

      – mike
      Oct 21 '18 at 15:34


















    6















    I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings




    No. Android Go is a line of Android apps designed for use on low-end Android devices. Android Go has nothing to do with:




    • the Go programming language

    • the Go strategy board game

    • the Go square on a traditional Monopoly board

    • etc.



    I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.




    That is because it does not exist.






    share|improve this answer



















    • 1





      Certainly the Monopoly thing can't just be coincidence...

      – Tom Russell
      Aug 8 '18 at 5:09






    • 1





      Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

      – kostix
      Aug 8 '18 at 11:13











    • What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

      – Tom Russell
      Aug 16 '18 at 8:17













    • I guess the Linux stack will need to all be rewritten as well.

      – Tom Russell
      Aug 16 '18 at 8:21











    • The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

      – mike
      Oct 21 '18 at 15:34
















    6












    6








    6








    I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings




    No. Android Go is a line of Android apps designed for use on low-end Android devices. Android Go has nothing to do with:




    • the Go programming language

    • the Go strategy board game

    • the Go square on a traditional Monopoly board

    • etc.



    I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.




    That is because it does not exist.






    share|improve this answer














    I see there's an Android 9 (Go edition) version. But it looks like it's just more Java with Golang bindings




    No. Android Go is a line of Android apps designed for use on low-end Android devices. Android Go has nothing to do with:




    • the Go programming language

    • the Go strategy board game

    • the Go square on a traditional Monopoly board

    • etc.



    I've looked around a bit but I can't find a discussion about a version of Android built directly from golang source code and little or no Java.




    That is because it does not exist.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Aug 7 '18 at 22:57









    CommonsWareCommonsWare

    771k13818801932




    771k13818801932








    • 1





      Certainly the Monopoly thing can't just be coincidence...

      – Tom Russell
      Aug 8 '18 at 5:09






    • 1





      Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

      – kostix
      Aug 8 '18 at 11:13











    • What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

      – Tom Russell
      Aug 16 '18 at 8:17













    • I guess the Linux stack will need to all be rewritten as well.

      – Tom Russell
      Aug 16 '18 at 8:21











    • The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

      – mike
      Oct 21 '18 at 15:34
















    • 1





      Certainly the Monopoly thing can't just be coincidence...

      – Tom Russell
      Aug 8 '18 at 5:09






    • 1





      Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

      – kostix
      Aug 8 '18 at 11:13











    • What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

      – Tom Russell
      Aug 16 '18 at 8:17













    • I guess the Linux stack will need to all be rewritten as well.

      – Tom Russell
      Aug 16 '18 at 8:21











    • The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

      – mike
      Oct 21 '18 at 15:34










    1




    1





    Certainly the Monopoly thing can't just be coincidence...

    – Tom Russell
    Aug 8 '18 at 5:09





    Certainly the Monopoly thing can't just be coincidence...

    – Tom Russell
    Aug 8 '18 at 5:09




    1




    1





    Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

    – kostix
    Aug 8 '18 at 11:13





    Fuchsia may (or may not) eventually displace Android, and parts of it are wtitten in Go; but only parts, and the other parts are written in C, C++, Dart, and may be something else. And since Android is the kernel plus some amount of Java API and userspace, I doubt it would even be a good idea to (re-)write all of this in Go, especially the kernel.

    – kostix
    Aug 8 '18 at 11:13













    What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

    – Tom Russell
    Aug 16 '18 at 8:17







    What a mess. Doesn't look like Fushia is going to save us. But a complete rewrite of kernel, APIs and user space in golang might not? How can C be better in any way than Go?

    – Tom Russell
    Aug 16 '18 at 8:17















    I guess the Linux stack will need to all be rewritten as well.

    – Tom Russell
    Aug 16 '18 at 8:21





    I guess the Linux stack will need to all be rewritten as well.

    – Tom Russell
    Aug 16 '18 at 8:21













    The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

    – mike
    Oct 21 '18 at 15:34







    The only choice could be a WebAssembly API accessible for userspace. That way any language compiled go wasm could use it. This is where the web goes so I see no reason why native OSes wouldn't follow. So it's not all lost but today looks like you need to use Java to write Android apps and Swift/Objective-C to write iOS apps...I already regret using Go in my latest mobile app.

    – mike
    Oct 21 '18 at 15:34















    3














    Here is a wiki with clear steps to achieve compiling a golang app and installing onto android



    https://github.com/golang/go/wiki/Mobile



    The toy android app shows an animated triangle which follows your touch as it moves about ... this actually worked when I discovered above wiki I believe from https://news.ycombinator.com/item?id=9875886 To quote their wiki






    The Go mobile subrepository adds support for mobile platforms (Android and iOS) and provides tools to build mobile applications.



    There are two strategies you can follow to include Go into your mobile stack:





    • Writing all-Go native mobile applications.

    • Writing SDK applications by generating bindings from a Go package and invoke them from Java (on Android) and Objective-C (on iOS).


    Writing golang for mobile can be like writing c++ for mobile - great for writing firmware level servers say for HLS (http-live-streaming) which live below any app to which apps make calls to






    share|improve this answer


























    • Thanks. +1 for the effort though it didn't really address my question.

      – Tom Russell
      Aug 8 '18 at 5:19
















    3














    Here is a wiki with clear steps to achieve compiling a golang app and installing onto android



    https://github.com/golang/go/wiki/Mobile



    The toy android app shows an animated triangle which follows your touch as it moves about ... this actually worked when I discovered above wiki I believe from https://news.ycombinator.com/item?id=9875886 To quote their wiki






    The Go mobile subrepository adds support for mobile platforms (Android and iOS) and provides tools to build mobile applications.



    There are two strategies you can follow to include Go into your mobile stack:





    • Writing all-Go native mobile applications.

    • Writing SDK applications by generating bindings from a Go package and invoke them from Java (on Android) and Objective-C (on iOS).


    Writing golang for mobile can be like writing c++ for mobile - great for writing firmware level servers say for HLS (http-live-streaming) which live below any app to which apps make calls to






    share|improve this answer


























    • Thanks. +1 for the effort though it didn't really address my question.

      – Tom Russell
      Aug 8 '18 at 5:19














    3












    3








    3







    Here is a wiki with clear steps to achieve compiling a golang app and installing onto android



    https://github.com/golang/go/wiki/Mobile



    The toy android app shows an animated triangle which follows your touch as it moves about ... this actually worked when I discovered above wiki I believe from https://news.ycombinator.com/item?id=9875886 To quote their wiki






    The Go mobile subrepository adds support for mobile platforms (Android and iOS) and provides tools to build mobile applications.



    There are two strategies you can follow to include Go into your mobile stack:





    • Writing all-Go native mobile applications.

    • Writing SDK applications by generating bindings from a Go package and invoke them from Java (on Android) and Objective-C (on iOS).


    Writing golang for mobile can be like writing c++ for mobile - great for writing firmware level servers say for HLS (http-live-streaming) which live below any app to which apps make calls to






    share|improve this answer















    Here is a wiki with clear steps to achieve compiling a golang app and installing onto android



    https://github.com/golang/go/wiki/Mobile



    The toy android app shows an animated triangle which follows your touch as it moves about ... this actually worked when I discovered above wiki I believe from https://news.ycombinator.com/item?id=9875886 To quote their wiki






    The Go mobile subrepository adds support for mobile platforms (Android and iOS) and provides tools to build mobile applications.



    There are two strategies you can follow to include Go into your mobile stack:





    • Writing all-Go native mobile applications.

    • Writing SDK applications by generating bindings from a Go package and invoke them from Java (on Android) and Objective-C (on iOS).


    Writing golang for mobile can be like writing c++ for mobile - great for writing firmware level servers say for HLS (http-live-streaming) which live below any app to which apps make calls to







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Aug 8 '18 at 0:43

























    answered Aug 8 '18 at 0:37









    Scott StenslandScott Stensland

    15.9k75671




    15.9k75671













    • Thanks. +1 for the effort though it didn't really address my question.

      – Tom Russell
      Aug 8 '18 at 5:19



















    • Thanks. +1 for the effort though it didn't really address my question.

      – Tom Russell
      Aug 8 '18 at 5:19

















    Thanks. +1 for the effort though it didn't really address my question.

    – Tom Russell
    Aug 8 '18 at 5:19





    Thanks. +1 for the effort though it didn't really address my question.

    – Tom Russell
    Aug 8 '18 at 5:19











    0














    Note that it is possible to compile Go to both JavaScript and WASM. I've use the WASM support to build an application that work across all modern browsers. (incl. modern mobile browsers)



    The way I do it is that I load the Go program in a background worker, I then use a channel to talk to the Go program as it was an API running locally. My primary reason for doing so was to leverage some of the functionality in the standard library, specifically, the cryptographic APIs.






    share|improve this answer




























      0














      Note that it is possible to compile Go to both JavaScript and WASM. I've use the WASM support to build an application that work across all modern browsers. (incl. modern mobile browsers)



      The way I do it is that I load the Go program in a background worker, I then use a channel to talk to the Go program as it was an API running locally. My primary reason for doing so was to leverage some of the functionality in the standard library, specifically, the cryptographic APIs.






      share|improve this answer


























        0












        0








        0







        Note that it is possible to compile Go to both JavaScript and WASM. I've use the WASM support to build an application that work across all modern browsers. (incl. modern mobile browsers)



        The way I do it is that I load the Go program in a background worker, I then use a channel to talk to the Go program as it was an API running locally. My primary reason for doing so was to leverage some of the functionality in the standard library, specifically, the cryptographic APIs.






        share|improve this answer













        Note that it is possible to compile Go to both JavaScript and WASM. I've use the WASM support to build an application that work across all modern browsers. (incl. modern mobile browsers)



        The way I do it is that I load the Go program in a background worker, I then use a channel to talk to the Go program as it was an API running locally. My primary reason for doing so was to leverage some of the functionality in the standard library, specifically, the cryptographic APIs.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 20 at 12:03









        John LeidegrenJohn Leidegren

        36.5k15100135




        36.5k15100135






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51736462%2fare-there-plans-to-develop-a-golang-version-of-android%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Liquibase includeAll doesn't find base path

            How to use setInterval in EJS file?

            Petrus Granier-Deferre