前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移动端对比后端“式微”?在大环境下如何避免当生锈的螺丝钉成为一个优秀的安卓开发者

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

原创
作者头像
Android技术干货分享
修改2021-07-06 10:42:21
5650
修改2021-07-06 10:42:21
举报
文章被收录于专栏:Android技术分享

知乎提问:最近看到一些技术博客,说所有公司都意识到了,小程序相比传统的安卓/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文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么说移动端对比后端“式微”了?
  • 移动端开发需要怎么增强自己的式?
  • Android行情艰难如何成为一个优秀的程序员?
  • 怎么学习Android
    • Android进阶学习路线参考
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档