Flutter学习四:Flutter开发基础(四)包管理

这篇具有很好参考价值的文章主要介绍了Flutter学习四:Flutter开发基础(四)包管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

0 引言

1 包管理

1.1 简介

1.2 Pub仓库

1.3 依赖Pub仓库

1.3.1 查找包

 1.3.2 添加包

1.3.3 下载包

1.3.4 引入包

 1.3.5 使用包

1.4 其他依赖方式

1.4.1 依赖本地包

1.4.2 依赖git仓库

1.4.3 不常用的依赖方式


0 引言

本文是对第二版序 | 《Flutter实战·第二版》 (flutterchina.club)的学习和总结。

1 包管理

1.1 简介

  • 在软件开发中,很多时候有一些公共的库或 SDK 可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率。
  • 很多编程语言或开发工具都支持这种“模块共享”机制,如 Java 语言中这种独立模块会被打成一个 jar 包,Android 中的 aar 包,Web开发中的 npm 包等。
  • 为了方便表述,我们将这种可共享的独立模块统一称为“包”( Package)。
  • 一个 App 在实际开发中往往会依赖很多包,而这些包通常都有交叉依赖关系、版本依赖等,如果由开发者手动来管理应用中的依赖包将会非常麻烦。
  • 因此,各种开发生态或编程语言官方通常都会提供一些包管理工具,比如在 Android 提供了 Gradle 来管理依赖,iOS 用 Cocoapods 或 Carthage 来管理依赖,Node 中通过 npm 等。
  •  在Flutter 中用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包。

Flutter 项目默认的配置文件是pubspec.yaml,配置文件中字段的意义如下:

  • name:应用或包名称。
  • description: 应用或包的描述、简介。
  • version:应用或包的版本号。
  • dependencies:应用或包依赖的其他包或插件。
  • dev_dependencies:开发环境依赖的工具包(而不是flutter应用本身依赖的包)。
  • flutter:flutter相关的配置选项。

如果我们的Flutter应用本身依赖某个包,我们需要将所依赖的包添加到dependencies 下。

注意:dependenciesdev_dependencies的区别:

  • dependencies的依赖包将作为App的源码的一部分参与编译,生成最终的安装包。
  • dev_dependencies的依赖包只是作为开发阶段的一些工具包,主要是用于帮助我们提高开发、测试效率,比如 flutter 的自动化测试包等。

配置文件pubspec.yaml 示例:

name: flutter_in_action
description: First Flutter Application.

version: 1.0.0+1

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter
    
flutter:
  uses-material-design: true

1.2 Pub仓库

  • Pub(https://pub.dev/)是 Google 官方的 Dart Packages 仓库
  • 类似于 node 中的 npm仓库、Android中的 jcenter
  • 可以在 Pub 上面查找我们需要的包和插件
  • 也可以向 Pub 发布我们的包和插件

1.3 依赖Pub仓库

1.3.1 查找包

首先在 pub 上找到 english_words 这个包,确定其最新的版本号和是否支持 Flutter。

flutter 包管理,Flutter,flutter,学习

flutter 包管理,Flutter,flutter,学习

 1.3.2 添加包

  将“english_words” 添加到项目根目录pubspec.yaml文件内的依赖项列表中:

dependencies:
  flutter:
    sdk: flutter
  # 新添加的依赖
  english_words: ^4.0.0

1.3.3 下载包

在Android Studio的编辑器视图中查看pubspec.yaml时,单击右上角的 Pub get ,下载包。

flutter 包管理,Flutter,flutter,学习

1.3.4 引入包

引入english_words包。在输入时,Android Studio会自动提供有关库导入的建议选项。导入后该行代码将会显示为灰色,表示导入的库尚未使用。

import 'package:english_words/english_words.dart';

 1.3.5 使用包

使用english_words包来生成随机字符串。

class RandomWordsWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   // 生成随机字符串
    final wordPair = WordPair.random();
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: Text(wordPair.toString()),
    );
  }
}



/*
将RandomWordsWidget 添加到 _MyHomePageState.build 的Column的子widget中。
*/
Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    ... //省略无关代码
    RandomWordsWidget(),
  ],
)

1.4 其他依赖方式

1.4.1 依赖本地包

如果我们正在本地开发一个包,包名为pkg1,我们可以通过下面方式依赖:

路径可以是相对的,也可以是绝对的。

dependencies:
	pkg1:
        path: ../../code/pkg1

1.4.2 依赖git仓库

也可以依赖存储在git仓库中的包。

如果软件包位于git仓库的根目录中,请使用以下语法:

dependencies:
  pkg1:
    git:
      url: git://github.com/xxx/pkg1.git

如果软件包不是位于git仓库的根目录中,可以使用path参数指定相对位置,例如:

dependencies:
  package1:
    git:
      url: git://github.com/flutter/packages.git
      path: packages/package1       

1.4.3 不常用的依赖方式

还有一些其他不常用的依赖方式,查看:https://www.dartlang.org/tools/pub/dependencies

 文章来源地址https://www.toymoban.com/news/detail-523374.html

到了这里,关于Flutter学习四:Flutter开发基础(四)包管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter的状态管理学习

    1.flutter widget分类 组合 渲染 代理 2. 代理组件又分为 Positioned向父组件传递数据 InheritedWidget向子组件传递数据 3. 状态 state 数据 状态就是用到了向子组件传递数据,并且需要刷新的时候刷新组件 4. 刷新 数据变化 获取并在改变的时候会导致刷新 dependOnInheritedWidgetOfExactType 只获

    2024年01月25日
    浏览(42)
  • Flutter教程之 Flutter 开发者的终极 Hive 数据库管理工具

    作为 Flutter 开发人员,您知道 Hive 是一个功能强大、轻量级且易于使用的键值数据库,适用于您的 Flutter 应用程序。但是管理 Hive 数据库可能有点棘手,尤其是当您使用多个框和表时。这就是为什么我很高兴地宣布推出Flutter 的原因hive_ui,这是一个新的 Flutter 包,可以让您轻

    2024年02月09日
    浏览(50)
  • 【Flutter 开发实战】Dart 基础篇:List 详解

    嗨,各位朋友们,欢迎来到这篇博客!今天我们将一起踏入 Dart 语言的神奇世界,深入了解 Dart 中的 List 类型。不用担心,我会尽可能用最通俗易懂的语言,让你对 List 有一个更深刻的理解。 List - 让数据变得有趣! 在 Dart 语言中,List 就像一个神奇的盒子,可以放进去各种

    2024年01月21日
    浏览(50)
  • 从零基础到精通:Flutter开发的完整指南

    💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Flutter是一种跨平台的移动应用开发框架,它允许开发者使用单一代码库构建高性能

    2024年02月05日
    浏览(54)
  • flutter学习-day9-基础组件

    本文学习和引用自《Flutter实战·第二版》:作者:杜文 Text:用于显示简单样式文本,它包含一些控制文本显示样式的一些属性: TextStyle:用于指定文本显示的样式如颜色、字体、粗细、背景等: TextSpan:代表文本的一个片段,可对一个 Text 内容的不同部分按照不同的样式显

    2024年02月04日
    浏览(39)
  • 【赠书第7期】从零基础到精通Flutter开发

    文章目录 前言 1 安装Flutter和Dart 2 了解Flutter的基础概念 2.1 Widget 2.2 MaterialApp和Scaffold 2.3 Hot Reload 3 编写你的第一个Flutter应用 3.1 创建一个Flutter项目 3.2 修改默认页面 3.3 添加交互 4 深入学习Flutter高级特性 4.1 路由和导航 4.2 状态管理 4.3 自定义Widget 4.4 网络请求 4.5 动画 5 实战项

    2024年02月05日
    浏览(38)
  • 【Flutter 开发实战】Dart 基础篇:条件循环表达式

    Dart 是一门强大的编程语言,其条件和循环表达式在编写灵活、高效代码中起着关键作用。本文将深入介绍 Dart 中的条件表达式、循环表达式、以及如 for 、 while 、 do...while 、 break 、 continue 等内容,旨在为初学者提供清晰的指导。 Dart 中的条件表达式主要通过 if 语句

    2024年02月01日
    浏览(51)
  • 从零基础到精通Flutter开发:一步步打造跨平台应用

    💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 导言 Flutter是一种流行的开发框架,可以用来构建美观、高性能且跨平台的移动应

    2024年02月08日
    浏览(68)
  • 【送书福利-第二十三期】《从零基础到精通Flutter开发》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月06日
    浏览(40)
  • 【Flutter·学习实践·UI篇】基础且重要的UI知识

    参考学习官网:《Flutter实战·第二版》  学习前先记住:Flutter 中万物皆为Widget,心中默念3次以上铭记于心。 这一点和开发语言Dart的变量一切皆是对象的概念,相互对应。 在前面的介绍中,我们知道在Flutter中几乎所有的对象都是一个 widget 。与原生开发中“控件”不同的是

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包