Android 开发方向:传统 View 开发 or 拥抱 Jetpack Compose

206 天前
 fltv
如题,本人萌新一枚,对 Android 开发挺感兴趣,想深入学习一下。

目前我上的 Android 开发课程的内容是 Jeypack Compose,我们老师说这门技术是目前最新的了,学好了大有裨益,我想的是这技术就是因为太新了,之前的项目迁移到这技术上会不会还需要很长一段时间?而且这技术才出来没几年,还没见很多公司使用,我一个新手直接学这个会不会有点走钢丝学习、费力不讨好的感觉?

我个人感觉应该还是先从传统 View 系统学习开始,还有,就是 Compose 这个声明式编写 UI 的方式我感觉有一丝不舒服,主要觉得视图数据逻辑都堆在一起感觉好混乱,相比之下,我还是更倾向于传统的 MVC 架构。

希望佬们给点建议,真怕方向错了,白努力了一番😇
6908 次点击
所在节点    Android
32 条回复
030
206 天前
学 Jetpack Compose ,现在前端都是这种风格了

应届生低级岗位的话会有点加分项,能证明你能接受新东西
bjzhou1990
206 天前
大实话是你都得会,传统 UI 是现实,大部分公司仍然在大规模使用而且很难重构替换新技术,Compose 是未来主流,不会就会被淘汰
GoldenLeez
206 天前
花精力学 Compose 吧。View 会用就行了,公司里老项目可能都是传统 View 。声明式 UI 你多写一些说不定就适应了,数据驱动视图写起来很舒服(曾经对 Android 开发感兴趣,现在变成辣鸡前端的感受)。前端基本也是这种方式。
biantaoGG
206 天前
理想:拥抱新技术,当最前沿的技术大佬
现实:绝大多数公司还是以前的 view 模式,你有能力有职级有人脉决定推翻旧架构使用 compose ?你们公司的人都会 compose 可以让所有人一起维护?

楼上的绝对不会是做 android 的。
android 仔表示,统一采用 kotlin 语言都不容易推进,更何况是 compose 。重构一个小模块公司都不允许,还让你改框架。

总结:以传统 view 结构为主,自己学习 compose ,一时半会不要妄想能够代替。除非你直接拥抱 flutter ,很多公司采用这个开发双端了,且本身使用的就是这个技术
HojiOShi
206 天前
我开发 android 一直用的传统 View + MVVM ,直到老板说要搞鸿蒙我才有机会接触到 ArkUI 这种声明式 UI 。同样也觉得视图和数据堆在一起挺混乱,只能手动建立架构分开。毕竟鸿蒙也没有系统支持的 ViewModel 这种东西,自己手动写的不算。
Randomjo
206 天前
除非你是 android 专精多年的专家,否则现在小公司基本要求你会 Flutter ,会了 Flutter 基本声明式 UI 这类也没啥问题了。可以考虑入门 Flutter 。
xieren58
206 天前
Jetpack Compose 用 3 年了. 好用... 跨平台 就 flutter...
winterbells
206 天前
@biantaoGG 同意

自己研究研究可以,但是公司项目就是埋雷

印象里它的 API 改了一堆了,每次更新完出一堆报错怎么办

ist 的性能一直有问题,滚动就是比 recyclerview 卡,也不知道优化多少次了,去年底测试还是有问题的

而且它是绑定 kotlin 的,像我们公司会追 kotlin 版本,但 compose 那边指不定十天半个月才发布新 compiler
lulucy
206 天前
作为一名老司机,强烈不建议现在入 Android ,坑太少了。

如果实在要学的话,看你想去什么公司,大厂的话应该很少用 Jetpack Compose ,除非是一些新的项目,老项目的话估计都还在用 Java 。

去小公司比如创业型的话可以考虑学,一般会采用新技术栈。

另外,这俩也不是很难,可以都学,如果你做 Android ,以后要学的还很多呢。。。这俩基础框架咋好像是人生重大选择一样😂

最后,还是建议别再入 Android 的坑了,你可以自己观察,现在出来的新 app 很少了,坑更少了。最好选后端,真的。
liuzimin
206 天前
这玩意儿都出了好多年了,咋还是新东西?
bug51
206 天前
乖乖 安卓开发也是娱乐圈?前端娱乐圈看蒙了
Helsing
206 天前
当然是优先 Compose 了,比传统 View 写起来爽太多了。
至于你说的视图数据逻辑堆在一起不知道是什么情况,2024 年了连 MVVM 都还没用上吗……
当然干活的话,传统 View 你还是得会,因为现在很少项目是纯 Compose 开发的,而且像 TextureView 、WebView 这些,终归还是要用到传统 View 的
narmgalaxy
206 天前
Jetpack Compose 开发起来很流畅,只需要关系数据流向就行了,当然传统的命令式的开发方式最好也懂一点
zeropercenthappy
206 天前
从实际情况来讲,view 、kotlin 必学,kotlin 协程、jetpack 最好学,compose 自己有空再自学。
从更实际的情况来讲,建议换个赛道,除非存粹是学来玩而不是为了吃饭。
fltv
206 天前
综合楼上大佬们的分析,我决定还是先从传统 view 基础学起来吧,这样稳点😐
a0000
206 天前
为啥要学客户端开发,学后端吧,客户端开发坑位有限,遗留下来的开发太多了,被裁后降薪也会去的
a0000
206 天前
如果只是感兴趣,都学学还是可以的
Android 要学的东西太多了
a0000
206 天前
如果作为未来找工作方向,强烈不建议学
okakuyang
206 天前
Jeypack Compose 是调剂品,你写 View 那些原生控件,写多了会烦的。Jeypack Compose 应该和你用什么 MVC 架构没关系,想怎么写就怎么写。Android UI 开发出来不好找工作。
Flyfish233
205 天前
如果是做开源,或者独立开发者,请首先考虑 Compose ,做海外业务的更甚了。如果是想在国内上班的,建议还是 View ,之前参加会议,知道大厂不愿意用,不知道现在有没有改善了。请说明只是感兴趣学习还是想上班干活。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1035960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX