V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AsaDong
V2EX  ›  Android

Android 哪天会不会可以用 golang 开发 然后效率翻好几番

  •  
  •   AsaDong · 2015-08-20 15:32:56 +08:00 · 18350 次点击
    这是一个创建于 3385 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我就随便想想 看着 android 的内存涨啊涨 效率又这么低下,设备工艺也不如 iPhone 怎么办呢
    18 条回复    2015-08-28 12:45:28 +08:00
    Bown
        1
    Bown  
       2015-08-20 15:42:50 +08:00
    UI 相关的东西不大可能用 go 来写了得重写整个 SDK
    go 后续用来写一些 native 的 lib 、游戏什么的还是不错的
    em70
        2
    em70  
       2015-08-20 15:44:33 +08:00
    效率可以通过不断提升的硬件和系统优化解决,而 java 虚拟机机制对硬件兼容性这是其他语言无法取代的
    cheneyeah
        3
    cheneyeah  
       2015-08-20 15:50:49 +08:00   ❤️ 1
    如果是内存的话,其实跟语言无关,跟程序员的功力有关...
    mthli
        4
    mthli  
       2015-08-20 15:54:26 +08:00 via Android
    索尼大法好。
    ant_sz
        5
    ant_sz  
       2015-08-20 15:57:23 +08:00
    然而事实上目前的 benchmark 显示 Go 语言的运行速度其实跟 Java 在一个量级。即使是编译运行加上 GC 什么的 runtime 也不会很快的。。。
    ikaros
        6
    ikaros  
       2015-08-20 15:59:29 +08:00
    今天 1.5 正式版已经发布了,可以用 1.5 内置的 gomobile 写一些 android/iOS 程序了
    https://sourcegraph.com/blog/live/gophercon2015/123653512740
    honeycomb
        7
    honeycomb  
       2015-08-20 15:59:57 +08:00
    现在 AOT 不算慢,而且性能敏感的代码都用 JNI
    comicfans44
        8
    comicfans44  
       2015-08-20 16:11:35 +08:00   ❤️ 1
    ...不可能。单就语言来说 C 也可以写出效率低下的代码,内存再升级也比不上应用内存泄露啊。效率这个东西应该还是要看 app 开发者的优化, ios 体验好那是 apple 的代码审查严格。
    假如是简单的程序逻辑,那么 java 不会成为性能瓶颈的,现在 art 都是编译成原生代码,几乎算不上虚拟机了。但要是密集运算,可能改用 jni 或者 renderscript ,感觉 golang 在这方面没有太多能插足之处。
    AsaDong
        9
    AsaDong  
    OP
       2015-08-20 16:24:43 +08:00
    @ikaros 还真有
    jun4rui
        10
    jun4rui  
       2015-08-20 17:00:55 +08:00
    其实现在蛮多就是用 C 开发的,而且现在 Android 的 APP 在 ART 下也没啥慢的了吧?
    hooluupog
        11
    hooluupog  
       2015-08-20 17:12:28 +08:00
    Go 到现在没有一个像样的 2D , 3D 图形库,更没有移动,桌面的 gui 框架,所以除非它有什么内部秘密项目,否则以目前的情况, 2 年以内看不到 Go 开发 android app 的可能性。
    另外 dart 也在搞 sky , google 到底在想什么, android 未来到底会有什么新东西,不好说。
    不过单从语言上说, Go 倒是很适合开发出 UI 程序,天生并发,没有一大堆 callback ,而且除了 oop ,如今 FRP 也慢慢成了开发 UI 的趋势(参考 facebook 的 react ),同一套代码,跑在 android , ios 上(如果连 web 也支持就更爽了),挺让人期待的。
    Bown
        12
    Bown  
       2015-08-20 18:02:08 +08:00
    Go1.4 就加入了 arm 下的工具链支持 Android 了,还有一个独立的 mobile 探索项目 http://godoc.org/golang.org/x/mobile ,提供了一些基础的 go 和 java 互调的 binding 库、 NativeActivity 和生命周期回调、和一个极简的 sprite 引擎可以来写游戏,其实都是基于 C 的 OpenGL 的封装
    1.4 发布的时候我写过一个 Go 版的 Android 贪吃蛇。。
    kaneg
        13
    kaneg  
       2015-08-20 23:02:25 +08:00
    生态圈是关键,相比目前 Java 数以百万计的开发人员和数不清的开源库, Go 还是太嫩了。得开发人员得天下,微软目前开源.Net 是在下一盘大棋
    FrankFang128
        14
    FrankFang128  
       2015-08-21 07:42:00 +08:00 via Android
    效率分为开发效率,运行效率,还有招聘效率
    missdeer
        15
    missdeer  
       2015-08-21 10:57:39 +08:00
    ivy, first golang android app by rob pike rocks
    https://groups.google.com/forum/#!topic/golang-nuts/tDYEdAXyk4A
    CaiHuan
        16
    CaiHuan  
       2015-08-27 09:34:22 +08:00
    用 golang 那还不如用 rust
    quiz
        17
    quiz  
       2015-08-28 12:44:46 +08:00
    Golang 效率高了,但是应该算是一种退步吧:)
    https://www.dartlang.org/mobile/
    看看 google 想怎么玩儿
    quiz
        18
    quiz  
       2015-08-28 12:45:28 +08:00
    最近在用 Kotlin 做一个小项目,有喜欢玩儿 Kotlin 的同学欢迎来搞基!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1448 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:27 · PVG 01:27 · LAX 09:27 · JFK 12:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.