Flutter入门浅谈

一文带你轻松入门Flutter开发 Flutter 是谷歌推出的一款开源 UI 框架,旨在帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台等多种平台的开发。其核心优势在于跨平台特性和高性能表现。Flutter 的跨平台能力使其能够在 iOS 和 Android 等主流平台上运行,甚至通过第三方扩展还可支持 MacOS、Windows 以及谷歌的 Fuchsia 操作系统等,这极大地减少了开发成本,让开发者无需为不同平台编写大量重复代码,而是专注于业务逻辑和用户体验的优化。 阅读详情

作为一个移动端码农,耳闻Flutter已经是几年前的事,Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。当初因为各种顾虑而没有下定决心去学习它。最近Flutter又出现在我的技术圈子中,想着几年过去应该比较成熟、稳定了,也逐渐被国内一些大厂所接纳,某鱼就是使用Flutter来实现的(某票最近也在使用某鱼,还发现了挺多bug,估计不是亲儿子)。于是忍不住去看了一下Flutter的开发文档,被文档中多次提及的富有表现力,漂亮的用户界面、现代的,响应式框架、快速开发等字词所吸引,其实最重要的还是看中Flutter拥有跨平台的能力,一套代码能够同时在iOS和Android上运行(想想都有点小激动)。于是决定开始Flutter的学习之旅。
通过阅读文档,使用Flutter来进行开发必备以下条件

  1. 电脑一台,Window、Mac、Linux三个系统都可以
  2. Flutter SDK
  3. 编辑器,Android Studio、VS Code都可以
  4. 掌握Dart语言

作为iOS开发的我,看了以上四条仅仅只有第一条,一台我熟悉的Mac系统电脑。果然是万事开头难啊!不能临阵退缩,唯有顶硬上。
怎么获取Flutter SDK呢?我已经准备好了以下几个下载地址,任君挑选。根据自己的电脑操作系统下载对应的SDK

编辑器我选择了Android Studio。为什么呢,万一苹果不行了转阵Android提前熟悉一下开发工具也好。
Dart语言又是一门全新的语言,作为开发者的你绝不能有抵触新技术的心理。有了之前学习Swift的经验,只要肯用心、花时间去学习一下新语言的语法糖,了解这门语言的特性,再找些旧的项目用新的语言重新实现一遍,能助你更好的掌握这门语言,入门还是简简单单的事情。有句话说的好:实践是检验真理的唯一标准,切记不要纸上谈兵。当你接触多几门语言后,你会发现它们之前是有许多共性的,掌握了一门语言再去学习另一门语言就犹如顺水推舟。当然雕刻自己的过程也是最痛苦的。

当你以为具备了以上四个条件就可以大展拳脚好好干一番事业时,却发现这只是一个开始😭。我们还有最后一个“拦路虎”必须要跨越它,掌握Flutter框架的用法。特别推荐你到Flutter开发文档这里去获取你想要的,如果你觉得你的英文了得,还可以通过点击文档内容查看对应的英文,看完里面的文档让你入门已是绰绰有余的了。

首先是要怎么搭建用户界面。Flutter 是通过 widget 来构建你的 UI 界面,在 Flutter 中,你看到的图像,图标和文本都是 widgets,几乎所有东西都是 widget —— 甚至布局模型都是 widgets,可以说是万物皆widget。
我们知道了界面都是通个widget来构建的,那么它们是怎么布局的呢?Flutter 中的布局有三个要点

  • Widgets 是用于构建 UI 的类。
  • Widgets 可以用于布局和展示 UI 元素。
  • 通过组合简单的 widgets 来构建复杂的 widgets。

Flutter的布局方式与iOS中的坐标系布局、约束布局有着天壤之别。习惯了iOS的布局思想,在一开始使用Flutter的时候布局思想有点难转换过来,所以推荐你到Flutter中的布局这里好好啃完里面的知识点,最好对照着里面的示例手码一次,好记性不如烂笔头。
当你掌握了怎么搭建和布局界面后,我相信你狂躁的心已安耐不住,让我们来搭建第一个Flutter应用。Android Studio默认是不支持创建Flutter工程的,需要我们安装Flutter和Dart 插件,你可以参考编辑工具设定。
从Flutter工程的目录中,我们看到它包含了android和ios两个工程
在这里插入图片描述
当我选择连接的苹果设备运行时,报了证书配置错误,需要我们打开ios工程来配置正确的证书。
在这里插入图片描述
配置好证书重新运行后,我们看到如下界面
在这里插入图片描述

我们顺藤摸瓜,找到里面的实现代码是在 lib/main.dart文件里面,所以我们程序入口的代码应该写在main.dart里面。
我非常喜欢热重载这个功能,它可以大大缩短我们的调试时间。Xcode也有这个功能,但是需要下载工具没有这个方便。如果没有热重载这个功能,我估计是没有人会使用Android Studio去开发Flutter应用吧。通过控制台打印的Log看到,从点击运行按钮那一刻起到应用真正跑起来居然用了73秒,整整73秒,天啦噜!真不敢想象我修改一点代码重新运行需要等上一分多钟的时间才能看到修改的效果,想砸电脑的心情都有吧。
在这里插入图片描述

赶紧试了一下热重载这个功能,果然没有让我失望,仅仅几百毫秒的时间就看到了改动代码的效果,大爱啊!
在这里插入图片描述

如果你需要使用外部 package(第三方库),你可以在 pub.dev找到更多的package。

  1. 在pubspec.yaml 中,将你需要的package添加到依赖项列表,如下面高亮显示的行:
    在这里插入图片描述
  2. 在 Android Studio 的编辑器视图中查看 pubspec.yaml 文件时,点击 Pub get 会将依赖包安装到你的项目。你应该会在控制台中看到以下内容:
    在这里插入图片描述

Flutter开发文档里面含盖了开发一个Flutter应用所需要的所有知识点,从开发到测试调试到性能优化再到打包部署,应有尽有。

最后“大动干戈”了约两周后,成功的“复制”出了一个APP,由于各种原因,所以不方便把代码公开,给个展示图
在这里插入图片描述

到此为止,也算是入门了,离精通的路还有很长。路漫漫其修远兮,吾将上下而求索。
幻想一套Flutter代码便能同时运行在iOS和Android两个平台上,那就是一个人干了两个人的活,老板会不会给我发两个人的工资啊,两个不行一个半也是可以啊😝。不过理想很丰满,现实却很骨感,就让我们拭目以待吧。

【Flutter】Flutter 入门 Beautiful native apps in record time. 一、重要网址: Flutter 中文网 Dart 起步 Flutter 布局 Flutter 教程 二、入门: 在macOS上搭建Flutter开发环境 2.1 配置镜像 在用户环境变量中添加如下变量: ## Flutter官方临时镜像 export PUB_HOSTED_URL=https://pub.... 阅读详情

相关推荐

Flutter入门教程:从零开始的Flutter开发指南

Flutter是由Google开发的一个开源UI框架,它使用Dart语言编写,并且可以用来快速构建跨平台移动应用程序,支持iOS和Android两大主流移动操作系统。Flutter的优势在于可以使用一套代码库同时开发iOS、Android和Web等不同平台的应用,同时具有较高的开发效率和灵活的定制能力。Flutter的界面是由各种Widget组成的,每个Widget负责界面的一部分。Flutter是一个强大的跨平台开发框架,支持从简单的UI到复杂应用的开发。

2301_77125316的博客 9002

Flutter基础入门

flutter基础入门

qq_33183882的博客 1万+

Flutter从入门到实战

Flutter从入门到实战 Flutter概述   Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。   Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。   无需移动开发经验即可开始使用。应用程序是用Dart语言编写的,如果您使用过Java或...

紫雾凌寒 3万+

flutter入门教程

本文真对 Flutter 的技术特性,做了一些略全面的入门级的介绍,如果你听说过Flutter,想去了解它,但是又不想去翻厚厚的API,那么本文就是为你准备的。 随着纯客户端到Hybrid技术,到RN&Weex,再到如今的Flutter技术,客户端实现技术不断前进。 在之前的一个APP项目中,因为历史原因当时选择了weex,随着使用的不断深入,我们逐渐发现了weex的渲染性能问题已经成为一个隐患和瓶颈。 而Flutter技术的不断成熟和流行,Flutter的良好的跨平台性和高性能优点,不断吸引着我

大灰狼的小绵羊哥哥的博客 1万+

从零开始的Flutter入门实战

前言 非常感谢Vadaski大佬为这篇文章提供了很多技术支持,如果看完这篇文章你对Flutter感兴趣,还可以看看这篇文章,对于新手也是非常的友好。 Vadaski/One-Punch-Flutter: Flutter Book (github.com) 在学习本章之前,如果你对一些flutter基础不是很了解,可以先看一下这篇文章,效果可能会更好一些新手入门需要知道的Flutter基础_佑一山的博客-优快云博客 本章节,我们将会从零开始构建一个简单的基础页面,并对一些基础的widget进行介绍。

weixin_56108378的博客 8151

Flutter:从入门到实践

GitChat 3252

快速上手Flutter

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。Dart 是谷歌开发的计算机编程语言,被应用于 Web、服务器、移动应用和物联网等领域的开发。Dart 是面向对象、类定义的、单继承的语言。

zhaochen1127的博客 3166

[译] Awesome Flutter:带你从入门到进阶的 Flutter 指南

Flutter 是可以用一份代码来创建 iOS 和 Android 高性能、高保真应用的移动端 SDK。如果你喜欢这些内容 📖请给我们加颗 ⭐。

2401_89820149的博客 1141

Flutter入门指南

本文介绍了Flutter入门知识,包括环境搭建、基本概念和常用组件示例。Flutter是一款跨平台UI框架,用于快速构建高质量应用。掌握Flutter需不断学习和实践。

陆业聪 2851

(OpenCV)图像目标尺寸检测

  本文翻译自pyimagesearch技术博客上的一篇文章,《Measuring size of objects in an image with OpenCV》,原文作者:Adrian Rosebrock 。 https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv...

明柳梦少的博客 7万+

ArcGIS实战:手把手教你用DEM和灾害点数据,5步搞定地质灾害风险区划图

本文详细介绍了使用ArcGIS进行地质灾害风险评估的完整流程,从DEM和灾害点数据出发,通过五步标准化操作生成专业风险区划图。重点讲解了信息量模型的应用,帮助读者掌握GIS技术在地质灾害易发性评价中的实践方法,提升风险评估效率与准确性。

weixin_30696427的博客 426

Flutter 入门

这是一份系统的Flutter学习指南,分为入门与进阶两大部分。入门篇涵盖环境搭建、Dart语法、基础组件、布局和简单状态管理;进阶篇深入讲解状态管理方案、路由导航、网络请求、动画绘制、性能优化和测试调试。高级实战部分包括架构设计、跨平台适配和混合开发。指南推荐了官方文档、实战课程和社区资源,强调动手实践、阅读源码和持续学习。全文系统性地梳理了Flutter开发的核心知识点,为开发者提供了一条清晰的学习路径。

Bruce__taotao的博客 1673

电路抗干扰原理及应用(1)

电路抗干扰原理——介绍干扰源、干扰途径、抗干扰技术(接地技术)

qq_34758408的博客 2065

Flutter快速上手,入门教程

Flutter学习指南:从入门到实践的全面教程,保姆级教程:从安装和配置,Flutter SDK安装,项目结构介绍,打包流程

zyy_give的博客 5641

【流复制环境PostgreSQL-14.1到PostgreSQL-16.1大版本升级】

PostgreSQL大版本会定期添加新特性,这些新特性通常会改变系统表的布局,但内部数据存储格式很少改变。pg_upgrade通过创建新的系统表和重用旧的用户数据文件来执行快速升级。pg_upgrade升级主要有三种用法:1、使用pg_upgrade拷贝升级。2、使用pg_upgrade链接升级(带有- -link选项),- -link较快,但是启动新版本后修改了数据文件,再启动旧版本可能数据损坏,回滚较麻烦,所以尽量避免使用link参数进行升级。

小怪兽的博客 2926

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验

unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理

云渊寒烬 5101

浅谈Flutter构建

文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析资料展示:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析。

2401_84149505的博客 828

文献综述三大痛点用AI轻松解决!借助Gemini 3 Pro搞定检索难、阅读慢、框架乱问题(附 AI 提示词)

4)“漏斗式”结构:先介绍宏观领域的研究现状,再缩小范围,聚焦于与你课题直接先关的子领域,深入探讨与你研究变量直接相关的文献, 指出前人没做过、没做全或结论有矛盾的地方,再顺势提出你的研究课题,这种结构逻辑最清晰,能直接引导读者发现你研究的必要性。想要有针对性的搜到相关文献,必须先把模糊的研究题目拆解成精准的检索语言,这个时候就需要建立一个关键词矩阵,如核心词、同义词、学术术语、上下位词,以及对应的英文表达。请围绕【我的研究主题/关键词】,检索近5年发表的高被引的中英文文献,优先选择顶刊综述/论文。

智能AI让学术科研更容易 277

【Flutter】Flutter入门&Container&Text

简单介绍了一个Flutter项目的结构以及入门程序、Container容器组件和Text文本组件。

一以贯之的努力 不得懈怠的人生 1061

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。

guiplan 1497

AUTOSAR知识点 之 XCP (三):XCP功能描述

记录一下XCP使用时候的功能包含命令时序、错误码表、事件描述以及对规范的记录。XCP的图示如下从上图就可以看出数据流的流向CAN-CANIF-XCP,发送反之。XCP的状态机如下。

梦想技术家 3077

Flutter入门教程

一、起源 Flutter在2018 世界移动大会发布第一个beta版本,这是谷歌发布的一套移动UI框架 ,可以快速在iOS和Android上构建高质量的原生用户界面。 能够做到一套代码两个终端运行。并且Flutter是完全免费、开源的。 Flutter组件采用现代响应式框架构建,这是从React中获得的灵感,中心思想是用组件(widget)构建你的UI。 组件描述了在给定其当前配置和状态时他们...

ZFZ5720 7656

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Flutter篇 (一) 入门

很长的一段时间里,提到移动开发,首先想到的就是ios和android两大阵营,不过最近的一年多里面,发生了些可能会改变移动开发格局的事情,自从Google发布了Flutter1.0 开始 ,到前段时间的Flutter1.2版本 ,Flutter的热度从未消退,号称能同时完美运行在ios和android系统,甚至于Google未来的Fuchsia ,众所周知,android系统从发布时...

吃狗屎糖,走狗屎运... 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Flutter入门篇

环境安装 基本上配合flutter doctor 根据提示都可以通一遍 dart SDK 路径问题 是在flutter>bin>cache>dart-sdk /Users/mr.bingley/bingley/soft/flutter/bin/cache/dart-sdk 练习Dart语言 及Flutter插件 在线DartPad Online Dart Compiler ...

活着就是应该在解放自我 337

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

浅谈Flutter构建(1)

可以用下面这张图来总结上面的四种模式:图片来源于四种模式下的产物大小和启动速度比较:图片来源于。

2401_84149444的博客 743
上一篇: iOS之cocoapods本地组件化详细教程
下一篇: iOS按钮超出父控件部分任能响应点击事件和扩大/缩小响应范围
菜鸟的向往
博客等级 码龄10年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值