1

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

 2 years ago
source link: https://www.v2ex.com/t/838956
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Android

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

  VicZhang666 · 18 小时 53 分钟前 · 3167 次点击

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

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

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

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

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

68 条回复    2022-03-09 15:23:35 +08:00

learningman

learningman      18 小时 39 分钟前

我是从 Kotlin 直接上手的安卓,但是我有其他语言的经验,Kotlin 有和 Java 互操作的特性,你不明白 Java 挺难学的

yayiji

yayiji      18 小时 36 分钟前 via Android

学 kotlin 要 Java 基础,没有比这更糟糕的事了,内部都是 Java 源码,至少目前为止,不能无 Java

VicZhang666

VicZhang666      18 小时 30 分钟前 via iPhone

@learningman 😥那我现在还是应该先从 Java 学吧……

VicZhang666

VicZhang666      18 小时 29 分钟前 via iPhone

@yayiji 嗯啊,非常感谢,我先去找一下 Java 的资料

Leviathann

Leviathann      18 小时 18 分钟前

java 真没什么东西。。现在随便一门 c 系语法的 gc 语言都能找到 java 的影子
kotlin 倒是有挺多新颖的特性一眼看上去不懂干嘛的
比如 1.6.20 刚加入的 context receiver 的原型。。

WebKit

WebKit      18 小时 9 分钟前 via Android

echo1937

echo1937      18 小时 1 分钟前

Java 很好学,几乎没有什么 Magic 的点,端端正正。

westoy

westoy      17 小时 51 分钟前

你真把 kotlin 学的差不多了, 至少做 app 涉及到的 java 要学的其实也没多少了..........

levelworm

levelworm      17 小时 46 分钟前 via Android

话说直接上 C/C++如何?感觉安卓一眼望过去都是 java

anguiao

anguiao      17 小时 44 分钟前

很久没写过 Kotlin 了,但是想学 Kotlin 的话,肯定是要有 Java 基础的。
不过 Java 并不难学,只要有编程基础,很容易上手。
至于 Kotlin 本身的话,学了 Java 之后起步也不难。那些多出来的糖,慢慢消化就行了。

BrettD

BrettD      17 小时 44 分钟前 via iPhone

零基础不建议学 C/C++,学会编程之后再学 C/C++不迟

VicZhang666

VicZhang666      17 小时 44 分钟前

@levelworm 高中的时候参加过 NOIP ,为此学了一些些 C ,但是现在已经工作两年多了,完全忘了···

VicZhang666

VicZhang666      17 小时 43 分钟前

@echo1937 嗯啊,我在极客时间之前买了 Java 0 基础的课,但是看了 13 节就放弃了=-=,好难啊

echo1937

echo1937      17 小时 40 分钟前

@VicZhang666 #13 如果 Java 学不会,Kotlin 花活更多更学不会,建议 B 站找个播放量高的视频重新学。

VicZhang666

VicZhang666      17 小时 39 分钟前

@anguiao TAT ,之前我花了几十块钱买的在线课程感觉学不下去,很难,前几天找到个口碑不错的免费 Java 课,打算学着试试

VicZhang666

VicZhang666      17 小时 37 分钟前

@echo1937 我看知乎上推荐了谷粒学苑的免费 Java 录像,但是上班不方便看,请问廖雪峰的教程好嘛?

levelworm

levelworm      17 小时 32 分钟前

@BrettD 这个我倒是会,就是不知道安卓开发是否方便,毕竟生态看上去还是 java 的多。java 我也会就是了。

crayygy

crayygy      17 小时 28 分钟前

如果真的是没有基础的话,我更建议从 Java 开始,Kotlin 是用来简化开发流程的,其实更像是 Java 的语法糖,Java 没学好直接用 Kotlin 很容易晕,Java 也比 Kotlin 更容易学习,最重要的是,当你学完 Java 以后,再去学 Kotlin ,基本上要不了多久

BrettD

BrettD      17 小时 10 分钟前   ❤️ 1

@levelworm 安卓里面 C/C++做原生插件库用的比较多,主程序和 UI 部分还是 Java/Kotlin/Dart

darkengine

darkengine      17 小时 9 分钟前

Java 可以说是骚操作较少的编程语言之一了,还是从 Java 开始吧

twing37

twing37      17 小时 7 分钟前

对于编程,我真的推荐: 结对编程

illusionist

illusionist      17 小时 1 分钟前 via iPhone

18 楼的意见是非常合理的,开始阶段,不要去过多关注简洁和语法糖,而要关注简单通俗易懂,等又了一定基础后再去搞 kotlin,反正最终你两个都要学的,这个你放心。APP 要做的好,不会 Framework 是不太可能的,但是 Framework 目前的实现还是 Java ,未来可能切换,但是这种基本几年后的事情了。

westoy

westoy      16 小时 54 分钟前

等等, 我怎么觉得这是一个广告......

VicZhang666

VicZhang666      16 小时 33 分钟前

@westoy *-* 不,不是···我现在正在看 b 站教程学

VicZhang666

VicZhang666      16 小时 32 分钟前

@crayygy 谢谢~我现在正在跟着 b 站一个教程学 java ,等着学会了再去学 kotlin 和安卓

VicZhang666

VicZhang666      16 小时 32 分钟前

@crayygy 谢谢~我现在正在学 java ,等着学会了再去学 kotlin 和安卓

VicZhang666

VicZhang666      16 小时 31 分钟前

@twing37 *-*身边的人没有学的····要么比我强,要么是自媒体写字的···

WenhaoWu

WenhaoWu      15 小时 42 分钟前 via Android

什么样的 Android app 呢,偏表现层的推荐直接 flutter ,比原生 Android 简单

VicZhang666

VicZhang666      15 小时 31 分钟前

@WenhaoWu 想做一个记事本类的 app

sankemao

sankemao      15 小时 3 分钟前 via iPhone   ❤️ 1

独立开发学 iOS 更合适

WenhaoWu

WenhaoWu      14 小时 36 分钟前 via Android

@VicZhang666 没啥性能要求,直接上 flutter 吧。dart 也比 kotlin 简单(少糖)

liveoppo

liveoppo      13 小时 16 分钟前

现在学习安卓 App 开发的门槛相当不低,从你的之前稍微学过 C 语言这个基础开始,到能基本上手开发 App ,要相当长的时间,最好有思想准备,否则就折腾几个月跑路,白花了时间。

另,java 重点掌握面向对象,然后就可以转 kotlin 了。

cssk

cssk      9 小时 36 分钟前 via iPhone   ❤️ 1

换 iphone ,学 swift ,上手太容易了

micean

micean      7 小时 43 分钟前

直接 kotlin 吧,java 只是用来解决“为什么不能这么做”、“为什么只能这么做”的问题的

VicZhang666

VicZhang666      7 小时 24 分钟前

@cssk *-*我现在是 13+一加双持,但是手头上只有一台很久的 Air 和高性能 PC ,前者运行 xcode 就已经很卡了···被迫选 Android ,如果厨子今年出 MacBook Air 2022 就好了··

VicZhang666

VicZhang666      7 小时 23 分钟前

@liveoppo 谢谢,我现在上班先看看廖雪峰的图文教程,争取一个月搞定这部分

demo06

demo06      7 小时 8 分钟前   ❤️ 1

你学 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      6 小时 51 分钟前

记事本做微信小程序不是更容易

basefas

basefas      6 小时 50 分钟前

独立开发者建议学 Android

basefas

basefas      6 小时 50 分钟前

@basefas #39 呸,打错了,建议学 iOS

janus77

janus77      6 小时 45 分钟前

java 要学的

magicls

magicls      6 小时 43 分钟前

可以用 kt 开发,但是 Java 要学。

VicZhang666

VicZhang666      6 小时 38 分钟前

@demo06 非常感谢您的回复,我现在就先学 Java 再学 Kotlin

xiaochao666

xiaochao666      6 小时 32 分钟前 via Android

我是建议先学 java ,而且要从视频入门,不是书籍。kt 是为了解决 java 的一些痛点加上 java 版权问题出现的,如果一开始就去学习 kt ,你可能不知道为什么要这样。另外,java 目前来说还是主流。
分割线
-----------------------------
别听那些人说要看书、看英文官方文档入门,什么 java 开发安卓过时了,误人子弟。B 站慕课黑马视频不香吗,学习曲线平滑而且效率高,而且还有老师的理解而不是自己胡思乱想,不然你看半天书籍和官方文档还不知所云,不是瞎折腾么!
---------
一句话:先学 java ,搞懂面向对象,看视频入门,后面要不要学 kt 再说。

fredli

fredli      6 小时 4 分钟前

可以,但是写 kotlin 还是会用到一些 java 库,java 知道些 C 类似的那些语法规则就行了

ysc3839

ysc3839      6 小时 1 分钟前

我觉得入门编程先学 Web 前端比较好吧

x13945

x13945      5 小时 53 分钟前   ❤️ 1

1. 直接上 kotlin 就行。kotlin 是一门单独的语言,而不是 java 的升级版。
2. 你是面向 Android 开发,而不是面向语言开发。Android 开发主要是针对 Android 提供的 API 进行开发,2022 年还纠结语法和语言的必要性不大,除非你要维护那些上古年间的代码
3. 不要学习太多的前置技能,专注主要目标**Android 开发**,否则容易消磨精力和耐心,得不偿失
4. IT 开发更多的是一项技能,而不是知识。前期多刷熟练度对技能提升帮助很大

jeepc

jeepc      5 小时 32 分钟前

直接 kotlin ,去 b 站找个教程

nicevar

nicevar      5 小时 30 分钟前

直接上 kotlin 没太大意义,最后你还是得要会 Java ,至少能看懂 Java 代码,否则你遇到问题很多代码实例都是 Java ,另外很多开源的库也是 Java 写的,你不会 Java 遇到一点问题折腾半天,浪费的时间都够把 Java 学得八九不离十了

VicZhang666

VicZhang666      5 小时 12 分钟前

@x13945 #捂脸,我现在没有找到适合 0 基础的 Kotlin 中文教程···买的《第一行代码(第三版)》是 Kotlin 写的,但是作者也说起码得有点 java 或者其他语言的基础···

darkengine

darkengine      5 小时 10 分钟前

@VicZhang666

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

--------

我现在是 13+一加双持,但是手头上只有一台很久的 Air 和高性能 PC ,前者运行 xcode 就已经很卡了···被迫选 Android ,如果厨子今年出 MacBook Air 2022 就好了··

yangyaofei

yangyaofei      5 小时 9 分钟前

java 难..... 会了 C++ , java ,kt 什么的不就是看看语法直接写么.......

luvsic

luvsic      4 小时 38 分钟前

直接换 ios ,swift 一把梭

pilipili

pilipili      4 小时 36 分钟前

@demo06 感谢您的分享

industryhive

industryhive      4 小时 27 分钟前

@yangyaofei 其实反过来也一样,各种语法糖你有的大家都有,学了一门,其他的也就会了

yangyaofei

yangyaofei      3 小时 29 分钟前

@industryhive 但是楼主说他会 C, 所以觉得 c -> c++ 这个路子最快

tttttv2

tttttv2      3 小时 7 分钟前

有点编程基础( js/java/c# 等),我觉得直接看《第一行》没问题,我也是过一遍《第一行》就开始着手安卓 APP 的开发了,kt + java 混合(大部分是 kt )。

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

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

----- 仅供参考

lmshl

lmshl      2 小时 45 分钟前   ❤️ 1

从 Java 学起完全没必要,你 0 基础直接学 Kotlin 没毛病。

我一个不懂 Java 的码农,一样 Scala / Kotlin 写的飞起,反而思维不会被 Java 锁和 JUC 那点赢弱的能力给限制住。

beisilu

beisilu      2 小时 42 分钟前

android 的独立开发意义不大,建议 flutter ,dart 写起来是最简单的。
而且 flutter 写起来结构像 kotlin compose ,你想跳回去也很简单

Mephisto233

Mephisto233      2 小时 39 分钟前

如果要做独立开发者,建议学 iOS 开发, 可以先看 SwiftUI 慢慢补 UIKit 相关, 安卓应用就算做出来了国内上架就是个巨坑...

lmshl

lmshl      1 小时 54 分钟前

关于学习资料,水滴技术团队有一本《 Kotlin 核心编程》写得非常好,建议阅读。
同时可以学一点响应式流,suspend/await ,ktor/kotlinx.serialization 等工具库。
然后再补一点函数式编程的基础,你的码力绝对突飞猛进,而且不局限于 Kotlin 这一门语言上。

VicZhang666

VicZhang666      1 小时 42 分钟前

@darkengine 我看了感觉目前安卓开发比较吃香···所以打算先学着安卓,不过因为想要自己开发应用,所以计划学会安卓之后转向 ios

VicZhang666

VicZhang666      1 小时 41 分钟前

@lmshl 谢谢,我去找一下这本书,我之前买的第一行代码的确感觉不太适合我读

VicZhang666

VicZhang666      1 小时 41 分钟前

@yangyaofei 没有了···只有一点点 C 基础

ciki

ciki      1 小时 10 分钟前

如果是为了转行现在学 Android 99%会失败,如果是独立开发者,100%失败,独立开发者唯一选择 iOS 。

iseki

iseki      1 小时 7 分钟前

不能完全不会 Java 的,Java 的一些最新语法可以不知道,但是一些底层机制还是要知道一点的,否则容易抓瞎

lucifer69

lucifer69      1 小时 3 分钟前

B 站上那些培训机构都有发 Java 、Kotlin 的基础教学视频,可以和书对照着看

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK