首页 > 其他分享 >Android开发如何进阶?

Android开发如何进阶?

时间:2023-04-05 18:35:23浏览次数:61  
标签:这个 Java 进阶 工程师 开发 阶段 Android


本着每周至少有干货产出的原则,今天必须写篇干货来回馈大家,我这的干货可是不收费的哦,争取以后的目标是让你们看完我的文章不赞赏都觉得亏得慌!

之前不少人都问我同一个问题,就是我学习Android有一两年了,但是遇到瓶颈了,感觉没什么进步,到底怎么才能进阶呢?

我相信有不少人遇到这样的困扰,那么今天我就以一个过来人的身份给大家系统的解答各个阶段遇到的问题。

初学者
一般来说初学者需要一本书,结合视频,把书本看完基本上就算初学者了,需要提醒的是一定要记得把书中的demo全部敲一遍并亲自运行,很多时候看不如敲,敲远比不上亲自运行。这个时间每个人学习能力不一样,专职学习的话1-3个月差不多了。

初级工程师
一般工作一年以下的都算初级工程师,这个时候基础知识基本都能掌握,比如四大组件的使用,常用的布局与控件的使用,一些简单的动画与自定义View等,这个阶段相对来说算进步挺快的,这个时候只需要找家相对靠谱点的公司,主动做事,多承担任务,不要怕吃苦,多加加班,虽然说到加班大家都反感,但是现实就是这个时候你不加班多做点事,难不成等着以后觉得技能不够用了再加班么?这个阶段完全不用考虑生活与工作的平衡,因为这个时候你根本谈不上生活。这个阶段多努努力,很容易快速成长为中级工程师。

中级工程师
这个阶段因人而异,大概工作经验1-2年之间。但是往往这个阶段才是遇到瓶颈的时期,这个时期也许你承担app中单独的某块功能完全没问题,对一些常用的开源库也都能耳熟能详,项目中也会采用一些比较流行的开源库等,对常见的一些动画、自定义View与布局也能很快实现,可能也会注意一些常见的代码技巧,但是这个时候再也不是加加班就能对你的技术有很大提高的阶段了,这个阶段需要方法、实践与执行力,那么就这个阶段如何进阶我总结了以下方法:

1、坚持写博客
中级工程师不只是一味的去做事、学习,其实更多的需要对知识的总结与归纳,而写博客是最好的手段,坚持写博客其实就是对你知识体系的回顾与总结,很多时候你对某块领域自认为掌握了,但是能写出来,并且能让别人看懂,那才是真正的熟练掌握呢,不说别的,就说一些IT界业内的大牛一般都有自己的博客,那些博客文章才是你知识沉淀的最好见证。至于更多写博客的好处见这篇文章「我为什么坚持写博客?

2、在GitHub上参与开源项目
我曾无数次提醒大家GitHub堪称程序员必备,聚集了全球各个领域的程序员,在上面你可以直接阅读Google、Facebook顶级公司的开源项目,可以一睹顶尖工程师的风采,在这里你绝对打开了另一扇世界大门,你可以阅读大牛源码,并试着贡献自己的代码,走出第一步,多参与,多交流,那句话怎么说来着:「与优秀的人接触,自己才会变得优秀。」同样的道理,阅读大牛们的代码多了,自己不知不觉中就会成长进步。GitHub并不仅是一个名片,更是进阶必备神器!

3、有自己的完整作品
也许我们在公司参与不少功能的开发,不管是公司原因还是产品原因,或多或少我们为了赶进度也好,为了盈利也好,总有一些我们觉得不满意的地方,比如设计风格上不够Material Design,产品经理的一些天马行空的垃圾想法,甚至一些KPI导向的功能实现等,我相信这个阶段每个人心中都有这个想法,都觉得自己家的app不够酷,不叫Android,所以这个时候就付出行动吧,利用业余时间开发一款属于自己的完整作品,你可以尝试最新的技术与框架,用你认为最棒的工具,适配你认为的Material Design风格,这个过程不仅亲自实践了你之前想尝鲜的新技能,还完整经历了一个产品的构思与迭代过程,甚至最后把它开源,这个过程是非常宝贵的,其中你会遇到并克服各种问题,不知不觉中就在成长,开源之后你会在潜意识里对自己的代码要求更高,而且这款作品也会成为你之后简历上的加分项。所以如果你还没有过这个阶段,那从现在开始,着手准备并经历这个阶段吧,哪怕你没有什么有创意的idea,甚至高仿下开源社区或者市场上的一些app都可以,毕竟你是用来练手,不是用来商业,idea这个阶段不是特别重要。

4、看一些进阶的书籍
看书是每个阶段进步必备的过程,但是这个阶段你需要看的是一些进阶类的书籍了,不管是关于Java还是关于Android,你需要看一下以下书籍:

「Thinking In Java」
也许之前你看过,但是我相信对于一些高深的知识你肯定没理解,这个时候再回头看一下这本书,估计又是一番收获。

「Effective Java」
这本书堪称Java进阶必备,里面教你一些你不知道的Java技巧,以及一些常用的设计模式与原则,真正教你如何优雅的写Java。

「Android开发艺术探索」
这本书是面向Android中高级工程师,里面讲到的一些知识点与技能很不错,Android进阶必备。

5、阅读Android源码,理解一些高级概念
Java语言进阶了,同样关于Android你也需要进阶,并不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理。

高级工程师
我相信如果做到了以上几个方面,加上时间的考验你已经是一位高级工程师了,一般在工作3年以上。但是即使成为了高级工程师,你依然有更多需要学习的,比如技术方面关于网络,关于架构,服务端相关知识,都需要继续学习与实践。但是除了技术之外,高级工程师的区别就在于还会关心产品与业务,在考虑问题的思维方面其实就已经发生了蜕变,并不仅仅是从技术方面去考虑问题了,不再是一个单纯的编码机器,工作内容而是会横向的扩散到其他方面。

我一直都说过,技术不是一切,哪怕你想走一个单纯的技术路线,以后发展架构师或CTO,最终也一定是要参与产品、管理团队、了解业务的,只不过侧重点不太一样,除非你想一辈子当个码农,两耳不闻窗外事,只想安安静静的躲在角落敲代码,否则你都必须多方位发展。只不过在你们成为高级工程师之前这些都可以先不用考虑,等你们到了这一步我相信你们自然会理解今天我说的,如果你们感兴趣,以后我再抽时间写篇技术人的职业发展路线吧。

最后送大家一句话,人生每个阶段都有每个阶段该干的事,你当下能做的就是踏踏实实做好现在的事,最好你能比你身边的人更努力些,不用太着急,你想要的,岁月都会给你!

本文由stormzhang授权极客头条发布,微信公众号AndroidDeveloper「googdev」原创首发,转载请注明作者信息及出处,违者必究。


标签:这个,Java,进阶,工程师,开发,阶段,Android
From: https://blog.51cto.com/stormzhang/6171277

相关文章

  • 第四十篇 vue - 进阶主题 - 使用 Vue 的多种方式
    使用Vue的多种方式在Web的世界中从来就没有可以适配所有场景、解决所有问题的银弹。正因如此,Vue被设计成一个灵活的、可以渐进式集成的框架。根据使用场景的不同需要,相应地有多种不同的方式来使用Vue,以此在技术栈复杂度、开发体验和性能表现间取得最佳平衡独立脚本Vue可......
  • 第四十一篇 vue - 进阶主题 - 组合式 API 常见问答
    什么是组合式API?组合式API(CompositionAPI)是一系列API的集合,使我们可以使用函数而不是声明选项的方式书写Vue组件。它是一个概括性的术语,涵盖了以下方面的API1、响应式API例如ref()和reactive(),使我们可以直接创建响应式状态、计算属性和侦听器。2、生命......
  • 第四十二篇 vue - 进阶主题 - 深入响应式系统
    响应式系统Vue最标志性的功能就是其低侵入性的响应式系统。组件状态都是由响应式的JavaScript对象组成的。当更改它们时,视图会随即自动更新。这让状态管理更加简单直观,但理解它是如何工作的也是很重要的,这可以帮助我们避免一些常见的陷阱。在本节中,我们将深入研究Vue响应性......
  • 第四十四篇 vue - 进阶主题 - 渲染函数 & JSX
    渲染函数&JSX在绝大多数情况下,Vue推荐使用模板语法来创建应用。然而在某些使用场景下,我们真的需要用到JavaScript完全的编程能力。这时渲染函数就派上用场了基本用法1、创建VnodesVue提供了一个h()函数用于创建vnodesimport{h}from'vue'constvnode=h(......
  • 第四十三篇 vue - 进阶主题 - 渲染机制
    渲染机制Vue是如何将一份模板转换为真实的DOM节点的,又是如何高效地更新这些节点的呢?我们接下来就将尝试通过深入研究Vue的内部渲染机制来解释这些问题虚拟DOM你可能已经听说过“虚拟DOM”的概念了,Vue的渲染系统正是基于这个概念构建的虚拟DOM(VirtualDOM,简称VDOM......
  • 第四十六篇 vue - 进阶主题 - 动画技巧
    动画技巧Vue提供了<Transition>和<TransitionGroup>组件来处理元素进入、离开和列表顺序变化的过渡效果。但除此之外,还有许多其他制作网页动画的方式在Vue应用中也适用。这里我们会探讨一些额外的技巧基于CSSclass的动画对于那些不是正在进入或离开DOM的元素,我们可......
  • 第四十五篇 vue - 进阶主题 - Vue 与 Web Components
    Vue与WebComponentsWebComponents是一组web原生API的统称,允许开发者创建可复用的自定义元素(customelements)Vue和WebComponents是互补的技术。Vue为使用和创建自定义元素提供了出色的支持。无论你是将自定义元素集成到现有的Vue应用中,还是使用Vue来构建和......
  • Android 还可以走多久?
    阅读文本大概需要1.8分钟。最近,有位知识星球的球友问我这么一个问题:「张哥,我做Android开发两年多时间了,但是最近总是很焦虑,看着人工智能越来越火,很担心Android要不行了,想问下,我现在要转行么?Android还可以走多久?」这个问题我觉得还蛮有代表性的,今天就姑且给大家谈谈这个话题......
  • 手机软件开发APP必须警惕什么事情?这些事情不能忽略
     在发现开发一个手机软件APP能够给自己带来良好地收益之后,不少人也打算开发一个自己的手机软件APP。不过要想开发成功,我们要警惕一些事情,那么手机软件开发APP必须警惕什么事情?今天名锐讯动为大家总结这些事情不能忽略。 1.明确定位。凡是成功的手机软件开发APP都有一个具体的......
  • 外卖APP系统开发要完善的功能,让你运筹帷幄
     开发一个外卖APP系统对于许多商家来说都是迫在眉睫的事情,可以说外卖APP系统对于商家的帮助是非常大的。不过在开发时我们要完善一些功能,下面名锐讯动为大家介绍外卖APP系统开发要完善的功能。 1.客户端。当用户进入外卖APP的时候首先浏览到的是APP的首页,这时候要求呈现商家提......