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

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

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

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

希望佬们给点建议,真怕方向错了,白努力了一番😇
6911 次点击
所在节点    Android
32 条回复
xingda920813
205 天前
结合现在的工作岗位情况, 不建议学习原生开发了, 建议直接学习 Flutter, 现在国内互联网企业很少用原生开发了. 不过即使是 Flutter / React Native 这样的跨端方案有时候也还是要用到 Android native 的知识的, 这样的话建议先学习 View, Compose 业余时间了解即可.
GotKiCry
205 天前
理想情况下是用 Compose ,实际情况下公司还在 Java 8
unco020511
205 天前
等等,现在还有 Android 新人?

下面说正经的:
如果要说未来哪个体系是最强最好的,那当然是 Compose,传统的 View 体系基本可以理解为远古设计,与现代化主流响应式 UI 系统无缘,而且 google 也不会再去优化 View 体系了,从开发体验上来说,你的项目一旦很大,那 Compose 的开发体验也是远远好于 View 体系的.

但是,如果你是想要学了就立马找工作,那 View 是避不开的,你必须得学.因为现阶段,国内大厂的技术栈可能更多还是 View,毕竟老项目比较多.

我的建议是 View 和 Compose 都要学
unco020511
205 天前
我觉得你应该先考虑考虑为啥要选择 Android 这个方向,优先学前端,服务端啊,移动端要学的东西多,而且岗位在减少
luoshuimumu
205 天前
理想:jetpack compose 现实:老项目能跑就行,java+kotlin 混编+组件化+mvp ,还用了 javapoam+只支持到 4 版本的上古 gradle 插件,as 版本太高甚至都编译不了
Bown
205 天前
自学提升或个人项目那必然是 Compose ,开发体验大提升,官方也在大力搞 Compose 的跨平台,未来往广度拓宽学 Flutter / SwiftUI / React 之类的也能更好上手。
但如果为了找工作,就还是先把 View 写熟练吧,然后 Compose 简单点儿对面试有加分。
EgbertW
204 天前
一大票行业内的公司甚至还没从 Java 迁移到 Kotlin ,更何谈 Jetpack Compose 。自己学归学,主力使用的还得是传统技术。
kingzeus
204 天前
其实没啥区别的,老板关心的是怎么用最小代价实现功能,确保稳定,不引入新问题,而不是技术迭代

有追求的就研究下,没有就算了。

你的核心竞争力是高效的解决业务问题,至于用啥技术只是手段。
反过来说,你迭代代码是为了更好的解决业务问题,而不仅仅为了换个技术框架,提升开发体验的方案其实很多,比如根据模板自动生成代码,引入设计模式更合理的解耦逻辑等等


新的项目其实用啥都行,老的项目估计也没有重构的必要
iflint
204 天前
快跑
HtPM
203 天前
学习传统 View+Java(1.8 主要)+Kotlin(次要),设计模式的话重点学习 MVVM(使用 Jetpack 架构组件)<对新手来说会有点难>,API 的话学习并熟悉四大组件以及其生命周期(建议熟记),其余的功能性 API 官网查资料,进阶的话学习自定义 View ,事件拦截,再进阶的话需要熟悉一些 Framework 相关的知识。 这些知识够你进入互联网了。
如果要做智能硬件相关的话,除了上面的知识,还需要学习 JNI ,C/C++,NDK 相关的知识。目前在职人员给你的意见。
HtPM
203 天前
忘了说,Compose 先不用学
v2ewonder
201 天前
开发效率(跨端、丰富的基建)、性能、维护成本这几项来看,Compose 并不能带来革命性成果,如今这行情,团队哪有资源给你搞这个。技术得懂且会用,各端都流行 DSL 。

小年轻的话,梭哈一把,都要,全学了它。

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

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

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

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

© 2021 V2EX