由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
MobileDevelopment版 - The State of Go Language for Android Native Development
相关主题
Office 365 Adds iOS and Android SDKs for Native App Support如何用Facebook Ads来推广自己的app (转载)
Utilities for C/C++ Android Developers: fplutil 1.0windows-platform-developer-august-updates
想问个Android开发平台的菜鸟问题[教程]iOS开发教程 [1] 概览
开发Android APP哪个工具好?Swift Has Reached 1.0 ,not final
Updated Cross-Platform Tools in Google Play Game Services做ios games, 有哪些比较流行的SDK?
简单易用的Andriod编程工具?64-bit and iOS 8 Requirements for New Apps
每日观察:关注亚马逊Fire智能手机等消息(6.19)What's New in Android 5.0 Lollipop
本站会删除我发的帖子Unable to build WeChat API's Sample with Android Studio
相关话题的讨论汇总
话题: android话题: go话题: ndk话题: native话题: crawshaw
进入MobileDevelopment版参与讨论
1 (共1页)
z*******n
发帖数: 1034
1
The State of Go Language for Android Native Development
by Sergio De Simone on Jun 27, 2014 | Discuss
A couple of different proposals from Google engineers and independent
developers are aiming at making it possible to write native Android apps in
Go. This will not go so far as allowing Go apps to access the full Android
NDK, but it could allow access to a subset of it.
According to David Crawshaw, engineer at Google and author of a proposal to
add partial Go support for Android apps, "providing a Go equivalent to the
Android platform is intractable. The platform is written in Java and has a
huge API surface."
There is however, says Crawshaw, a subset of Android apps written against a
much smaller C-based API surface provided in the Android NDK: Games. Thus it
becomes feasible to build Go support for Android providing the equivalent
features found in the NDK.
Crawshaw proposes that during the Go 1.4 cycle, support for a GOOS=android
option will be introduced to the Go repository that will include:
Bindings for OpenGL, OpenSL, and OpenMAX as exported through the Android
NDK.
A Java -> Go language binding generator. Given a Go package, this will
let Java code call it, so game menu UIs can be built in the standard SDK.
Android Studio build system integration.
Crawshaw's proposal to bring Go to Android is not the only one. Elias Naur
suggests to extend Go toolchain so that it supports the creation of shared
libraries. This would allow to create an Android app which uses a Go library
loaded and run in Android apps as distributed in .apk files. An important
requirement for this to happen has been already satisfied in Go 1.3 by
adding support for cross-compilation. Cross-compilation is required because
the NDK does not run on Android itself and only executables and shared
libraries compiled and/or linked with the Android NDK are guaranteed to run
on Android devices.
The latter proposal is based on an existing open-source project by Elias
Naur, goandroid. Goandroid patches Go tools and runtime to allow the
creation of shared libraries that can be run within native Android apps and
is not officially supported by Google.
Finally, a more comprehensive framework that aims at allowing to write
Android native applications in Go is Mandala. Mandala uses the Goandroid
toolchain and according to its creator, Andrea Fazzi, thanks to Mandala "you
can develop, test and run your application on your desktop and then deploy
it to an Android device. It encourages the use of idiomatic Go for writing
Android applications: communication happens through channels and not
callbacks."
Mandala comes close to Crawshaw's proposal, feature-wise, and also aims at
providing a solution mostly for games: "The framework should not be
considered a high-level game engine but as a basic layer onto which game
engines can be built or existing ones can be used." Fazzi warns that Google
does not support native Android development in Go, but expresses his hope
that "the present work could act as a sort of incentive in the direction of
an official Android support by the Go Team."
1 (共1页)
进入MobileDevelopment版参与讨论
相关主题
Unable to build WeChat API's Sample with Android StudioUpdated Cross-Platform Tools in Google Play Game Services
关于app的用户登录/账户管理简单易用的Andriod编程工具?
内推TECH SOLUTION ENGINEER(融了10M USD)每日观察:关注亚马逊Fire智能手机等消息(6.19)
Fastboot求解答本站会删除我发的帖子
Office 365 Adds iOS and Android SDKs for Native App Support如何用Facebook Ads来推广自己的app (转载)
Utilities for C/C++ Android Developers: fplutil 1.0windows-platform-developer-august-updates
想问个Android开发平台的菜鸟问题[教程]iOS开发教程 [1] 概览
开发Android APP哪个工具好?Swift Has Reached 1.0 ,not final
相关话题的讨论汇总
话题: android话题: go话题: ndk话题: native话题: crawshaw