【Flutter入门到进阶】Flutter基础篇---介绍与环境

news2025/1/10 4:01:13

1 Flutter介绍

        Flutter是谷歌公司开发的一款开源、免费的UI框架,可以让我们快速的在Android和iOS上构建高质量 App。它最大的特点就是跨平台、以及高性能。   目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux等。

        Flutter基于谷歌的dart语言,如果没有任何Dart语言的基础,不建议直接学习Flutter。建议先学习Dart 语言的基本语法。然后再进入Flutter的学习。

        市面上已经有很多的混合App开发框架了,但是有些混合APP开发框架主要是针对前端开发者的:比如 ReactNative  (基于React)、  Ionic  (基于Angular、Vue、  React)。有些则是针对.Net平台针对.Net开 发者的比如:  Xamarin

        Flutter是谷歌基于Dart语言开发的一款跨平台的App开发框架。它针对的开发者是全部开发者。它的性 能相比RN、  Ionic这样的框架要更好一些。

        Flutter在2019年的时候就拥有了非常高的关注度。  Flutter目前已经非常稳定,并且社区也非常完善了, 应用市场中新发布的新 应用有进一半是Flutter开发的应用。  Flutter3.x以后不仅支持了Android Ios App的跨平台开发,还支持 了Web、Windows、  MacOs、  Linux桌面应用的跨平台开发。全球很多公司都已经在商业项目中使用    Flutter,比如Google、微软、阿里、字节、百度、京东等。  Flutter 在 Github Star 数已经有150万了, 在跨端框架中排名第一。据官方统计截止到2022年6月,已经有超过50万个商业应用程序是用Flutter建 立的。Flutter是一个非常值得学习的框架,Flutter不仅具有跨平台、高性能等特点,还具有稳定性的特点,从2018年12月5日发布的Flutter1.0到后面的所有版本用法都是一样的。

2 资源地址

        Flutter  官网:  https://flutter.dev/

        Flutter Packages官网:  https://pub.dev/

3 环境安装与配置

3.1 Windows上面搭建Flutter Android运行环境

3.1.1 电脑上面安装配置JDK

1、下载安装JDK

        https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、配置JDK

        1、系统变量 里面新增JAVA_HOME,设置值为java  sdk 根目录:

        2、系统变量 找到Path 在Path环境变量里面增加如下代码

        ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3.1.2 电脑上下载安装Android Studio

1、安装dart与flutter插件

3.1.3 电脑上面下载配置Flutter Sdk

1、下载Flutter SDK

        https://flutter.dev/docs/development/tools/sdk/releases#windows

2、把下载好的Flutter SDK随便减压到你想安装Sdk的目录

        如减压到  ( F:\flutter_windows\flutter_windows_3.0.4\flutter)

3、把 Flutter安装目录的bin目录配置到环境变量。

        如上图所示需要把F:\flutter_windows\flutter_windows_3.0.4\flutter\bin目录配置到path环境变量里 面

windows7:

windows10、windows11:

3.1.4 电脑上配置Flutter国内镜像

1、搭建环境过程中要下载很多资源文件,当一些资源下载不了的时候,可能会报各种错误。在国内访问 Flutter的时候有可能会受到限制。  Flutter官方为我们提供了国内的镜像

        https://flutter.dev/community/china

        https://flutter-io.cn/

2、拉到Flutter中文网最下面有配置方式,把下面两句配置到环境变量里面

        FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn

        PUB_HOSTED_URL: https://pub.flutter-io.cn

3、Flutter 社区镜像

        FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn

        PUB_HOSTED_URL: https://pub.flutter-io.cn

4、清华大学 TUNA 协会镜像

        FLUTTER_STORAGE_BASE_URL: https://mirrors.tuna.tsinghua.edu.cn/flutter 

        PUB_HOSTED_URL: https://mirrors.tuna.tsinghua.edu.cn/dart-pub

3.1.5 运行 flutter doctor命令检测环境是否配置成功,根据提示配置安装对应软件 打开Android Studio 安装Flutter插件

3.1.6 创建运行Flutter项目

3.2 Mac电脑搭建Flutter Ios环境

3.2.1 准备工作

        1、升级Macos系统为最新系统

        2、安装最新的Xcode

        3、电脑上面需要安装brew   https://brew.sh/

        4、安装chrome浏览器(开发web用)

3.2.2 下载Flutter、配置Flutter环境变量、配置Flutter镜像

1、下载Flutter SDK

        https://flutter.dev/docs/development/tools/sdk/releases?tab=macos

2、把下载好的Flutter SDK随便减压到你想安装Sdk的目录如

        /Users/axxxg/flutter_mac/flutte

3、把 Flutter安装目录的bin目录配置到环境变量,然后把Flutter国内镜像也配置到环境变量里面

        vim ~/.bash_profile

        vim ~/.zshrc

        export PATH=/Users/aishengwanwu/flutter_mac/flutter/bin:$PATH

        export PUB_HOSTED_URL=https://pub.flutter-io.cn

        export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

4、让配置环境变量生效

        source ~/.bash_profile

        source ~/.zshrc

        flutter --version  如果能出来版本说明flutter sdk配置成功。

        注意:如果配置完成后输入 flutter --version告诉你flutter不是内置命令之类的错误的话,可能sdk没 有配置成功,也可能sdk下载的时候没有下载全

5、运行flutter doctor 命令检测环境

        第一次运行 flutter doctor的时候会提示下面错误

6、配置Flutter Xcode Ios环境

        如果电脑上面没有安装 brew的话首先第一步需要安装brew

        https://brew.sh/

        终端执行下面命令

        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

分别执行下面命令

        brew install cocoapods

        pod setup

        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 

        sudo xcodebuild -runFirstLaunch

执行:

        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 

        sudo xcodebuild -runFirstLaunch

        注意:如果运行命令失败请运行  brew doctor并按照说明解决问题。

        执行完成上面命令后然后重新运行:   flutter doctor  如果出来下图表示ios的环境配置完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NLTK与StanfordNLP工具包结合使用

(一) 概述 1.NLTK NLTK是一款著名的python自然语言处理工具包,其内收集了NLP领域大量的公开数据集以及常用模型,涵盖了分词,词性标注,命名实体识别,句法分析,依存分析等各种NLP领域的子任务。 2.Stanfor…

【Linux】动静态库-概念制作

文章目录前置知识:库的命名C标准库动静态库安装C/C静态库完整的库需要的东西制作静态库制作使用一个小疑惑:制作动态库制作使用总结:前置知识: 一般库分为两种:动态库和静态库 静态库和动态库本质就是文件!也有inode 库的命名 库文件的命名一般为: libXXXXX.so 或…

基于部标JT808的车载视频监控需求与EasyCVR视频融合平台解决方案设计

一、方案背景 众所周知,在TSINGSEE青犀视频解决方案中,EasyCVR视频智能融合共享平台主要作为视频汇聚平台使用,不仅能兼容安防标准协议RTSP/Onvif、国标GB28181,互联网直播协议RTMP,私有协议海康SDK、大华SDK&#xf…

谷歌seo做的外链怎样更快被semrush识别

本文主要分享做谷歌seo外链如何能让semrush工具快速的记录并能查询到。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 谷歌seo做的外链怎样更快被semrush识别? 答案是:多使用semrush搜索目标网站可加速爬虫抓…

SOLIDWORKS Premium 2023 SP1.0 三维设计绘图软件

SOLIDWORKS 中文完美正式版提供广泛工具来处理最复杂的问题,并提供深层技术完成关键细节工作。新功能可助您改善产品开发流程,以更快地将创新产品投入生产。Solidworks 是达索公司最新推出的三维CAD系统,它可让设计师大大缩短产品的设计时间,让产品得以快速、高效地投向市场…

2023年/2024届 暑期实习 【汇总+更新】

文章目录百度2024届暑期实习生招聘米哈游2023春季校园招聘正式启动(含暑期实习)拼多多2024届暑期实习生招聘百度2024届暑期实习生招聘 百度2023届校园招聘春季补录仍在持续进行中,本周日(3月5日)截止网申,…

ARM基础

文章目录1.ARM成长史1.1 ARM发展的里程碑11.2 ARM发展的里程碑21.3 ARM发展的里程碑31.4 ARM发展的里程碑42.ARM的商业模式和生态系统3.先搞清楚各种版本号3.1 ARM 的型号命名问题3.2 ARM 的几种版本号3.3 ARM型号的发展历程4.SoC和CPU的区别 & 外设概念的引入4.1 SoC和CPU…

面试问到不会的技术问题?大小公司?程序员、校招面试技巧

大家好,欢迎来到停止重构的频道。本期我们分享一下程序员面试的相关经验。可能是3月离职高峰,又或者毕业生准备找工作的缘故,最近有一些朋友问我们关于面试方面的经验。问题五花八门:面试总是紧张?项目、工作经验怎么介…

2023功能测试真的没有出路了吗?不会自动化测试的我留下了悔恨的泪水...

直接抛出我的结论:手工做业务类测试,没有前途。10K的工资已经是天花板 个人建议赶紧从业务测试跳出来,立即学习代码,走自动化测试方向。目前趋势,业务测试需要用自动化做。 为了让大家能够信服我的观点,本…

python-爬虫-字体加密

直接点 某8网 https://*****.b*b.h*****y*8*.com/ 具体网址格式就是这样的但是为了安全起见,我就这样打码了. 抛出问题 我们看到这个号码是在页面上正常显示的 F12 又是这样就比较麻烦,不能直接获取.用requests库也是获取不到正常想要的 源码的,因为字体加密了. 查看页面源代码…

开发一个会员管理系统

背景 由于现在公司内客户量剧增, 简单的靠电话及笔记本记录,来维护客户有些困难,但又不想去花钱购买那些专业版的会员管理系统,只能自己动手撸一个相对简易的会员系统来使用了。 开发语言及使用技术 后端:java、mys…

滑动窗口(同向)同向双指针 leetcode713 3 1004 1234

同向双指针的理解 双指针从同一侧开始走一般是right进行无脑遍历,left控制边界(导致模板化)深刻理解题目概念以及**(right - left 1)** 的含义多思考画图 模板 class Solution { public:int numSubarrayProductLess…

NLP中一些工具列举

文章目录StanfordcoreNLPStanzaTankitspaCySuPar总结StanfordcoreNLP 这个老早就出来了,用java写的,但是已经有很多比他效果好的了。 Stanza 2020ACL发表的,看名字就知道和上一个是同一家的。 用已经切好词的句子进行依存分析。 这个功能…

百度“文心一言”携手酷开科技,实现AI智能领域新突破!

进入21世纪,AI人工智能一直都是讨论度非常高的话题之一,各行各业的领导者都开始在智能领域进行了初步探索,这也证明了AI人工智能在未来一定会在很大程度上影响我们的生活、工作。 近日,深圳市酷开网络科技股份有限公司成为百度文…

Kuangbin 线性DP 最大和加强加强版

呃呃,一道题写了我一下午4546. 最大和加强加强版 - AcWing题库题意:思路:首先这道题没有明显的阶段,因此状态设计不能按照阶段去设计我们按照题目给的量去设计状态:设dp[i][j]为考虑前i个数分为j组的最大可能和如果这样…

百度前端二面vue面试题指南

Vue 组件间通信有哪几种方式? ​ Vue 组件间通信是面试常考的知识点之一,这题有点类似于开放题,你回答出越多方法当然越加分,表明你对 Vue 掌握的越熟练。Vue 组件间通信只要指以下 3 类通信:父子组件通信、隔代组件通…

5个好用的视频素材网站

推荐五个高质量视频素材网站,免费、可商用,赶紧收藏起来! 1、菜鸟图库 视频素材下载_mp4视频大全 - 菜鸟图库 网站素材非常丰富,有平面、UI、电商、办公、视频、音频等相关素材,视频素材质量很高,全部都是…

Java——异常

目录 什么是异常 异常处理主要的5个关键字 异常的体系结构 异常语法 异常的分类 异常的处理流程 异常的处理 防御式编程 异常的抛出 throw的注意事项 异常的捕获 异常声明throws try-catch捕获处理 finally 自定义异常类 throw和throws区别 什么是异常 程序在运行时出现错…

什么情况下Java程序会产生死锁?如何定位、修复?

第18讲 | 什么情况下Java程序会产生死锁?如何定位、修复? 今天,我会介绍一些日常开发中类似线程死锁等问题的排查经验,并选择一两个我自己修复过或者诊断过的核心类库死锁问题作为例子,希望不仅能在面试时,…

NOC2021年测试卷1

一、单项选择题(共15题,每题3分,共45分) 1.下列应用不能体现人工智能技术的是()。 A、使用语音输入法输入文字B、使用OCR软件从图像中识别汉字C、某软件支持在线中英文互译D、某网站自动统计歌曲下载次数2.点击绿旗执行图中的脚本,若角色的坐标为 (25, 20) ,则说出的内…