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

Android 开发的入门问题:有必要应该直接学习 Jetpack 和 Flutter 吗?

  •  2
     
  •   ufan0 · 2021-06-02 18:37:57 +08:00 · 11669 次点击
    这是一个创建于 1301 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主题并非引战,基于自己的认知提出疑问。

    学习 Android 开发时,发现 Jetpack 和 Flutter 的存在,通过官网得知其为生产力助手以及主流之选。

    那么 Android 开发入门建议直接从这俩入手学习吗?避开传统的 xml 界面编写等。

    也许问题描述的并不合理,我想用 Spring 来举个例子:

    对于 Java Web 的业余爱好者,我会推荐其从 Spring Boot 直接开始,而不是 Spring 以及 Spring MVC 。
    

    现在对于入门 Android 的我来说,单纯为爱好学习,手里已经有了《第一行代码 2&3 版》,但是其中没有关于 Flutter 的介绍,所以很是困惑,想知道目前的主流学习路径。

    担心出现学习弯路,比如从 Spring 、Spring MVC 以及 Spring Boot 一路学习过去,但是发现最后仅仅使用 Spring Boot 。

    第 1 条附言  ·  2021-06-03 18:00:12 +08:00

    先谢谢各位,回复都有认真看,对帖子的回复做一个总结。

    可以认为分三个态度:

    • 先打好基础,再去学习;
    • 可以穿插学习,无伤大雅;
    • 目前市场环境来看,学习意义不大。

    通过各位的回复,让我对这两个组件有了更清晰的定位认知:

    • 学习Android只是兴趣使然,且动手能力强,直接新组件走起;
    • 为了寻找工作,老老实实一步一步来。
    30 条回复    2021-07-02 18:04:29 +08:00
    Jaeden
        1
    Jaeden  
       2021-06-02 18:56:31 +08:00   ❤️ 1
    个人看法 flutter 是没必要的,Jetpack 里倒是有个 Compose,这段时间有些热度,不知道以后 android 开发会不会和 IOS 类似,之前闲鱼是用 flutter 的,现在好像也改原生了。Jetpack 嘛,我在的是一个小公司,不知道大厂怎么样。公司用到了 Jetpack 里完成 MVVM 架构的部分,其他的不清楚,不敢乱说。
    nicevar
        2
    nicevar  
       2021-06-02 19:03:15 +08:00   ❤️ 1
    没什么必要,等熟练了之后再考虑也不迟
    653513754
        3
    653513754  
       2021-06-02 19:05:11 +08:00   ❤️ 1
    学了 flutter 才是走弯路
    hyyou2010
        4
    hyyou2010  
       2021-06-02 19:07:50 +08:00   ❤️ 2
    先学 Android 基础,比如 Activity Fragment recyclerview viewpager 之类
    然后学 Jetpack 中常用部分
    其后实践 todo 之类典型入门项目
    compose 是可选项
    以上为 安卓原生开发 内容

    flutter 是一个跨平台开发框架,建议初学者先不要学 flutter
    等你把上述原生的学得能写简单 todo 类项目后,再根据项目需要考虑是否学
    zeropercenthappy
        5
    zeropercenthappy  
       2021-06-02 19:11:43 +08:00   ❤️ 1
    国内安卓开发对于新技术的接受度嘛..连 Kotlin 都没完全普及,Compose 这种就更别说了( Compose 能不能真的完全推翻掉 xml 还两说)。
    Jetpack 可以看看,并且也没多大的学习成本,他只是一组开发套件,用与不用对你程序的实现没太大影响,你会它自然就是你的优势。
    Flutter 个人觉得现阶段当你有空闲的时候可以当作个人的额外兴趣来学,要是完全没空的话不学也无所谓。
    janus77
        6
    janus77  
       2021-06-02 20:27:23 +08:00   ❤️ 1
    你说的这两块,jetpack 实际上是对默认安卓开发方式的封装,flutter 是完全的仿 web 开发模式。
    前者是不可能避开默认安卓的。
    后者可以直接学,但是实际上和原生安卓是两套东西,目前只能完全替代,没有过渡转换。也就是说你只会 flutter 并不能算会原生安卓。
    Al0rid4l
        7
    Al0rid4l  
       2021-06-02 20:45:43 +08:00   ❤️ 3
    看你的需求
    如果只是想自己做个 App 玩, 那也许 Flutter 比较合适
    如果想深入理解更多 Android 系统的方方面面, 那应该原生开发比较合适
    如果指望学会了找个工作, 就比较尴尬, 如果是只招原生开发的, 那人家的要求可能会比较高需要经验比较丰富对底层机制比较熟悉的, 如果小厂只求招个人糊个 App 的, 那往往希望你一个人能把 Andriod 和 iOS 都给包了, 那最好还是得会 Flutter 或者 RN, 然而遇到坑, 你又最好还是得会原生开发. 业务变化快, 最好还得会点前端...
    winterbells
        8
    winterbells  
       2021-06-02 22:01:17 +08:00
    flutter 不是安卓
    shiguiyou
        9
    shiguiyou  
       2021-06-02 23:32:26 +08:00   ❤️ 1
    基础打牢吧,android java
    kwanzaa
        10
    kwanzaa  
       2021-06-03 03:25:59 +08:00   ❤️ 1
    Flutter 需要有 Android 与 iOS 的经验。 你看完你手上那本后再去看 Jetpack 。
    nvkou
        11
    nvkou  
       2021-06-03 05:04:13 +08:00 via Android   ❤️ 1
    flutter 战未来
    既然是新学就学最新的。
    新的必然有更多的坑,但老的也不见得少。
    国内环境讲究一个邪门歪道,保活,偷隐私啥的。一天到晚研究底层机制

    初学就是要能见到成果的正反馈,而不是啥都底层学起。好比学 Java,知道有 JVM 就行了,没人指望你去做 JVM 调优,应用为王。

    low code 就 low code 。真正碰到问题了再去研究不迟。
    怕就怕学八股文固定了思路,这对开发者来说很致命
    hjw45611
        12
    hjw45611  
       2021-06-03 09:59:32 +08:00   ❤️ 1
    按你手里的书来就行
    上面也说了 flutter 不是 Android,Jetpack 也只是个封装套件而已
    直接学 flutter,可能出个问题,你以为是很大的问题,其实只是 Android 里的小问题,连底层都算不上
    aerzha
        13
    aerzha  
       2021-06-03 10:46:06 +08:00   ❤️ 1
    引用你 Spring 的例子:对 Android 的业余爱好者,我会推荐起从 Jetpack + Kotlin 开始。
    Jetpack 这一套, 对初学者来说,快速、高效,会规避掉很多细节性的错误。
    Kotlin or Java, 有 Java 基础,Kotlin 学习成本并不高,如果以后想深入 Android 开发的话,建议开始尝试 Kotlin,毕竟 coroutine 以及一些扩展库还是很香的

    Compose,初学者可以忽略,等了解 Android 应用开发差不多了再说。

    Flutter,虽然可以开发 Android app,但和 Android 开发基本可以说两个方向了,个人不看好,建议搜索相关资料自行决定是否入坑
    fredli
        14
    fredli  
       2021-06-03 11:11:41 +08:00   ❤️ 1
    Jetpack 是开发包,可以按需求用,Flutter 是完全不一样的技术栈,团队在用么?
    stardust21
        15
    stardust21  
       2021-06-03 13:47:56 +08:00   ❤️ 1
    看官方文档就行: https://developer.android.google.cn/courses
    你说的 Jetpack 应该是指的 Compose 吧,Compose 和 Flutter 都没必要在开始去看
    ikas
        16
    ikas  
       2021-06-03 16:00:02 +08:00   ❤️ 1
    给你个参考,2020 年初开始写 android app 玩,直接用的最新的 Jetpack (不是 Compose ),到了今年,其中该学的该过的坑,一个没少..所以直接最新的吧
    ada87
        17
    ada87  
       2021-06-03 16:27:42 +08:00   ❤️ 1
    我是 Android 纯新手,除了会一点点 Java,Android 基本没看过。
    前两星期看到 flutter,感觉不错,于是直接上手对照文档开发了一个软件,共耗时不到 10 小时,搞完后也基本理解 flutter 了,感觉除了 DART 嵌套有点深,其它还好,Java 经验嘛完全没用上。

    当然了,软件功能简单,不涉及系统层面,不过很多一般的功能,都可以通过 flutter hub 获取,可能会大大简化


    https://vis.zone/download/
    domybestFujian
        18
    domybestFujian  
       2021-06-03 16:53:04 +08:00   ❤️ 1
    先学基础。。。Jetpack 是最近推出来的集成库工具而已,Flutter 是 Dart 语言,开发流程上跟传统的 Android App 也有很大区别。
    flytsuki
        19
    flytsuki  
       2021-06-03 18:00:38 +08:00   ❤️ 1
    有空再学 flutter,先学 android,快速开发 uniapp 又不是不能用
    lijinxiang
        20
    lijinxiang  
       2021-06-03 19:06:37 +08:00   ❤️ 1
    run
    1219178163
        21
    1219178163  
       2021-06-04 14:58:08 +08:00   ❤️ 1
    @Jaeden Flutter Boost3.0 的都出来的,改毛的原生,只是性能无法满足的部分改原生了,flutter 页面的比例一直在扩大,不要误导新人。原生是现在,flutter 是未来,现在?未来?成年人全都要。
    stardust21
        22
    stardust21  
       2021-06-04 15:46:53 +08:00   ❤️ 1
    @1219178163 RN 最多多一个选项罢了,跨平台的东西多了去了,Compose 也在做跨平台了。RN 当年也是这么想的,现在是 RN 当年看到的未来么?
    stardust21
        23
    stardust21  
       2021-06-04 15:48:21 +08:00   ❤️ 1
    @stardust21 Flutter 最多是多一个选项,勘误
    hanliontien
        24
    hanliontien  
       2021-06-04 15:49:33 +08:00   ❤️ 1
    Jetpack 最好是看看,Flutter 看兴趣。
    Jaeden
        25
    Jaeden  
       2021-06-04 18:13:03 +08:00   ❤️ 1
    @1219178163 #21 3 是出来了,和闲鱼用不用有直接关系吗,你自己搜一下闲鱼去 flutter 化,不知道你在这喷什么
    siyehua
        26
    siyehua  
       2021-06-04 18:51:02 +08:00   ❤️ 1
    @Jaeden 话说闲鱼也没说要放弃 flutter, 只是没有 all-in 而已, flutter 就好比 RN, 小程序, weex 等, 只是某些跨平台的选择而已
    1219178163
        27
    1219178163  
       2021-06-10 10:30:25 +08:00
    @Jaeden 你是不是对喷有什么误解,我可是祖安王者,武器都没漏出来,你说说我怎么喷你了?
    1219178163
        28
    1219178163  
       2021-06-10 10:33:27 +08:00   ❤️ 1
    1219178163
        29
    1219178163  
       2021-06-10 10:34:44 +08:00   ❤️ 1
    @Jaeden 2021 年 4 月 25 日 整个客户端组织未来从语言的方向来看是 Dart First,尽量减少双端的研发投入。
    请睁大眼睛看
    mrrobot97
        30
    mrrobot97  
       2021-07-02 18:04:29 +08:00
    Flutter 可不是主流
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3822 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:12 · PVG 13:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.