返回顶部
首页 > 资讯 > 精选 >怎么制作Flutter应用
  • 602
分享到

怎么制作Flutter应用

2023-06-04 22:06:41 602人浏览 安东尼
摘要

这篇文章主要介绍怎么制作Flutter应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. Flutter 是什么?Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美

这篇文章主要介绍怎么制作Flutter应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. Flutter 是什么?

Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、WEB ([early access][])、桌面和嵌入式平台。

Flutter 旨在帮助开发者创作媲美原生的高性能应用,并遵从了各个平台不同的滚动行为、排版布局、图标样式等。这是一个名为 Gallery 的示例应用, Gallery 是一个在安装完 Flutter 并配置好环境后可以立即运行的 Flutter 示例应用集合

Shrine 有高质量的滚动图片、交互式卡片、按钮、下拉列表以及一个购物车页面。开始开发之前无需移动开发经验。应用使用 dart 开发,如果你曾使用过 Java 或者 javascript 语言,那么 Dart 看上去会很熟悉。

面向对象编程的经验对开发毫无疑问会有帮助,但即便不是程序员也可以制作 Flutter 应用!

2. 为什么使用 Flutter?

Flutter 的优势是什么?它能够帮你:

高效率
  • 在应用运行时尝试修改代码并重载(通过热重载)

  • 修复崩溃并从应用停止的地方开始继续调试

  • 利用单一代码库开发 iOSAndroid 应用

  • 即便在单一操作系统上,也可以通过使用现代、富有表现力的语言以及声明式方法,写更少代码做更多事

  • 原型与轻松迭代

生成美观、高度定制化的用户体验
  • 受益于用 Flutter 框架构建的丰富的 Material Design 以及 Cupertino (ioS 风格) widget

  • 实现定制、美观、品牌驱动的设计,不受 OEM widget 集合的限制

3. 核心原则

Flutter 包含一个现代响应式框架,一个 2D 渲染引擎,现成的 widget 以及开发工具。这些组件协同工作以帮助你设计、构建、测试和调试应用。所有这一切都围绕几个核心原则进行组织。

3.1 一切皆 Widget**

Widget 是 Flutter 应用用户界面的基本构建单元,每个 widget 都与最终的用户界面的展示紧密相关。不同于其他框架和平台 —— 将视图 (views)、视图控制器 (view controllers)、布局 (layouts) 等其他属性分开, Flutter 拥有统一的对象模型:widget。一个 widget 可以定义:

  • 一个结构元素(比如一个按钮或者菜单)

  • 一个风格元素(比如一个字体或者配色方案)

  • 布局的一个方面(比如 padding)

  • 等等……

Widget 通过组合形成一个层次结构,每个 widget 嵌套其中,从其父节点继承属性。Flutter 中没有单独的“application”对象,与之相对应的功能由 root widgets 承担。

你可以通过告诉框架将层次结构中的一个 widget 替换为另一个来响应事件,如用户交互。框架将会对比新旧 widget 并及时更新用户界面。

3.1.1 组合大于继承

Widgets 本身往往是由许多小的、具有单一用途的 widget 组成,它们组合在一起可以产生强大的效果。比如,Container 是一个常用的 widget,由负责布局、绘制、定位和尺寸的几个 widget 组成。

具体来说,Container 是由 LimitedBoxConstrainedBoxAlignPadding、 DecoratedBox 和 TransfORM widgets 组成的。

你可以将这些与其它小而简单的 widgets 用新颖的方式组合,而不是子类化 Container 以生成自定义效果。类层次结构是浅而广的,以支持尽可能多的组合。

你也可以通过组合其它 widgets 以达到控制一个 widget 的布局。例如,为了居中一个 widget,你可以把它包裹在一个 Center widget 中。还有用于设置间距、对齐、行、列以及网格的 widgets,这些布局 widgets 本身并没有视觉表现。

反之,他们唯一的目的是在某些方面上控制另一个 widget 的布局。要了解一个 widget 以某种方式呈现的原因,查看其邻近 widgets 通常很有帮助。

3.1.2 层次蛋糕非常美味

Flutter 框架由一系列层结构组成,每一层都建立在前一层之上。

怎么制作Flutter应用

框架上层会比下层使用的更频繁。

这样做的目的是为了帮助你用更少的代码完成更多工作。
例如,通过在 widgets 层组合基础 widgets 来构建 Material 层,而 widgets 层本身则是通过对来自 Rendering 层的低层次对象组合而来。这些层次为构建应用程序提供了许多选项。选择一种自定义方法来释放框架的全部表现力,或使用 widgets 层中的构建块,或混合搭配。

你可以组合 Flutter 提供的现成 widgets 或使用 Flutter 团队在构建框架时所使用的相同工具和技术来构建你的自定义 widgets。没有任何内容可以逃离你的视线,因此可以在生产力上从高级别、统一的 widget 概念中获益,且不会牺牲你想深入更底层时的能力。

3.2 构建 widget

可以通过完善 build() 函数来定义一个 widget 拥有的特性,该函数返回一个 widget 树(或者层次结构)。该树通过更具体的方式来表示用户界面上的 widget 部分。

例如,一个 toolbar widget 可能会有一个返回一些 水平布局 文本 和 各种 按钮 的构建函数。

框架会递归地去构建这些 widget 直到达到最底层 完全具象的 widgets,然后将它们拼接成一棵树。一个 widget 的构建函数应该没有副作用。

不论何时调用,widget 总应该返回一颗新的 widgets 树,不论其之前返回了什么。框架会将先前构建与当前构建仔细进行比较,并确定需要对用户界面做哪些修改。

这种自动比较非常有效,可实现高性能的交互式应用。构建函数在设计上通过专注声明 widget 的构成,而不是处理更新用户界面状态的复杂性,来达到简化代码的目的。

3.3 处理用户交互

如果一个 widget 的特性需要根据用户交互或其他因素改变,那么这个 widget 是有状态的。例如,如果一个 widget 包含一个随用户点击按钮而递增的计数器,则计数器的值便是 widget 的状态。

当该值更改时,则需要重新构建 widget 以更新 UI。这些 widget 继承自 StatefulWidget(而不是 StatelessWidget)并将它们可变的状态存储在 State 的一个子类中。

不论何时你操作一个 State 对象(例如,递增计数器),你必须调用 setState() 方法来通知框架通过重新调用 State 的构建函数,以此达到更新用户界面的目的。

有关状态管理的示例,可以查看随着任何一个新 Flutter 项目生成的 MyApp 模版。将状态与 widgets 对象分开可以让其他 widgets 以相同的方式处理无状态和有状态的 widget,而不用担心丢失状态。不同于通过维持一个子节点来保留状态,父节点可以自由地创建子节点实例,而不会丢失子节点的持久状态。框架会在适当的时候做完查找和重用现有状态对象的所有工作。

以上是“怎么制作Flutter应用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 怎么制作Flutter应用

本文链接: https://lsjlt.com/news/240280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么制作Flutter应用
    这篇文章主要介绍怎么制作Flutter应用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. Flutter 是什么?Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美...
    99+
    2023-06-04
  • 怎么用flutter制作上班摸鱼应用
    小编给大家分享一下怎么用flutter制作上班摸鱼应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!网上最近看到了个摸鱼应用,还挺好玩的,我就自己用flutter写了一个。之前我有用flutter制作过mobile应用,但...
    99+
    2023-06-29
  • 详解用flutter制作上班摸鱼应用
    网上最近看到了个摸鱼应用,还挺好玩的,我就自己用flutter写了一个。 之前我有用flutter制作过mobile应用,但是没有在desktop尝试过;毕竟2.0大更新,我这里就在...
    99+
    2024-04-02
  • 怎么用Flutter快速制作一个水印组件
    本篇内容介绍了“怎么用Flutter快速制作一个水印组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果通过child属性将水印叠加给子组...
    99+
    2023-07-05
  • 基于Flutter怎么制作一个火箭发射动画
    本文小编为大家详细介绍“基于Flutter怎么制作一个火箭发射动画”,内容详细,步骤清晰,细节处理妥当,希望这篇“基于Flutter怎么制作一个火箭发射动画”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Anima...
    99+
    2023-06-29
  • 基于Flutter怎么制作一个心碎动画特效
    这篇文章主要介绍了基于Flutter怎么制作一个心碎动画特效的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Flutter怎么制作一个心碎动画特效文章都会有所收获,下面我们一起来看看吧。效果图先上:实现步骤1...
    99+
    2023-06-30
  • 利用Flutter制作经典贪吃蛇游戏
    目录前言使用 Flutter 作为游戏引擎画蛇2D 渲染的基础创建蛇填写列表将蛇移动到下一个位置添加运动和速度添加控件改变方向吃东西和提高速度在屏幕上显示食物消耗和再生食物检测碰撞并...
    99+
    2024-04-02
  • Flutter Android应用启动白屏怎么办
    小编给大家分享一下Flutter Android应用启动白屏怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题产生默认生成的flutter工程,在启动时候会...
    99+
    2023-06-25
  • Flutter怎么用
    这篇文章给大家分享的是有关Flutter怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 前言在初学新技术之前,我们总会要从最基本的东西了解起来,就好比当接触Android的时候,我们学四大组件都要学好久...
    99+
    2023-06-04
  • 利用Flutter制作一个摸鱼桌面版App
    目录准备工作开始敲代码找到资源思考布局实现布局思考动画实现动画结语Win10商店上架了一款名为《摸鱼》的App,在下载打开之后,这个App会让你的电脑进入一个假更新的画面,让别人以为...
    99+
    2024-04-02
  • 怎么使用Flutter开发简单的Web应用
    本篇内容主要讲解“怎么使用Flutter开发简单的Web应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Flutter开发简单的Web应用”吧!为 W...
    99+
    2024-04-02
  • 怎么用CSS制作响应式折叠菜单
    本篇内容介绍了“怎么用CSS制作响应式折叠菜单”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这个菜单能居左...
    99+
    2024-04-02
  • CSS3怎么制作响应式图片
    这篇文章主要讲解了“CSS3怎么制作响应式图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么制作响应式图片”吧!先看看效果图:XML/HTML ...
    99+
    2024-04-02
  • Flutter怎么用Canvas绘制精美表盘效果
    这篇“Flutter怎么用Canvas绘制精美表盘效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Flutter怎么用Ca...
    99+
    2023-06-29
  • 怎么用JS和API制作天气Web应用程序
    这篇文章主要为大家展示了“怎么用JS和API制作天气Web应用程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用JS和API制作天气Web应用程序”这篇文...
    99+
    2024-04-02
  • Flutter SystemChrome控制应用程序的系统级别行为
    SystemChrome SystemChrome 是 Flutter 提供的一个类,用来控制应用程序的系统级别行为,如设置全屏,状态栏等。 设置状态栏透明 SystemChrome...
    99+
    2023-05-19
    Flutter SystemChrome Flutter 系统级别控制
  • 如何利用Flutter制作一个摸鱼桌面版App
    这篇文章将为大家详细讲解有关如何利用Flutter制作一个摸鱼桌面版App,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Win10商店上架了一款名为《摸鱼》的App,在下载打开之后,这个Ap...
    99+
    2023-06-22
  • Flutter中CustomPaint怎么用
    这篇文章主要介绍了Flutter中CustomPaint怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介在有些场景中,我们会需要绘制一些高度定制化的组件,比如 UI ...
    99+
    2023-06-29
  • Flutter LinearProgressIndicator怎么使用
    要使用Flutter的LinearProgressIndicator,可以按照以下步骤进行:1. 导入Material库:在你的Da...
    99+
    2023-08-14
    Flutter
  • Flutter GetX怎么使用
    这篇文章主要讲解了“Flutter GetX怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flutter GetX怎么使用”吧!Flutter GetX是一个基于...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作