📜  Flutter| Google 开源 SDK 简介

📅  最后修改于: 2022-05-13 01:58:42.522000             🧑  作者: Mango

Flutter| Google 开源 SDK 简介

Flutter是 Google 的移动 SDK,用于从单个代码库构建原生 iOS 和 Android、桌面(Windows、Linux、macOS)、Web 应用程序。当使用Flutter构建应用程序时,一切都指向flutter构建 Flutter 应用程序的块。它们是带有一堆特定于材料设计的功能的结构元素,新的小部件也可以由现有的小部件组成。将小部件组合在一起的过程称为组合。该应用程序的用户界面由许多简单的小部件组成,每个小部件都处理一项特定的工作。这就是为什么Flutter开发人员倾向于将他们的flutter应用程序视为小部件树的原因。

小部件类型:

  • 无状态小部件
  • 有状态的小部件

Flutter, Dart和等效技术

Flutter 和 Dart--GeeksforGeeks

首先,让我们陈述一下FlutterReact Native之间的核心区别

FlutterReact Native
Initial release in 2017Initial release in 2015
Based on DartBased on React Js
Controls every pixel on the screenControls via the native mobile components
Cross-Platform ( Mobile, Web, Desktop )Cross-Platform ( Mobile, React Native Web )
Developed by GoogleDeveloped by Facebook
Current Version 2.0.1Current Version 0.63
App performance is higher. Flutter 60 fps or 120 fps animation. Flutter itself paints and controls every single pixel on the screenHigh. It requires the JavaScript bridge to interact with the native components.
Flutter is the fasted growing framework for cross-platform development. Community support for flutter is amazing, with over 11100 Github stars, 15000 forks and over 41000 closed issues, it is leading the industry.Community support for React Native is also good but it is not growing as fast as flutter. It has over 9300 Github stars, 20000 forks and over 19700 closed issues.

FlutterReact Native的第一个区别是它不使用互联网上最流行的任何文本标签。 React Native 使用JSXCSSJavaScript ,但Flutter如此。它专注于单一代码库,并且该单一代码库将生成 iOS 和 Android 应用程序。现在,这个单一的代码库是Dart,由Flutter框架本身支持。 Dart是一种针对多平台快速应用的客户端优化语言,由 Google 开发。如果你以前用过Java ,你会觉得Dart很熟悉。

要查看flutter与其他移动开发框架的比较以及为什么要选择flutter可以参考这篇 -> Flutter – Best Alternatives for App Development。
布局树将构建为:而不是编写 XML 文件:

Dart
import 'package:flutter/material.dart';
 
class GeeksforGeeks extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "Hello Geeks!",
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text("Hello Flutter"),
        ),
        body: new Container(
          child: new RaisedButton(onPressed: _handleOnPressed),
        ),
      ),
    );
  }
}


而且, Flutter Tech 最大的卖点有两点:

  1. 高性能应用程序:使用Flutter开发的应用程序具有高度的表现力和灵活的 UI。由于热重新加载而导致的快速开发使应用程序栩栩如生,其表现力提供了渴望本地最终用户体验的功能。
  2. 富有表现力和灵活的 UI: Flutter让开发人员可以通过使用预构建材料小部件轻松构建美观的应用程序。即使许多小部件是预先构建的, flutter仍然可以完全自定义小部件。
  3. 快速开发和热重载:热重载是指注入您在运行时编辑的文件的新版本,同时保持应用程序运行。

Flutter的优缺点:

优点:

  • Flutter在 Android 和 iOS 两个平台上都使用了一个名为Dart的代码库,这是一种确保类型安全的简单语言。
  • Flutter语言社区都在以极快的速度发展,发布新功能、小部件和附加组件。
  • Flutter拥有自己的一组小部件,而不是使用主机操作系统提供的小部件,这意味着用户提供了自己的手势识别模型,因此可以更好地控制小部件的精确渲染或自定义。
  • 热重载是开发过程生产力的改变者。它为正在开发的应用程序提供了生动的效果,从而使整个开发周期对于使用Flutter的 UI/UX 开发人员来说更加令人兴奋。
  • Flutter未绑定到小部件系统的 ROM。因此,它增强了其在广泛的 Android 版本上的可移植性,从而降低了它对主机平台的依赖。
  • Dart和Flutter紧密合作,为Flutter特别需要的手机优化dart虚拟机(VM)。
  • Flutter是跨平台应用程序开发领域的老牌玩家,拥有惊人的社区支持。

缺点:

  • 实际上, flutter没有任何缺点,因为没有任何其他框架像flutter那样有效和精细。即使我们必须列出任何与Dart编程语言相关的内容,因为在将dart转换为 JavaScript 时,有一些错误需要修复, dart没有后端框架等。