最后

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?

Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

所以,最后这里放上我耗时两个月,将自己8年Android开发的知识笔记整理成的Android开发者必知必会系统学习资料笔记,上述知识点在笔记中都有详细的解读,里面还包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。

以上全套学习笔记面试宝典,吃透一半保你可以吊打面试官,只有自己真正强大了,有核心竞争力,你才有拒绝offer的权力,所以,奋斗吧!骚年们!千里之行,始于足下。种下一颗树最好的时间是十年前,其次,就是现在。

最后,赠与大家一句诗,共勉!

不驰于空想,不骛于虚声。不忘初心,方得始终。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1 Flutter 的诞生

( 图片来自 Google 开发者官方 )

Flutter是 Google 于 2015 年 5 月 3 日推出的免费开源跨平台开发框架,可以快速开发 Android 和 iOS 应用,同时也将是未来的 Google Fuchsia OS 下开发应用的主要技术框架。未来的 Flutter 的开发不仅仅局限于移动跨平台,目前已经支持 Web 开发、后端开发、PC 桌面应用开发(内测中)、嵌入式开发(内测中)。

Flutter 的第一个版本 SDK 运行在 Android 操作系统上,被称作“Sky”。第一个开发者版本在 2015 年的 Flutter 开发者会议上被公布,并且对外宣称 Flutter 的开发的应用目标为实现 120FPS的渲染性能,原生的渲染性能一般为 80FPS。由于之前一直是开发版本,所以 Flutter 不温不火,只有少数的一些公司和 Google 内部在尝试使用。

终于在 2018 年 12 月 5 日,Google Flutter 团队正式发布了 Flutter 1.0 正式版,正式版的发布意味着 Flutter 在经过开发、测试、应用上已经基本上稳定和满足大部分开发需求了。这也使得Flutter 在发布正式版后,更多的大公司、开发者纷纷转型使用和学习 Flutter 进行跨平台应用的开发。

目前在 Google 内部,Flutter 已经被广泛用于多个产品,比如 Google Ads 已经将其产品的 iOS 版本和 Android 版本转向使用 Flutter。在正式版本之前,全世界已经有多个公司开始使用 Flutter 来开发应用,包括 Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、Philips Hue、Reflectly 以及腾讯等。而正式版的功能基本上已经比较完善,其他的扩展更强大的功能 Google 官方也正在规划扩展开发。目前 Flutter 1.5 稳定版已经于 2019 年 5 月 8 号发布,这样的更新频率,给更多的开发者和公司增加了动力。Flutter 势必也将成为未来的跨平台开发主流趋势!

接下来回顾下 2018 年和 2019 年 Flutter 的发展情况:

  • 2 月底在世界移动大会 (MWC)上宣布了第一个 Beta 版发布;
  • 5 月的 Google I/O 大会上发布了 Beta 3;
  • 6 月底的 GMTC 宣布了首个发布预览版;
  • 9 月的谷歌开发者大会(Google Developer Days)上,发布预览版 2。
  • 12 月宣布发布正式稳定 1.0 版;
  • 2019年 2 月宣布发布稳定版 1.2 版本 SDK。
  • 2019年 5 月宣布发布稳定版 1.5 版本 SDK。

作为 Flutter 1.0 之后的首次更新, Flutter SDK 1.2 稳定版围绕以下几点进行了重点优化与改进:

  • 提升核心框架的稳定性、性能和质量;
  • 改进现有 Widget 视觉效果和功能;
  • 为 Flutter 开发者提供全新的基于 Web 的调试工具。

目前 Flutter 的社区非常活跃,Flutter 在 Github 最受欢迎的开源软件中排名前 50,国内也有大量的开发者开始使用 Flutter 构建跨平台 (Android & iOS) 的应用,如:阿里巴巴、腾讯、京东等都使用 Flutter 发布了自己的应用。

Google 官方 Flutter 团队计划,未来也将支持 Flutter Web 和 Flutter PC 的应用移植开发,让我们拭目以待吧!

2 目前各种跨平台方案的对比

目前我们在开发应用时,需要同时兼容 iOS 和 Android 两种平台时有两种技术选择:走原生开发路线,把界面和逻辑在不同平台分别实现;抑或用同一套代码兼容多个平台,但这往往意味着运行速度和产品体验的损失。除了原生外,目前跨平台技术一般是混合开发,如采用 H5、React Native、Weex、小程序等技术实现跨平台应用。不过这些或多或少都能感觉到卡顿和体验不流畅,并且开发和学习成本非常高,而且都有各自的局限性。

Flutter 的出现就是为我们提供了一套两全其美的解决方案:既能用原生代码直接调用的方式来加速图形渲染和 UI 绘制,又能同时运行在两大主流移动操作系统上,并且体验和流畅度和原生基本一致、开发效率也非常高、学习难度和成本低。

那么接下来看下几种方案的对比情况:

技术性能开发效率渲染方式学习成本可扩展性
Flutter高,接近原生体验高Skia 高性能自绘引擎低,Widget 组件化高,采用插件化的库进行扩展
RN/Weex/小程序有延迟,一般一般,复杂、效率低JS 驱动原生渲染高,复杂一般
原生应用高一般原生渲染高,需要学习 Android 和 iOS 原生 API高

从上面的对比可以看出,Flutter 的优势明显:高体验度、高开发效率、低学习成本、高可扩展性,未来 Google Flutter 团队还将使 Flutter 支持 PC 和 Web 的跨平台开发,真正全平台。 在 Flutter 1.0 正式版本尚未推出之前,已经有成百上千的基于 Flutter 开发的应用在 Apple Store 和 Google Play 上架,相信 Flutter 将会被越来越多的开发者和公司所接受和采用。

3 Flutter 特点

Flutter 是一个框架,基于 Dart 语言编写,语言风格和 React 很像。Flutter 里几乎都是采用组件的形式进行构建应用和功能的,组件采用现代响应式框架构建,中心思想是用组件(Widget)构建你的 UI。

一切对象都是组件,Flutter 可以说是全新的技术和平台框架,学习和开发起来并不难,开发应用的效率也相对于原生提升了很多,并且运行速度和原生几乎没太大差别,远远高于 HTML 的应用的渲染速度。Flutter 的引擎使用 C++ 开发,基础库由 Dart 编写,提供了用 Flutter 构建应用所需的基本的类和函数。

我们看下 Flutter 官方的架构图:

![](http://upload-images.jianshu.io/upload_images/129

点击领取完整开源项目《安卓学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

24865-002f86babfe13eae)

( Flutter 官方架构图 - 来自 Flutter 官方网站 )

总结

最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

相信它会给大家带来很多收获:

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

戳这里获取](https://bbs.csdn.net/topics/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

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

更多推荐