首页 > 其他分享 >做Android开发,你后悔过吗?

做Android开发,你后悔过吗?

时间:2023-06-19 11:02:49浏览次数:35  
标签:个人 走进 优化 开发 Jetpack Android 酒吧 后悔


有同学跟我说,编程太难了,总是有学不完的技术、框架,新技术也层出不穷,马上三十了,还有各种学不完的东西,后悔做程序员了

编程对我来讲,还难吗

我主业是做Android的。

我刚学编程的时候,觉得难点在于众多语法/API的学习,以及抓耳挠腮、苦思冥想捉bug的无奈。

但无论语法多么复杂难用,终究会有学会的一天。以往找不到的bug,也终会随着源码阅读能力的提升,而逐渐得到改善。

都给我学

工作了三五年之后,以为自己学的已经够多了,也已经到了专家的水平,自以为可以靠吃老本休息休息了。

出现了跨平台技术,ReactNative(简称RN)

有些公司上马了,我们也要试试。做为技术专家,首当其冲,参与技术预研、框架搭建、模块开发当中。

RN刚学的差不多了。

阿里推出了仿RN的Weex。

因为阿里自己的儿子产品,当时在阿里的我们,当然要必然地要转到Weex上来。

就这样,又上马了Weex

前年,Google出了自已的跨平台语言,Flutter

RN\Weex顿时被抛弃了,现在各个公司又都在上马Flutter

做Android开发,你后悔过吗?_Android

自以为很聪明的我,想先看看行情,再决定是不是要学Flutter

因为工作中用不到,只能业余抽时间研究,去年入坑,刚研究到源码层面

今年手机上又推出了鸿蒙系统,据说未来将与Android平分天下

做为移动应用开发者,不学能行吗?

做Android开发,你后悔过吗?_Android_02

绝对不会有问题

看到的一个段子,挺有意思,摘抄过来。

昨晚在酒吧玩,忽然:有个人走进酒吧,要了一杯啤酒;

有个人走进酒吧,要了一杯咖啡;

有个人走进酒吧,要了0.7杯啤酒;

有个人走进酒吧,要了-1杯啤酒;

有个人走进酒吧,要了2^32杯啤酒;

有个人走进酒吧,要了一杯洗脚水;

有个人走进酒吧,要了一杯蜥蜴;

有个人走进酒吧,要了一份asdfQwer@24dg!&*(@;

有个人走进酒吧,什么也没要;

有个人走进酒吧,又走出去又从窗户进来又从后门出去从下水道钻进来;

有个人走进酒吧,又走出去又进来又出去又进来又出去,最后在外面把老板打了一顿;

有个人走进酒吧,要了一杯烫烫烫的锟斤拷;

有个人走进酒吧,要了NaN杯Null;

有个人冲进酒吧,要了500T啤酒咖啡洗脚水野猫狼牙棒奶茶;

有个人把酒吧拆了;

有个人化装成老板走进酒吧,要了500杯啤酒并且不付钱;

有个人走进酒吧,要了一杯啤酒’;

DROP TABLE 酒吧;

他们满意地离开了酒吧。

我看的肚子都饿了,就喊了句:给我来一份蛋炒饭!

结果,酒吧炸了!

你以为你的代码已经足够健壮了,绝对不会出任何问题。

一上线,崩了

做Android开发,你后悔过吗?_android_03

编程难吗?

说实话,挺难的。

而正是因为它很难,所以门槛才高,工资才高,上限才高。

扫大街,不难,但一个月却只有800块钱。

我很庆幸,我能从事程序员这个行业。

在这个行业,我们可以完全不靠父母、不靠关系,自己达到年薪百万,也并不是什么难事。

不必像其他人一样,要买房,需要砸上几代人的积蓄,甚至还有爷爷奶奶的棺材本。

从小,我家里一直很穷。

但正是程序员这个职业,让我自己买了房,买了车,定居了杭州,靠自己过上了舒坦的生活。

如果我换个职业呢?

很难吧。

所以,即便我要不停的学习,不停的接触新事物,不停地保持自己的竞争力,那又怎样。

这些都不重要,重要的是单靠我自己就能实现以往几代人的努力成果。

很多人会讲,程序员青春饭。

但任何行业都有三六九等,都是分梯度的。

就像我跟朋友聊天,他家里没人带孩子,正在想办法。我问他怎么办,他说,总会有出路的,有钱的请保姆,没钱的自己带,最不济就是放老家,成了留守儿童呗。

我们不也一样?技术行的做架构、做管理,技术不行的转行产品、测试、运营也是一条路,实在不行,放下脸面降薪投投简历,也还是能找得到工作。

只不过能力强的会越过越好、机会越来越多,能力弱的,只会越走越窄罢了。

做为一名Android开发者,我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Android高级开发者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!

《高级UI》

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

做Android开发,你后悔过吗?_开发者_04

做Android开发,你后悔过吗?_开发者_05

《Framework精编内核解析》

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

做Android开发,你后悔过吗?_android_06

《360°全方面性能调优》

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

做Android开发,你后悔过吗?_开发者_07

《Android第三方框架》

本篇内容要点(1042页)

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

做Android开发,你后悔过吗?_开发者_08

《NDK模块开发》

主要内容包含:

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

做Android开发,你后悔过吗?_android_09

《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 最全上手指南

做Android开发,你后悔过吗?_Android_10

《高级JetPack强化实战》

  • 初识ConstraintLayout之实现登录页面
  • Navigation实践之实现APP主框架以及Navigation的相关介绍
  • 使用 Coroutines, Retrofit, Moshi实现网络数据请求
  • 使用 TabLayout,ViewPager2 ,RecyclerView实现实现歌单广场页面
  • 歌单页面MVVM架构改造及其ViewModel和LiveData的使用介绍
  • Paging实现加载更多和下拉刷新,错误后重新请求
  • vlayout嵌套横向RecyclerView和Banner 实现主页的展示,自定义Moshi的JsonAdapter
  • Room数据库实现增删改查和事务处理
  • Room数据库Migration
  • ExoPlayer进行视频播放的实现

做Android开发,你后悔过吗?_Dart_11

《Flutter技术进阶》

  • 为什么Flutter是跨平台开发的终极之选
  • 在Windows上搭建Flutter开发环境
  • 编写您的第一个 Flutter App
  • Flutter开发环境搭建和调试
  • Dart语法篇之基础语法(一)
  • Dart语法篇之集合的使用与源码解析(二)
  • Dart语法篇之集合操作符函数与源码分析(三)
  • Dart语法篇之函数的使用(四)
  • Dart语法篇之面向对象基础(五)
  • Dart语法篇之面向对象继承和Mixins(六)
  • Dart语法篇之类型系统与泛型(七)
  • Flutter中的widget、

做Android开发,你后悔过吗?_Dart_12

标签:个人,走进,优化,开发,Jetpack,Android,酒吧,后悔
From: https://blog.51cto.com/u_16163452/6511708

相关文章

  • 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节
    本人研究生在读,在2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话。幸好我提前准备了一个多月的样子,刷面试题、刷LeetCode(面了之后才觉得自己刷少了),对于我这样一个实习生来说题目还是有些偏难,不过在4月20号终于拿到意向书了,听内推人说阿里实习面试没有rank,可能单纯就是流程......
  • 大厂技术总监总结的Android Framework开发笔记火了!知乎已1.7k赞!不吃透都对不起他
    为什么要学AndroidFramework?想要成为一名优秀的Android开发,就需要有一个完备的知识体系,AndroidFramework的知识是很重要的一个组成部分,他广泛的应用在各个领域。像掉帧监控,函数插装,慢函数检测,ANR监控,启动监控,都需要对Framework有比较深入的了解。只有这样才能知道怎么去做监......
  • 又一开源项目爆火于GitHub,Android高级插件化强化实战
    一、插件化起源插件化技术最初源于免安装运行Apk的想法,这个免安装的Apk就可以理解为插件,而支持插件的app我们一般叫宿主。想必大家都知道,在Android系统中,应用是以Apk的形式存在的,应用都需要安装才能使用。但实际上Android系统安装应用的方式相当简单,其实就是把应用Apk......
  • Kotlin版本的WanAndroid项目实战(三):Kotlin的集合
    集合概述学习方法:扫描一遍下述表格中集合相关的有哪些操作,具体使用时再可以详细去查构造集合Kotlin里面添加了可变集合的概念,目前只是一种接口级别的限制,底层实现还是可变的集合,不是线程安全的,还是可以通过Java代码修改内部元素迭代器(1)Iterable接口的继承者(包括Set与......
  • 从入门到精通,Android Jetpack 架构实战教程合集
    Jetpack是Google推出的一些库的集合,包含组件、工具、架构方案等,其优势众多:可以减少空指针异常崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障;可以消除大量重复样板式的代码,加速Android的开发进程;可以统一开发模式,抛弃传统的MVC,MVP…对于谷歌而言,AndroidJetpack是他......
  • 阿里P7架构师整理:最新Android 开发源码精编内核解析
    做Android开发多年,我们都深知阅读源码的重要性,阅读源码可以帮助我们:①在通用型基础技术中提高技术能力,凸显出自己的技术实力;②在重点领域打造自己的亮点,参与技术栈的运维,积累丰富的使用经验,成为团队的核心骨干;③从优秀的源码中学习设计模式的应用,和有用的编码技巧。但是平时读源码......
  • Android性能优化知识脑图总结+学习手册文档,超干分享!
    近几年,Android开发技术不断发展,岗位要求不断升高,导致程序员的面试也进一步向更深、更广处延伸,比如原先很少涉及的性能优化,现已成为大厂的高频面试题。熟悉性能优化相关内容,就相当于拿到大厂的敲门砖,更是工作中最能突显价值的金字招牌。但众所周知,想要学习和掌握性能优化,就必须有实......
  • 用kotlin来开发一个cli工具 | 没用的技能+1
    脚手架脚手架是为了保证各施工过程顺利进行而搭设的工作平台而在程序开发过程中,每个工程或者说公司也都需要一个脚手架工具。通过脚手架命令行的形式简化开发流程,避免发生一些人为的相对低级的问题,所以这个也就是为什么叫做脚手架的原因吧。而由于每个公司的代码规范都不同,一般情况......
  • Android组件开发简介
    一、背景一个app随着业务增加,代码放在同一个模块中会越来越臃肿,同时也导致多人开发的一个难度。组件化可以把业务单独分出来,形成一个单独模块,可单独运行、测试等,相互之间不会影响。另外一个优势,如果一个公司有多个app,总会出现一些相同业务,如登录/注册。我们可以单独把公共业务封装......
  • Android 换肤之资源(Resources)加载源码分析(一)
    本系列计划3篇:Android换肤之资源(Resources)加载(一)—本篇setContentView()/LayoutInflater源码分析(二)换肤框架搭建(三)看完本篇你可以学会什么?Resources在什么时候被解析并加载的Application#ResourcesActivity#Resourcesdrawable如何加载出来的创建自己的Resources加......