当前位置:   article > 正文

Android应用开发用Kotlin还是Java 好?,android开发基础知识点

Android应用开发用Kotlin还是Java 好?,android开发基础知识点

关于在项目中使用到的第三方开源库,有人可能会想我们项目是以Kotlin语言为主的,同一个开源库若有Kotlin版本的,我就采用Kotlin版本的。到底是使用Java版的还是Kotlin版的?取决于开源库的Kotlin版本是否是该库的官方出的,后期是否会继续维护。开源库的选取,有以下几点:

  1. 亲自测评(团队里安排一个人),得出结论看是否满足当前的业务需求?遗留问题多少?可扩展性如何?该开源库的代码质量怎么样?

  2. 开源该库的作者,是否会继续维护,已经多久没维护了

  3. 能满足现有业务需求或稍微改动即可满足,半年内该库的作者是否有更新,遗留的问题不影响我们使用或者我们自己能修复。

  4. 至于是Kotlin版本还是Java版本,这个不重要,这个真的不重要。

关于新开的Android项目,我们到底应该如何去实施?


我们是搭建新的项目框架?还是使用以前成熟的项目框架?我们分一下几个方面讨论:

  1. 使用以前成熟的项目框架,好处:项目中常用的基础设施是完善的,由于项目整体架构导致的问题会比较少,毕竟经过了时间的考验。缺陷:可能该架构的理念陈旧,有些功能实现起来比较费事,对个人成长不利。

  2. 搭建全新的项目框架,好处:可以采用全新项目架构理念,比如使用基于Jetpack中的架构组件搭建MVVM架构,可以学习并在项目中实践最新架构理念,并作出比较判断,利于个人成长,利于项目后面维护扩展。缺点:需要在项目进行过程中填各种坑,不断完善打磨新的框架,需要团队成员学习新的知识,前期增加了项目的研发时间,增加了前期投入成本。

  3. 对于小团队,想要快速、低成本试错,建议使用以前成熟的项目框架;对于项目进度不是很赶的团队,可以考虑搭建新的项目架构。

综上所述,关于新开Android项目,我的建议是使用以前成熟的项目框架(能主导Android客户端开发的人,肯定是项目经验丰富的,手上一定有成熟的现成框架)。基于新的架构理念出现的新架构,可以在后面版本迭代过程中,那个版本时间充足的情况下引入,先拿小模块试错、填坑,成熟后后面新开的模块使用。

项目的整体架构如何选?


目前Android应用开发常用的架构有:MVC(默认)、MVP、MVVM和基于Jetpack中的 架构组件(AAC) 搭建MVVM架构,主要取决于主程(搭建项目基础设施的、解决疑难问题的、推动整个团队技术建设的)擅长的是那种架构 。不管是那种架构,掌握的熟练程度其实是最重要的。熟练就意味着项目整体框架中出现的问题,他能快速定位解决。

若前期时间相对充足的话,我建议试试使用基于Jetpack中的 架构组件(AAC) 搭建MVVM架构,或者学习官方提供的架构组件改善现有的项目框架。

是否要实施组件化?


需要先搞清楚组件化解决的问题是什么?

我们来看一个实际的业务场景,公司有一个3年以上的项目,这几年不断的增加各种功能,满足老板的需求。随着时间的流逝,项目越来越大,每次改动下重新编译一次需要几分钟,每次增加一个功能模块,测试团队都需要重新测试整个项目的功能(这是多大的测试工作量啊)。

今年我们公司又开了一个新项目,发现App版本升级、支付模块、分享模块都是一样的,把原来项目中的这几个模块Copy过来?

从上面的业务场景描述中,我们发现需要解决以下几个问题:

  1. 提升项目编译速度(开发工具已提供热更新,但是还是不能解决问题)

  2. 增加新的功能模块,其它功能模块不需要重新进行测试

  3. 现有功能模块的复用

  4. 现有功能模块的维护、扩展

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

建议

当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!

  • 准备想说怎么样写简历,想象算了,我觉得,技术就是你最好的简历

  • 我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

  • 有什么问题想交流,欢迎给我私信,欢迎评论

【附】相关架构及资料

Android高级技术大纲

面试资料整理

内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img
才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中…(img-yQfrNXj1-1712691021788)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/580941
推荐阅读
相关标签
  

闽ICP备14008679号