介绍
Flutter 应用是使用dart语言开发的,作为一个跨平台框架,Flutter非常像React Native ,
(1)比如Flutter支持响应式编程和声明式编程。但是和React Native不同的是,Flutter不需要JavaScript桥接,打打提升了整个应用的性能和应用启动时间,Dart是通过AOT技术取得了上述表现。
(2)另一方面,拥有JIT的Flutter 支持在开发期间,不需要从头构建整个应用就可以刷新ui,提高开发效率。
(3)Flutter框架是建立在组件思想之上的,一切皆组件。在Flutter中组建不单单指应用视图,而是整个界面甚至是整个应用。
特点
跨平台性:Liunx Android IOS Fuchsia
原生用户界面:它是原生的,体验跟性能更好
Flutter是完全免费、开源的
Flutter具有120fps的超高性能,因为我们原生的渲染一般使用的是cpu渲染而Flutter使用的是GPU渲染,也就是说Flutter有可能比原生app渲染的更快。
这里简单说下Flutter与React Native的对比,Reat Native是将ui通过RN自己的虚拟机DOM转换为原生的ui,这样的转换对性能是有一定影响的,这也就是RN在list列表相关显示方面的缺陷,但RN总体上性能还是可以的,而Flutter在渲染技术上选择了自己实现(GDI),Flutter使用Skia 2D渲染引擎直接在GDI层面绘制页面和控件,对系统的依赖降低到最低,提供更好的跨平台兼容性和更高的性能。
环境搭建
参考:https://flutter.dev/docs/get-started/install
第一个应用
(1)import 导包
(2)main函数进入,一切皆组件,runApp方法返回MyApp组件
(3)MyApp组件继承自StatelessWidget,重写build方法,build方法中需要参数BuildContext。
(4)build方法内部又返回了MaterialApp这个组件及其他子组件。
import 'package:Flutter/material.dart'; //导入Flutter推荐的ui组件,material样式
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Todo: implement build
return MaterialApp(
title: "Hello Flutter",
home: Scaffold(
appBar: AppBar(
title: Text("hello world"),
),
body: Center(
child: Text("hello world"),
),
),
);
}
}
原文地址:https://blog.csdn.net/danfengw/article/details/88543880
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。