移动端对比后端“式微”?在大环境下如何避免当生锈的螺丝钉成为一个优秀的安卓开发者

2021-07-06 10:42:21 浏览数 (1)

知乎提问:最近看到一些技术博客,说所有公司都意识到了,小程序相比传统的安卓/IOS/Web三线作战的优势。真实情况也是如此吗?

这个“式微”的理解其实可以有很多种解读,这里最直接的是Android在企业内的重要性对比后端确实是“式微”了!

但是这个“式微”和小程序没有太大关系,因为做过微信小程序的知道,微信内的限制太多,所以作为引流和试水阶段是没问题,但是落地还是要回归到自己的平台。

我见过不少产品是通过小程序和小游戏去试错,最后数据客观了才落地到应用项目,这类产品一般会选择类似 Taro 的框架进行开发,最后可以快速从小程序再迁移到应用。

毕竟小程序并不是“真正的平台”,在别人的后花园怎么能安心遛狗?

为什么说移动端对比后端“式微”了?

2014 年开始的移动红利之后,客户端急缺的情况下,客户端开发经历了 2015 - 2016 年的野蛮成长,但是 2020 的今天整个移动端社区都趋向稳定,而且第三方支持丰富,开发一款应用的成本降低了,而在稳定下来后企业积累了无数的用户和数据,所以下半场的竞争者必然是后端和大数据的竞争,主动权再次回归后端的比拼

介绍个简单的例子,比如极光 ,移动开发都知道它是做推送 SDK 起家,后续增加了如分享统计IM 等 SDK 也是布局移动服务,但是 2019 开始极光开始主打推出的 iAPP反欺诈iAduienceiZone营销平台 等都是开始往数据服务上发力;另外和极光属于竞争对手的 MobTech 也是这样的套路。

因为开发一个普通应用的难度下降了,门槛降低和资本冷却以后,把握数据和业务逻辑的开发开始成为新的门槛和香饽饽,所以最直观的就是文章和技术分享的趋势变了。

一部分从 Java Web 到 Android 的开发人员又一次回归后端,同时培训机构的风头也变了:python、AI、区块链等等,要知道每年市面上新增的开发人员,有很大一部分来源于培训机构,这部分人变了也导致技术博客和公众号等的产出风向变了

移动端开发需要怎么增强自己的式?

首先明确一个观点,那就是移动开发是必须有的,只要平台在原生开发就必须有。但是浑水摸鱼的日子没有以前那么好过了,因为小程序和各种跨平台开发让企业有了更多的选择。

所以如果你还想做界面开发,那么增强你的能力广度是必须的,比如:

  • 小程序的上手并不难,同时还有诸如 uni-apptarochameleon 可以帮助上手。
  • 通过学习 React-Native 来认识前端开发,学习 ReactCSSJavaScript 等相关能力,只要你会 RN 其实等同于你已经学会了小程序。
  • 了解学习诸如 FlutterPWAWebAssembly 等新的技术迭代。

当然,最后不要落下数据结构与算法、计算机原理等基础知识,这些才是程序员后期的竞争力,如果想要把握更多的当然你也可以学习后端开发相关的知识。

Android行情艰难如何成为一个优秀的程序员?

优秀的门槛一直在变高,岁月无情,那我们怎么应对?

1、尽量让自己拥有较长时间竞争力的技能和思想

现在很多年轻人热衷于学习新的工具,新的编程语言,学习在新的平台做系统,当然,这是有一定红利期的,但作为个人的竞争力,稍过几年,很可能就一文不值。

什么是竞争力,多理解系统底层的逻辑和思想,诸如内存分配的机制,多理解数据结构的原理和设计理念,这些也不能说永远都有竞争力,但如果理解到位,并且应用得当,至少可以保证二三十年自己的思想不会在业内落伍。

具有发现问题的敏锐度,掌握分析问题的方法和思路,也能让自己职场竞争力相对牢固一些。

知道如何有效的在复杂的系统中发现问题,定位问题,并针对性的给出解决问题的方向,这就是竞争力,这个竞争力,依然可以持续很多年。

2、即便力不从心,也要奋力向前

你说一代更比一代强,有的时候真的力不从心,但看你目标是什么,想独孤求败,一览众山小,可能越来越难。但毕竟!毕竟大部分人是懒惰,缺乏耐心的。想让自己超过大多数人,毕竟没那么难。

如果你否定天分的存在,只强调勤奋努力,那就是蠢。但如果你因此认为勤奋努力没有用,那就是又懒又蠢。

只要你肯进步,总会超越大量不进步的人。对于普通人来说,这就足够了。

3、提升视野,向上发展

很多人虽然经历了很多事,却依然没有见识,匮乏视野。

比如简单化,标签化的看待问题,老板当时成功是因为运气比较好。

比如从不关心产业和市场变化的情况,一直随波逐流。

比如在自己的工作职能之外,毫不关心合作伙伴,上下游,同行的生存和发展话题。

所以,当更有活力,更便宜的年轻人冲上来,他们的教育背景比你更好,他们的算法逻辑比你更清晰,你还剩下什么,信谣传谣的能力和素质?

还想安安静静当个螺丝钉?对不起,你生锈了。

总结一下,优秀的门槛越来越高,这是历史趋势,谁也挡不住。

但任何时代,大部分人总是会固步自封,随波逐流,随着岁数增长,你可能真的无法挡住优秀的年轻人超越你,但你只要肯进步,总会不断超越那些停步不前的大多数。

怎么学习Android

其实我更希望做无论是哪端的开发,都可以让自己的成长为工程师而不是单纯的 Api 码农,很多时候大家都在忧虑学多而不精,但是抚心自问学得少的自己,现在有“精”吗?

因为技术是具备可迁移性的,比如:学习 DaggerSpring 的时候;学习 React NativeFlutter 的时候;学习 KotlinJavaScript 的时候。这样的选择可以让我们节约成本的过度。

在增加自己技术储备的同时,也开拓自己的眼界,我个人更希望自己的生涯是去 “精通” 开发,而不是定位于某种语言或框架。

所以我会保持去关注新的行业动态,了解一些新兴技术实现,即使只是知道它的名字和作用。危机感和兴趣让我有动力这么做,当然,在某个领域保持深度还是有必要的,毕竟吃饭的东西不能丢, 但是保持学习和好奇心,是让职业生涯更有生命力的保证:

同样地,每年我们都会看到,在一个新的技术发布后,曾经在某一领域具有权威的领导者失去他的领导地位,这正是因为日常工作占据了进行策略性思考的时间,从而让你没有时间去做一些更有价值的事。

Android进阶学习路线参考

程序员如何走上快速提升技术走上财富自由之路?

下面我提供一下我多年工作以来收集整理的学习路线,给大家做个参考:

学习一线大厂的各项技术:

大厂是我们的技术先驱,不仅仅是各种技术,还有很多令你大开眼界的使用方法,学习这些有利于自己竞争力的提高,深入理解后也可以提升你的学习效率。

现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。

1.2020大厂面试高频知识点

  • 图片
  • 网络和安全机制
  • 数据库
  • 插件化、模块化、组件化、热修复、增量更新、Gradle
  • 架构设计和设计模式
  • 性能优化
  • Android Framework
  • Android优秀三方库源码

2.Jetpack架构组件从入门到精通

  • Android Jetpack - Navigation
  • Android Jetpack - Data Binding
  • Android Jetpack - ViewModel & LiveData
  • Android Jetpack - Room
  • Android Jetpack - Paging
  • Android Jetpack - WorkManger
  • Android Jetpack架构组件之Lifecycle
  • Android Jetpack Compose 最全上手指南

3.Framework精编内核解析

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

4.Kotlin强化实战(附Demo)

  • 第一章 Kotlin入门教程
  • 第二章 Kotlin 实战避坑指南
  • 第三章 项目实战《Kotlin Jetpack 实战》
    • 从一个膜拜大神的 Demo 开始
    • Kotlin 写 Gradle 脚本是一种什么体验?
    • Kotlin 编程的三重境界
    • Kotlin 高阶函数
    • Kotlin 泛型
    • Kotlin 扩展
    • Kotlin 委托
    • 协程“不为人知”的调试技巧
    • 图解协程:suspend

5.Android设计思想解读开源框架

  • 热修复
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

6.NDK模块开发

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

定期面试:

光学习了大厂的技术还不够,如何了解当下Android市场需要哪些技术呢?

定期的面试足以让你了解当下市场需要哪些技术,也更加容易确定自身的短板在哪,同时,也可以督促自己学习提升(小伙子,你了解的技术有点落伍了呀…)

万一拿到了高薪Offer,岂不是更赚?

多看大佬的学习笔记,学习大佬的设计思想:

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

以上这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。

在经历了前期的野蛮生长后,优秀的门槛会越来越高。

0 人点赞