Flutter 简介
1.什么是Flutter
- 跨平台
- 热重载(调试快)
- widget(组合)
- 性能还行
……
2.历代跨平台更替
Native
Apple iOS SDK 于2008年发布,2009年发布 Google Android SDK。这两个 SDK 分别基于不同的语言:Objective-C 和 Java。

WebView
第一个跨平台框架基于 JavaScript 和 WebViews。 例如 Titanium 和一系列相关的框架:PhoneGap,Apache Cordova,Ionic 等等。 在苹果发布 iOS SDK 之前,他们鼓励第三方开发者为 iPhone 构建 webapps,所以用 web 技术构建跨平台的应用程序是一个显而易见的步骤。
React Native
像ReactJS(和其他)这样的响应式Web框架已经变得流行,主要是因为它们通过使用从响应式编程中借用的编程模式来简化Web视图的创建。 2015年,创建了 React Native 将响应式视图的诸多好处带给移动应用程序。
- 性能相对h5较好
- 动态化方便
- 社区的力量(坑->->少)

Flutter
像 React Native 一样,Flutter 也提供响应式风格的视图。 Flutter 使用编译的编程语言即Dart 的方法来避免 JavaScript 桥引起的性能问题,。 Dart 被“提前编译”(AOT)编译成多个平台的本地代码。 这使得 Flutte r可以与平台进行通信,而无需通过执行了上下文切换的JavaScript Bridge。 编译为本机代码也可以提高应用程序的启动时间。
- Flutter将 Widgets 和渲染器从平台移动到应用程序中,从而使其可以自定义和扩展
- 反应式视图的优点,没有 JavaScript Bridge
- 快速,流畅,可预测; 代码将 AOT 编译为本机(ARM)代码
- 带有漂亮,可定制的 widgets

项目层级介绍

- android、ios (Flutter相对应的Native)
- lib(main 程序的主入口,我们平时做Flutter开发的主入口)
- pubspec.yaml
做开发的我们肯定不是什么都自己写代码,这边可能会有点疑惑,如果我们要用到第三方的代码该怎么做,android 当中是通过gradle里去添加
Flutter这边通过pubspec.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| name: flutter_tydemo description: A new Flutter application.
// 下面定义了应用程序的版本和构建号。版本号是三个用点分隔的数字,比如1.2.43 //,后面是一个由+分隔的可选构建号。 //版本号和构建器号都可能在flutter中被覆盖 // build通过分别指定—build-name和—build-number进行构建。 version: 1.0.0+1
environment: sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies: //依赖 flutter: sdk: flutter
// 以下就是通过pub.com 来依赖第三方的插件 (类似github npm) cupertino_icons: ^0.1.2 flutter_redux: ^0.5.2 fluttertoast: 2.0.9 json_annotation: ^2.0.0 flutter_statusbar: ^0.0.1 shared_preferences: ^0.4.2 flutter_spinkit: ^2.0.1 dio: ^1.0.6 connectivity: ^0.3.1 event_bus: ^1.0.1 sqflite: ^0.13.0 path_provider: ^0.4.1
// Flutter sdk版本 dev_dependencies: build_runner: ^1.1.1 //解决版本依赖冲突 json_serializable: ^2.0.0 flutter_test: sdk: flutter
# 要向应用程序添加资源文件,请添加资源文件部分,如下所示: # assets: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see # https://flutter.io/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see # https://flutter.io/assets-and-images/#from-packages
// 添加相应的ttf的icons # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 //增加相对应的图片 assets: - res/images/welcome.png - res/images/tuyaMark.png
|
到这里大家应该有个模糊的概念了吧

下一篇 Flutter Widget