说白了,哪一个行业不是吃青春饭呢?无论哪个行业,大部分的从业人员都是在拿青春赌明天。

而且很残忍的一个事实是,没有人的工作是不可取代的,如果你辞职,老板极力挽留,那就说明,你是那帮取代你的候选人当中最便宜的。

市场在逐渐成熟,程序员的前景确实灰暗,算不上危言耸听。但是这种说法也算不上客观,因为大部分的行业都有这个特点。之所以没见其他行业的人跳出来说事,兴许恰恰说明程序员群体有着高度自省的能力。嗯,我就是要往自己脸上贴金。

另一方面,这也充分体现了程序员在互联网上造势的能力。比如去年Github上响彻海内外的996项目。

下面的这些关于Kotlin的一些技术进阶大纲,希望对小伙伴们有一定的帮助。

一、数据类型

  1. Boolean数据类型
  2. Number数据类型
  3. 拆箱装箱与Char数据类型
  4. 基础数据类型转换
点击领取完整开源项目《安卓学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

与字符串
5. 类和对象
6. 空类型和智能类型转换
7. 包(package)
8. 区间(Range)
9. 数组(Array)

二、程序结构

  1. 常量与变量(val,var)
  2. 函数(function)
  3. Lambda表达式
  4. 类成员(成员方法、成员变量)
  5. 基本运算符
  6. 表达式(中缀表达式,分支表达式,when表达式等)
  7. 循环语句(for循环,while循环,continue,break)
  8. 异常捕获(try,catch,finally)
  9. 具名参数,变长参数,默认参数

三、面向对象

  1. 面向对象-抽象类与接口(abstract,interface)
  2. 子承父业-继承
  3. 类及其成员的可见性(private,protected,internal,public)
  4. object
  5. 伴生对象与静态成员
  6. 方法重载与默认参数
  7. 扩展成员
  8. 属性代理
  9. 数据类(allOpen,noArg插件,再见,javaBean)
  10. 内部类(this@Outter,this@Inner)
  11. 枚举(enum)
  12. 密封类(sealed Class)

四、高阶函数

  1. 高阶函数的基本概念
  2. 常见高阶函数(forEach,map,flatmap,fold,reduce,filter,takeWhile,let,apply,with,use)
  3. 尾递归优化 (tailrec)
  4. 闭包(函数式编程的福音)
  5. 函数复合(f(g(x)),infix)
  6. 柯里化(Currying)-函数调用链
  7. 偏函数

五、Lambdas编程

  1. lambdas简介
  2. lambdas和集合
  3. lambda表达式
  4. 访问作用域中的变量
  5. 成员引用
  6. 集合的函数式API之filter和map
  7. all、any、count和find
  8. groupBy
  9. flatMap和flatten
  10. 序列
  11. 使用Java函数式接口
  12. 把lambda作为参数传给Java方法
  13. 显式地把lambda转换为函数式接口
  14. 带接收者的lambda之with函数
  15. 带接收者的lambda之apply函数

六、领域特定语言 DSL

  1. DSL 的基本概念
  2. Gradle Kotlin 脚本编写

七、协程 Coroutine

  1. 协程的基本概念
  2. 协程的原理剖析
  3. Kotlinx.coroutine框架介绍

八、反射语法与库

  1. Kotlin中使用 Java 反射
  2. Kotlin中使用 Kotlin 反射

九、泛型,型变,星投影

  1. 泛型的基本语法
  2. 泛型的实现机制
  3. 型变
  4. 星投影

十、Kotlin与Android

  1. Anko配置及使用
  • anko-commons
  • anko-layout
  • anko-coroutines库
  • anko-sqlite库
  1. Kotter Knife

  2. RxKotlin及RxAndroid配置

  3. Kotlin Retrofit

  4. Kotlin Android Extensions

  • 插件原理
  • 插件使用
总结

现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。

我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。

Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。

如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。

Android学习PDF+架构视频+面试文档+源码笔记

(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)

bbs.csdn.net/topics/618156601)

(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)

[外链图片转存中…(img-zuJ3aJLV-1709799981685)]

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐