V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
storypanda
V2EX  ›  程序员

Android 开发,现在该学 Kotlin 吗?

  •  
  •   storypanda · 2019-06-03 06:09:42 +08:00 via Android · 7453 次点击
    这是一个创建于 2035 天前的主题,其中的信息可能已经有所发展或是发生改变。

    会不会以后突然 Android Studio 更新不支持 Java 或者新设备不兼容 Java 了的话,是不是必须要学 Kotlin?

    好的有两方面:

    一方面 Java 就和 OC 一样很多公司和项目都在用,

    另一方面 iOS 的 Xcode 依旧可以使用 OC 编程。

    问此问题来源于我学习 Android 以及实践的焦虑:

    独自在广州,自己暂停了兼职,逼自己开始开发独立小项目能上线的那种。

    因为兼职重复更新,爬虫 Python 也刚入门,最近好不容易转回 Java。

    兼职也是最后能交房租的退路。

    尽管如此我还是不想做专业平面设计或者是做过的新媒体运营。

    感觉反复看那基本经典的书籍开头,也很烦躁,更因为除了第一行代码,

    其他的《 Java 核心技术基础知识》以及阿里的《码出高效》都是循序渐进的,中途一下就断了。

    准备卖二手了,有需要的吗?

    准备今天入 Java9 官方入门教程以及 Java 编程思想,睡前学习。

    32 条回复    2019-06-03 18:47:27 +08:00
    cuebyte
        1
    cuebyte  
       2019-06-03 06:14:14 +08:00
    學吧
    xiangyuecn
        2
    xiangyuecn  
       2019-06-03 06:25:43 +08:00
    官方默认,不言而喻。另外默认项目,不设置,lambda 表达式都用不了😒 不知道是不是我机器太老被 Google 嫌弃了

    storypanda
        3
    storypanda  
    OP
       2019-06-03 06:38:34 +08:00 via Android
    @xiangyuecn 更新到最新版,默认 Kotalin.

    那几本书也想认真看,可是中途看确实接不上前面。
    出两本书:
    《 Android 权威官方指南(第二版)》
    《 Java 核心技术卷 1 基础知识》
    sagaxu
        4
    sagaxu  
       2019-06-03 06:45:44 +08:00 via Android
    别人用了两年了,你才来问该不该学。

    这是卖书的软广吗?
    storypanda
        5
    storypanda  
    OP
       2019-06-03 06:51:10 +08:00 via Android
    @sagaxu 不是,顺便提一下而已。
    gramyang
        6
    gramyang  
       2019-06-03 06:54:54 +08:00   ❤️ 1
    kotlin 是 JVM 上的语言,所以不可能不支持 Java,应该说 kotlin 抱的就是 Java 的大腿。
    kotlin 的语法爽,据说是现在设计的最舒服的 JVM 上的语言了,值得学习。
    Esen
        7
    Esen  
       2019-06-03 07:01:53 +08:00 via Android   ❤️ 2
    想多了,现在的 Android framework 层全是 Java。除非 Android framework 层全部用 kotlion 重写,不然完全不可能,Java 依然是庞大的市场,kotlin 只是小众语言,等强制的时候估计你也到了退休了的年纪!
    sagaxu
        8
    sagaxu  
       2019-06-03 07:20:07 +08:00 via Android
    @storypanda 如果有 JAVA 基础,顺带学个 Kotlin 一周的业余时间足够了。
    @gramyang 不全是 JVM 了,我也用 Kotlin 写前端。
    cxtrinityy
        9
    cxtrinityy  
       2019-06-03 07:32:16 +08:00 via Android   ❤️ 1
    别人的 Java 版本都突破天际了,各种语法糖,新 api,Android 主流还是 7,lambda 想用用都要各种配置,跟不上后端主流 Java 的潮流
    Kotlin 是现代语言,各种现代语言新特性都有,学了你就发现和很多其他现代语言有各种相似之处,而且各种语法糖的确可以提高开发效率
    Android 官网很多 demo 现在都是 kotlin 为主,新的连 Java 版的都还没有,学学没坏处,还很有意思
    虽然考虑性能的时候,语法糖不能乱吃,但通过和 Java 互转可以加深对两门语言的理解
    itning
        10
    itning  
       2019-06-03 07:41:40 +08:00 via Android
    kotlin first
    nicevar
        11
    nicevar  
       2019-06-03 08:21:00 +08:00
    哪还需要刻意学,会 java 了 kotlin 还怕什么,一两天时间看一下直接就上手了
    loginbygoogle
        12
    loginbygoogle  
       2019-06-03 09:08:13 +08:00 via Android
    看下文档就会了。没啥学习成本。
    WebKit
        13
    WebKit  
       2019-06-03 09:17:08 +08:00
    kotlin 我已经用了两年了。。。2016 年末用的。。楼上说的 Android 主流还是 7...真的做过 Android 开发吗。你要是会 java 边学边用 kotlin 基本几小时入门,一周能做大部分事了。另外,感觉你学的有点杂,还是需要有一个专长的领域。
    storypanda
        14
    storypanda  
    OP
       2019-06-03 09:38:38 +08:00 via Android
    @WebKit 嗯嗯,专长必须要有一样
    kx5d62Jn1J9MjoXP
        15
    kx5d62Jn1J9MjoXP  
       2019-06-03 09:41:26 +08:00 via Android
    该吧,不过我觉得和 Java 没有本质区别
    huage2580
        16
    huage2580  
       2019-06-03 09:59:38 +08:00
    1. android 主流还是 java 1.7 ;没错的; target 也能设 1.8 ;
    2. kt 是要学的,不管是语法糖还是现代语言的特性都好用;(还是 google 的推荐开发语言
    3. 新项目建议 KT 起手,老项目建议慎重混合 kt ; kt 编译真的慢很多,尤其是非完全编译;
    4. 学习成本说实话不算高;你看多几个语言( swift ? 你会发现都差不多;
    cxtrinityy
        17
    cxtrinityy  
       2019-06-03 10:05:08 +08:00 via Android
    @WebKit 有意思,主流不是 7 是什么? 8 还没有完全支持,kotlin 的 app 份额截至昨天的统计,不管哪个的分类下都还没有达到 30%,整体 app 份额里甚至只有 6%不到。
    下次质疑别人前先做好数据调查好么?别张口就开
    darknoll
        18
    darknoll  
       2019-06-03 10:08:52 +08:00
    不如学 Flutter
    cjh1095358798
        19
    cjh1095358798  
       2019-06-03 10:12:51 +08:00   ❤️ 1
    17 年 google 推 kotlin 一直用到现在,一直用一直爽,现在才问?有点水啊
    yejianmail
        20
    yejianmail  
       2019-06-03 10:18:18 +08:00 via Android
    我自己做点非 android 小项目都是 kotlin 了,建议学,转过去很快,看 kotlin 实战即可,用的时候看官方的文档
    asAnotherJack
        21
    asAnotherJack  
       2019-06-03 10:25:47 +08:00
    会 Java 了,花个一周左右看看 kotlin 完全够了
    janus77
        22
    janus77  
       2019-06-03 10:28:37 +08:00
    为什么他不支持 java 你就不需要学会 java 了呢,这两者是毫无关系的事啊
    zjw7sky
        23
    zjw7sky  
       2019-06-03 10:49:39 +08:00   ❤️ 1
    学呗,我搞 iOS 的,现在 oc,swift,java,kotlin,flutter,python 基本都熟悉了,现在用到哪个,然后再深入
    unco020511
        24
    unco020511  
       2019-06-03 11:10:39 +08:00
    为什么你们都学得动啊,我现在就是摸鱼,学不动
    rosu
        25
    rosu  
       2019-06-03 13:44:44 +08:00 via Android
    @xiangyuecn Android Java 默认 1.7,要在 build.gradle 中设置 target 到 1.8。
    fansangg
        26
    fansangg  
       2019-06-03 14:03:55 +08:00   ❤️ 1
    工作用得上就学,17 年自己搞项目,看了看基本语法就开始撸了,不会的用 java 写一遍然后贴到 kt 文件会自动转,然后看看怎么写,慢慢就会了。

    要是自己业余爱好,学了也没什么意思,有那个时间还不如会所洗个脚放松放松
    HongJay
        27
    HongJay  
       2019-06-03 14:09:38 +08:00
    学习成本为 0 的事为什么不做
    viator42
        28
    viator42  
       2019-06-03 14:09:40 +08:00
    现在 kotlin 已经是安卓默认开发语言,必须要会的吧
    751762476
        29
    751762476  
       2019-06-03 16:54:33 +08:00
    @cxtrinityy android gradle plugin 3.1.0 及以上就支持 java8 的 功能了。
    cxtrinityy
        30
    cxtrinityy  
       2019-06-03 17:20:35 +08:00
    官网说的很清楚了,只是支持了 8 的子集,并不是完整的 8
    wvitas
        31
    wvitas  
       2019-06-03 18:06:59 +08:00
    kotlin 其实不用学,上手很快,但是一旦上手,你绝对回不去的,反正我现在能用 koltin 绝对不会写 java
    zsk425
        32
    zsk425  
       2019-06-03 18:47:27 +08:00
    Kotlin 很好用,学习难度低,对开发效率有很大提升。另外,Kotlin 除了支持 jvm 外,还在发展一些有趣的项目,比如跨平台的 Kotlin MPP 等,个人比较看好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2848 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:14 · PVG 14:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.