VicZhang666
V2EX  ›  Android

2022 年, 0 基础想做 Android 应用开发者是否可以从 Kotlin 直接学起?

  •  
  •   VicZhang666 · Mar 8, 2022 · 20666 views
    This topic created in 1700 days ago, the information mentioned may be changed or developed.

    RT ,我基本可以视作没有任何编程经验,想要在今年学习 Android ,成为独立开发者。

    目前我正在依照《第一行代码(第三版)》进行学习,尽管本书采用 Kotlin 语言撰写,但是因为其中引入了许多高深的编程概念,导致我现在学起来进度很慢,而且非常的困难。

    那么请问,对于 0 基础的我而言,如今学习 Android 应用开发是否可以从 Kotlin 直接学起呢?

    如果答案是肯定的,那么请问除了官方文档以外(我英语词汇量仅仅在 3500 左右),是否还有其他学习 Kotlin 的资源推荐呢?

    **诚挚发文,提前感谢您的热心回复!

    82 replies  •  2022-03-31 23:49:15 +08:00
    learningman
    learningman
    Mar 8, 2022
    1
    我是从 Kotlin 直接上手的安卓,但是我有其他语言的经验,Kotlin 有和 Java 互操作的特性,你不明白 Java 挺难学的
    yayiji
    yayiji
    Mar 8, 2022 via Android
    2
    学 kotlin 要 Java 基础,没有比这更糟糕的事了,内部都是 Java 源码,至少目前为止,不能无 Java
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022 via iPhone
    3
    @learningman 😥那我现在还是应该先从 Java 学吧……
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022 via iPhone
    4
    @yayiji 嗯啊,非常感谢,我先去找一下 Java 的资料
    Leviathann
    Leviathann
    Mar 8, 2022
    5
    java 真没什么东西。。现在随便一门 c 系语法的 gc 语言都能找到 java 的影子
    kotlin 倒是有挺多新颖的特性一眼看上去不懂干嘛的
    比如 1.6.20 刚加入的 context receiver 的原型。。
    WebKit
    WebKit
    Mar 8, 2022 via Android
    6
    可以的
    echo1937
    echo1937
    Mar 8, 2022
    7
    Java 很好学,几乎没有什么 Magic 的点,端端正正。
    westoy
    westoy
    Mar 8, 2022
    8
    你真把 kotlin 学的差不多了, 至少做 app 涉及到的 java 要学的其实也没多少了..........
    levelworm
    levelworm
    Mar 8, 2022 via Android
    9
    话说直接上 C/C++如何?感觉安卓一眼望过去都是 java
    anguiao
    anguiao
    Mar 8, 2022
    10
    很久没写过 Kotlin 了,但是想学 Kotlin 的话,肯定是要有 Java 基础的。
    不过 Java 并不难学,只要有编程基础,很容易上手。
    至于 Kotlin 本身的话,学了 Java 之后起步也不难。那些多出来的糖,慢慢消化就行了。
    BrettD
    BrettD
    Mar 8, 2022 via iPhone
    11
    零基础不建议学 C/C++,学会编程之后再学 C/C++不迟
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    12
    @levelworm 高中的时候参加过 NOIP ,为此学了一些些 C ,但是现在已经工作两年多了,完全忘了···
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    13
    @echo1937 嗯啊,我在极客时间之前买了 Java 0 基础的课,但是看了 13 节就放弃了=-=,好难啊
    echo1937
    echo1937
    Mar 8, 2022
    14
    @VicZhang666 #13 如果 Java 学不会,Kotlin 花活更多更学不会,建议 B 站找个播放量高的视频重新学。
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    15
    @anguiao TAT ,之前我花了几十块钱买的在线课程感觉学不下去,很难,前几天找到个口碑不错的免费 Java 课,打算学着试试
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    16
    @echo1937 我看知乎上推荐了谷粒学苑的免费 Java 录像,但是上班不方便看,请问廖雪峰的教程好嘛?
    levelworm
    levelworm
    Mar 8, 2022
    17
    @BrettD 这个我倒是会,就是不知道安卓开发是否方便,毕竟生态看上去还是 java 的多。java 我也会就是了。
    crayygy
    crayygy
    Mar 8, 2022
    18
    如果真的是没有基础的话,我更建议从 Java 开始,Kotlin 是用来简化开发流程的,其实更像是 Java 的语法糖,Java 没学好直接用 Kotlin 很容易晕,Java 也比 Kotlin 更容易学习,最重要的是,当你学完 Java 以后,再去学 Kotlin ,基本上要不了多久
    BrettD
    BrettD
    Mar 8, 2022❤️1
    19
    @levelworm 安卓里面 C/C++做原生插件库用的比较多,主程序和 UI 部分还是 Java/Kotlin/Dart
    darkengine
    darkengine
    Mar 8, 2022
    20
    Java 可以说是骚操作较少的编程语言之一了,还是从 Java 开始吧
    twing37
    twing37
    Mar 8, 2022
    21
    对于编程,我真的推荐: 结对编程
    illusionist
    illusionist
    Mar 8, 2022 via iPhone
    22
    18 楼的意见是非常合理的,开始阶段,不要去过多关注简洁和语法糖,而要关注简单通俗易懂,等又了一定基础后再去搞 kotlin,反正最终你两个都要学的,这个你放心。APP 要做的好,不会 Framework 是不太可能的,但是 Framework 目前的实现还是 Java ,未来可能切换,但是这种基本几年后的事情了。
    westoy
    westoy
    Mar 8, 2022
    23
    等等, 我怎么觉得这是一个广告......
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    24
    @westoy *-* 不,不是···我现在正在看 b 站教程学
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    25
    @crayygy 谢谢~我现在正在跟着 b 站一个教程学 java ,等着学会了再去学 kotlin 和安卓
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    26
    @crayygy 谢谢~我现在正在学 java ,等着学会了再去学 kotlin 和安卓
    VicZhang666
    VicZhang666
    OP
    Mar 8, 2022
    27
    @twing37 *-*身边的人没有学的····要么比我强,要么是自媒体写字的···
    WenhaoWu
    WenhaoWu
    Mar 9, 2022 via Android
    28
    什么样的 Android app 呢,偏表现层的推荐直接 flutter ,比原生 Android 简单
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    29
    @WenhaoWu 想做一个记事本类的 app
    sankemao
    sankemao
    Mar 9, 2022 via iPhone❤️1
    30
    独立开发学 iOS 更合适
    WenhaoWu
    WenhaoWu
    Mar 9, 2022 via Android
    31
    @VicZhang666 没啥性能要求,直接上 flutter 吧。dart 也比 kotlin 简单(少糖)
    liveoppo
    liveoppo
    Mar 9, 2022
    32
    现在学习安卓 App 开发的门槛相当不低,从你的之前稍微学过 C 语言这个基础开始,到能基本上手开发 App ,要相当长的时间,最好有思想准备,否则就折腾几个月跑路,白花了时间。

    另,java 重点掌握面向对象,然后就可以转 kotlin 了。
    cssk
    cssk
    Mar 9, 2022 via iPhone❤️1
    33
    换 iphone ,学 swift ,上手太容易了
    micean
    micean
    Mar 9, 2022
    34
    直接 kotlin 吧,java 只是用来解决“为什么不能这么做”、“为什么只能这么做”的问题的
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    35
    @cssk *-*我现在是 13+一加双持,但是手头上只有一台很久的 Air 和高性能 PC ,前者运行 xcode 就已经很卡了···被迫选 Android ,如果厨子今年出 MacBook Air 2022 就好了··
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    36
    @liveoppo 谢谢,我现在上班先看看廖雪峰的图文教程,争取一个月搞定这部分
    demo06
    demo06
    Mar 9, 2022❤️1
    37
    你学 kotlin,jetpack 这种能提高开发效率的东西我建议你放在基础扎实之后学,java 方面别听他们的,你做 Android 怎么可能不学 java,不学的话你知道面向对象,多线程,io,封装,继承,多态是啥吗,另外做独立开发者,Android 基础控件就不说了,四大组件,handler,自定义 view,都得会,架构不说 MVVM,先从 mvc 开始,mvp 得会吧,得知道怎么对接口吧,http 这东西是做 IT 的必知必会的基础,独立开发接口都是个问题,这又牵扯到后台,这就不细说了你自己去找解决方案总知要学的东西还有很多,我说这么多不是要打击你的积极性,因为现在学 Android 已经不像几年前写个 demo 就能找工作了,但是还是不要气馁,最重要的是坚持,这里给你总结一下技术路线 ,java->kotlin->jetpack->架构->jetpack compose(这是个响应式 UI 框架,google 在推,写界面爽的不行)
    murmur
    murmur
    Mar 9, 2022
    38
    记事本做微信小程序不是更容易
    basefas
    basefas
    Mar 9, 2022
    39
    独立开发者建议学 Android
    basefas
    basefas
    Mar 9, 2022❤️1
    40
    @basefas #39 呸,打错了,建议学 iOS
    rb6221
    rb6221
    Mar 9, 2022
    41
    java 要学的
    magicls
    magicls
    Mar 9, 2022
    42
    可以用 kt 开发,但是 Java 要学。
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    43
    @demo06 非常感谢您的回复,我现在就先学 Java 再学 Kotlin
    xiaochao666
    xiaochao666
    Mar 9, 2022 via Android
    44
    我是建议先学 java ,而且要从视频入门,不是书籍。kt 是为了解决 java 的一些痛点加上 java 版权问题出现的,如果一开始就去学习 kt ,你可能不知道为什么要这样。另外,java 目前来说还是主流。
    分割线
    -----------------------------
    别听那些人说要看书、看英文官方文档入门,什么 java 开发安卓过时了,误人子弟。B 站慕课黑马视频不香吗,学习曲线平滑而且效率高,而且还有老师的理解而不是自己胡思乱想,不然你看半天书籍和官方文档还不知所云,不是瞎折腾么!
    ---------
    一句话:先学 java ,搞懂面向对象,看视频入门,后面要不要学 kt 再说。
    fredli
    fredli
    Mar 9, 2022
    45
    可以,但是写 kotlin 还是会用到一些 java 库,java 知道些 C 类似的那些语法规则就行了
    ysc3839
    ysc3839
    Mar 9, 2022
    46
    我觉得入门编程先学 Web 前端比较好吧
    EchoNode
    EchoNode
    Mar 9, 2022❤️2
    47
    1. 直接上 kotlin 就行。kotlin 是一门单独的语言,而不是 java 的升级版。
    2. 你是面向 Android 开发,而不是面向语言开发。Android 开发主要是针对 Android 提供的 API 进行开发,2022 年还纠结语法和语言的必要性不大,除非你要维护那些上古年间的代码
    3. 不要学习太多的前置技能,专注主要目标**Android 开发**,否则容易消磨精力和耐心,得不偿失
    4. IT 开发更多的是一项技能,而不是知识。前期多刷熟练度对技能提升帮助很大
    jeepc
    jeepc
    Mar 9, 2022
    48
    直接 kotlin ,去 b 站找个教程
    nicevar
    nicevar
    Mar 9, 2022
    49
    直接上 kotlin 没太大意义,最后你还是得要会 Java ,至少能看懂 Java 代码,否则你遇到问题很多代码实例都是 Java ,另外很多开源的库也是 Java 写的,你不会 Java 遇到一点问题折腾半天,浪费的时间都够把 Java 学得八九不离十了
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    50
    @x13945 #捂脸,我现在没有找到适合 0 基础的 Kotlin 中文教程···买的《第一行代码(第三版)》是 Kotlin 写的,但是作者也说起码得有点 java 或者其他语言的基础···
    darkengine
    darkengine
    Mar 9, 2022
    51
    @VicZhang666

    你这个思路不对啊,应该根据就业情况选择学 iOS 还是 Android ,不是根据你手头有啥设备就学啥,本末倒置了属于是。

    --------

    我现在是 13+一加双持,但是手头上只有一台很久的 Air 和高性能 PC ,前者运行 xcode 就已经很卡了···被迫选 Android ,如果厨子今年出 MacBook Air 2022 就好了··
    yangyaofei
    yangyaofei
    Mar 9, 2022
    52
    java 难..... 会了 C++ , java ,kt 什么的不就是看看语法直接写么.......
    liujavamail
    liujavamail
    Mar 9, 2022
    53
    @VicZhang666 kotlin 实战
    luvsic
    luvsic
    Mar 9, 2022
    54
    直接换 ios ,swift 一把梭
    pilipili
    pilipili
    Mar 9, 2022
    55
    @demo06 感谢您的分享
    industryhive
    industryhive
    Mar 9, 2022
    56
    @yangyaofei 其实反过来也一样,各种语法糖你有的大家都有,学了一门,其他的也就会了
    yangyaofei
    yangyaofei
    Mar 9, 2022
    57
    @industryhive 但是楼主说他会 C, 所以觉得 c -> c++ 这个路子最快
    tttttv2
    tttttv2
    Mar 9, 2022
    58
    有点编程基础( js/java/c# 等),我觉得直接看《第一行》没问题,我也是过一遍《第一行》就开始着手安卓 APP 的开发了,kt + java 混合(大部分是 kt )。

    接触新语言时,先过基础,然后实战+遇到问题(坑) 再补知识会快一点,然后后期再完善,系统性的学习。

    比如你这个 app 做完了,就可以再切入需要的方面,再优化优化之类的。

    ----- 仅供参考
    lmshl
    lmshl
    Mar 9, 2022❤️1
    59
    从 Java 学起完全没必要,你 0 基础直接学 Kotlin 没毛病。

    我一个不懂 Java 的码农,一样 Scala / Kotlin 写的飞起,反而思维不会被 Java 锁和 JUC 那点赢弱的能力给限制住。
    beisilu
    beisilu
    Mar 9, 2022
    60
    android 的独立开发意义不大,建议 flutter ,dart 写起来是最简单的。
    而且 flutter 写起来结构像 kotlin compose ,你想跳回去也很简单
    Mephisto233
    Mephisto233
    Mar 9, 2022❤️3
    61
    如果要做独立开发者,建议学 iOS 开发, 可以先看 SwiftUI 慢慢补 UIKit 相关, 安卓应用就算做出来了国内上架就是个巨坑...
    lmshl
    lmshl
    Mar 9, 2022
    62
    关于学习资料,水滴技术团队有一本《 Kotlin 核心编程》写得非常好,建议阅读。
    同时可以学一点响应式流,suspend/await ,ktor/kotlinx.serialization 等工具库。
    然后再补一点函数式编程的基础,你的码力绝对突飞猛进,而且不局限于 Kotlin 这一门语言上。
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    63
    @darkengine 我看了感觉目前安卓开发比较吃香···所以打算先学着安卓,不过因为想要自己开发应用,所以计划学会安卓之后转向 ios
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    64
    @lmshl 谢谢,我去找一下这本书,我之前买的第一行代码的确感觉不太适合我读
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    65
    @yangyaofei 没有了···只有一点点 C 基础
    ciki
    ciki
    Mar 9, 2022❤️2
    66
    如果是为了转行现在学 Android 99%会失败,如果是独立开发者,100%失败,独立开发者唯一选择 iOS 。
    iseki
    iseki
    Mar 9, 2022
    67
    不能完全不会 Java 的,Java 的一些最新语法可以不知道,但是一些底层机制还是要知道一点的,否则容易抓瞎
    lucifer69
    lucifer69
    Mar 9, 2022
    68
    B 站上那些培训机构都有发 Java 、Kotlin 的基础教学视频,可以和书对照着看
    XXWHCA
    XXWHCA
    Mar 9, 2022
    69
    @demo06 你一下子说了这么说多,小心给人家劝退了。不过我认为上面 18 楼说的先学习 java 还是没错的,如果上手就学 kotlin ,可不是特别好理解 kotlin 的一些语法糖和协程,包括 java 和 kotlin 混编的问题也是一大问题,不了解 kotlin 怎么做的空安全检查可不行。后期使用 jetpack 中 kotlin 的高级语法糖和协程的使用如果没有一定基础理解起来还是比较困难的,但是如果理解了 java 的思想再用 kotlin 就是很简单了。说一下我们公司的情况,java 和 kotlin 混编项目,新人(以前只写 java )到公司从上手写 kotlin 项目花不了一周。所以还是要学习一下 java 的
    Goooler
    Goooler
    Mar 9, 2022
    70
    先跟着翁凯把 java 学了
    shily
    shily
    Mar 9, 2022
    71
    https://developer.android.google.cn/guide
    从这个入门,先一步一步跟着来;右上角可以切中 /英文。
    wffnone
    wffnone
    Mar 9, 2022 via iPhone
    72
    我印象中那是一本烂书。

    学习尽量看英文,除了经典书籍的中文版,按理不该去看其他的中文信息。

    我看了你的别的回复(你应该把这些信息更新在问题里),你要做记事本?这是所有,所有,所有,程序员都想过要去做的软件。

    建议你用 web 的技术去做。

    我能想象你的 C 的基础(这些你也应该补充在问题里)。真实世界的应用编程不需要什么算法,重点是如何把不同的东西组合在一起。和数学距离很远。

    也很有趣。
    ChrisFreeMan
    ChrisFreeMan
    Mar 9, 2022 via iPhone❤️2
    73
    编程:从 v2exer 指引到放弃
    4BVL25L90W260T9U
    4BVL25L90W260T9U
    Mar 9, 2022
    74
    看到大家都在劝学 Swift 我就放心了,没必要和钱过不去。学 Swift 推荐看斯坦福的公开课,不过不知道有没有中文字幕。
    codespots
    codespots
    Mar 9, 2022
    75
    我前年也买了那本书,也买了 kotlin 和 flutter 的课程,到现在也没学,哈哈哈哈,不过如果想做独立开发者,建议到我们 w2solo 论坛与更多专业独立开发者交流
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    76
    @codespots #捂脸,我在京东买了纸质版后,发现今年已经能在微信读书看了···然后纸质版就没动过
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    77
    @ospider 现在比较限制我学 Swift 的因素是我手头的 Macbook Air 是 14 年的,太慢了···我想等等今年新的 mba···
    VicZhang666
    VicZhang666
    OP
    Mar 9, 2022
    78
    @wffnone 感谢您的回复,我稍后整理一下经过各位建议后的想法~
    lqzhgood
    lqzhgood
    Mar 11, 2022
    79
    IOS 开发者年费 99 刀 对于用爱发电的独立开发者来说也是不小的费用吧
    Yasuo666
    Yasuo666
    Mar 11, 2022
    80
    0 开始建议学学 swift ,oc 等其他语言,远离 Android
    chrisia
    chrisia
    Mar 14, 2022
    81
    kotlin 对新手挺不友好的,难度较大,可以从简单的 java 学起。不过 kotlin 蕴含很多设计模式和编程思想,如果之前没搞过编程的话挺吃力的
    nnegier
    nnegier
    Mar 31, 2022
    82
    我觉得还是直接从 kotlin 入手好些,不然 java 那空指针报得你怀疑人生
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4975 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 166ms · UTC 07:24 · PVG 15:24 · LAX 23:24 · JFK 02:24
    ♥ Do have faith in what you're doing.