# Flutter
# 什么是Flutter?
Flutter是一款全平台全端(移动端、桌面端、Web端)应用程序SDK,基于Dart语言开发,由Google开源。2015年4月发布1.0版本主推移动端高性能,2021年3月发布2.0版本全端跨端支持。
什么是Dart?
Dart是由谷歌开发的通用的编程语言,它常用于构建web、服务器、桌面和移动应用程序。
# 前端人为什么要学习Flutter?
Flutter优势:
- 相比于uniapp,性能更好,生态更丰富;
- 面向对象 + 动态语言特性(基于Dart);
- 可学习Dart,开发全端应用
哪些公司在使用Flutter?
- 国内:字节系、腾讯课堂、阿里闲鱼、百度贴吧;
- 国外:谷歌助手、ebay Motors;
- 职场:15-30K(腾讯会议)、30-60K(字节);
心灵直击:
放弃前端学习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学习套路
- 环境:基础的dart环境、flutter命令、版本之间区别、初始化项目;
- 基础、组件、包管理:这个与前端的node.js是一样的,也要有一个管理包、模块化的过程;
- 样式、组件库、第三方库:主要是提高开发效率而准备的;
- 状态管理、路由、缓存、请求:逻辑部分了;
- 动画、消息、WebSocket:一些特定的应用场景。
# 第三方包推荐
# VSCode插件推荐
- Pubspce Assist帮助管理pub依赖包。