MikuBlog / flutter-practice

学习笔记及demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

介绍Flutter

Flutter是谷歌的移动UI框架,可以快速在IOSAndroid上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。


核心概念


  • 跨平台

现在Flutter至少可以跨5种平台,甚至支持嵌入式开发。我们常用的有MacOsWindowslinuxAndroidiOS,甚至可以在谷歌最新的操作系统Fuchsia上运行。到目前为止,Flutter算是支持平台最多的框架了,良好的跨平台性,直接带来的好处就是减少开发成本。


  • 丝滑般的体验

使用Flutter内置高大上的Material DesignCupertino风格组件、丰富的motion API、平滑而自然的滑动效果和平台感知,为用户带来全新体验。


  • 响应式体验

使用Flutter的响应式框架和一系列基础组件,可以轻松构建用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)能解决艰难的UI挑战。


  • 支持插件

通过Flutter的插件可以访问平台本地的API,如相机、蓝牙、WIFI等。借助现有的JavaSwiftObjective CC++代码实现对原生系统的调用。


  • 60fps超高性能

Flutter采用GPU渲染技术,所以性能极高。Flutter编写的应用是可以达到60fps(每秒传输帧数),这也就是说,它完全可以胜任游戏的制作。官方宣称用Flutter开发的应用甚至会超过原生应用的性能。


介绍Dart

Dart诞生于2011年10月10日,谷歌Dart语言项目的领导人Lars Bak在丹麦矩形的Goto会议上宣布,Dart是一种“结构化的Web编程”语言,Dart编程语言在所有现代浏览器和环境中提供高性能。 虽然是谷歌开发的计算机编程语言,但后来被ECMA认定为标准。这门语言用于Web、服务器、移动应用和物联网等领域的开发,是宽松源许可证(BSD证书)下的开源软件。 Dart最新的版本是Dart 2Dart 2是一款高效、简介、已通过实战检验的语言,能够应对现代应用程序开发的挑战。Dart 2大大增强和精简了类型系统,清理了语法,并重建了大部分开发工具链,使移动和Web开发变得更加愉快和高效。Dart 2还融合了包括FlutterAdWordsAbSense等工具开发者对该语言早起使用的经验教训,以及针对客户反馈的成千上万大大小小的问题进行了改进。


Flutter和Dart的关系

FlutterDart有什么关系?确实有关系。早起的Flutter团队评估了十多种语言才选择了Dart,因为它符合构建用户界面的方式。


  • DartAOT编译的,编译成快速、可编译成快速、可预测的本地代码,使Flutter几乎都可以使用Dart编写。这不仅使Flutter变得更快,而且几乎所有的组件(包括所有的小部件)都可以定制。

  • Dart也可以JIT编译,开发周期异常快,工作流颠覆常规(包括Flutter流行的亚秒级有状态热重载)

  • Dart可以更轻松构建60fps运行的流畅动画和转场。Dart可以在没有锁的情况下进行对象分配和垃圾回收。就像JavaScript一样,Dart避免了抢占式调度和共享内存(因而也不需要锁)。由于Flutter应用程序被编译为本地代码,因此不需要在领域之间建立缓慢的桥梁(例如,JavaScript到本地代码)。它的启动速度也快得多。

  • DartFlutter不需要独立声明式布局语言(JSXXML),或单独的可视化界面构建器,因为Dart的声明式编程布局易于阅读和可视化。所有的布局使用一种语言,聚集在一处,Flutter很容易提供高级工具,使布局更简单。

  • 开发人员发现Dart特别容易学习,因为它就有静态和动态语言用户都熟悉的特性。

Material Design风格组件

Material Design是由Google推出的全新设计语言,这种设计语言旨在为手机、平板电脑、台式机和其他平台提供一致、更广泛的外观和感觉。Material Design也称为纸墨设计,Material Design风格是一种非常有质感的设计风格,并会提供一些默认的交互动画。


Demo

  • demo_1 简单的自我介绍

  • demo_2 微信界面模板

  • demo_3 时间界面

About

学习笔记及demo


Languages

Language:Dart 100.0%