# Flutter

# 什么是Flutter?

Flutter是一款全平台全端(移动端、桌面端、Web端)应用程序SDK,基于Dart语言开发,由Google开源。2015年4月发布1.0版本主推移动端高性能,2021年3月发布2.0版本全端跨端支持。

image-20210914124742201

什么是Dart?

Dart是由谷歌开发的通用的编程语言,它常用于构建web、服务器、桌面和移动应用程序。

# 前端人为什么要学习Flutter?

Flutter优势:

  • 相比于uniapp,性能更好,生态更丰富;
  • 面向对象 + 动态语言特性(基于Dart);
  • 可学习Dart,开发全端应用

哪些公司在使用Flutter?

  • 国内:字节系、腾讯课堂、阿里闲鱼、百度贴吧;
  • 国外:谷歌助手、ebay Motors;
  • 职场:15-30K(腾讯会议)、30-60K(字节);

works

心灵直击:

放弃前端学习Flutter?进军移动端开发?

  • 兴趣是老师:可以根据自己的兴趣+团队发展来走;
  • 体量决定市场:前端体量大,目前市场非常缺前端;
  • Flutter也有坑:Flutter依旧需要学习移动端知识。

# Flutter学习的坑点

  • 装环境:Flutter 安装、iOS&安卓环境配置、加速源;
  • 转变思路:组件化、面向对象;
  • 找资料:第三方包市场、学习项目;

# Flutter学习线路

  • 搭建环境->配置IDE -> 生态介绍 -> 打消疑虑;
  • 常见的概念类比前端 -> 学习核心的技能点 -> 思路扩展;
  • 深入Flutter组件化思想 -> 开发简单业务 -> 上手实战;

# 资源推荐

- Flutter中文资源:https://flutter.cn/

- Flutter中文网:https://flutterchina.club/

- Flutter-awesome:https://flutterawesome.com/

- Github-awesome:https://github.com/Solido/awesome-flutter

- Flutter-resources:https://github.com/awesome-tips/flutter-resources

# Flutter学习套路

image-20220113235757354

  • 环境:基础的dart环境、flutter命令、版本之间区别、初始化项目;
  • 基础、组件、包管理:这个与前端的node.js是一样的,也要有一个管理包、模块化的过程;
  • 样式、组件库、第三方库:主要是提高开发效率而准备的;
  • 状态管理、路由、缓存、请求:逻辑部分了;
  • 动画、消息、WebSocket:一些特定的应用场景。

# 第三方包推荐

# VSCode插件推荐

  • Pubspce Assist帮助管理pub依赖包。