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

2024-04-26 16:37:24 +08:00
 fltv
如题,本人萌新一枚,对 Android 开发挺感兴趣,想深入学习一下。

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

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

希望佬们给点建议,真怕方向错了,白努力了一番😇
9568 次点击
所在节点    Android
32 条回复
030
2024-04-26 16:42:24 +08:00
学 Jetpack Compose ,现在前端都是这种风格了

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

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

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

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

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

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

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

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

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

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

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

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

https://yangjunhui.monster/t/1035960

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

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

© 2021 V2EX