Flutter | 包管理

简介: Flutter | 包管理

在日常开发中,很多时候需要用到第三方的 SDK ,这些 SDK 可能会被很多个项目用到,因此可以将这些代码单独抽到一个模块中,使用的时候只需要集成对于的模块即可,


在 Java 中,模块会被打成一个 jar 包


在 Android 中,模块会被打成一个· aar 包


一个 app 在开发的过程中可能会依赖非常多的包,这些包通常都会出现交叉依赖,版本依赖等,如果需要手动管理,则会非常麻烦,因此,各种编程语言的官方都会提供一下包管理工具,如:


在 Android 中提供了 Gradle 来管理依赖


在 IOS 中用 Cocoapods 或者 Carthage 来管理依赖


而在 Flultter 中,使用的是 yaml 文件作为其配置文件,全名 pubspec.yaml


pubspec.yaml


name: flutter_study
description: A new Flutter application.
publish_to: 'none'
version: 1.0.0+1
environment:
  sdk: ">=2.7.0 <3.0.0"
dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0
dev_dependencies:
  flutter_test:
    sdk: flutter
flutter:
  uses-material-design: true


name :应用或者包名称

description:应用或包的描述,简介

version:应用或包的版本号

environment:环境版本

dependencies:应用或包导入的其他包或者插件

dev_dependencies:开发环境依赖的工具包(而不是 flutter 本身依赖的包)

flutter:flutter 相关配置选项


Pub 仓库


Pub 是 Google 官方的 Dart Packages 仓库,类似于 android 中的 jcenter ,我们可以在 Pub 上面查找我们需要的包和插件,也可以想 Pub 发布我们的包和插件


示例:


在 Pub 上找到一个随机字符串的 widget,并确定最新版本号和是否支持 flutter,


添加依赖


dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0
  english_words : ^3.1.5


同步代码 pub Get


dev_dependencies


dev_dependencies 的依赖包只是作为开发阶段的一个工具包,主要是用于帮助我们提高开发,测试效率,等,例如 flutter 自动化测试等


dependencies 会将依赖包作为 app 源码的一部分并参与编译,生成最后的安装包


使用 english_words 包生成随机字符串


class RandomWordsWidget extends StatelessWidget {
  final wordPair = new WordPair.random();
  @override
  Widget build(BuildContext context) {
    return Padding(
        padding: const EdgeInsets.all(8.0),
        child: new Text(wordPair.toString()));
  }
}


将上面的 widget 添加到界面中


点击热重载按钮,每次都会随机生成不同的单词


其他依赖方式


依赖本地包


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


如果我们真正本地开发一个包,名字为 pkg1,可以通过上面的方式依赖,路径可以相对,也可以绝对


依赖 git


//git方式
dependencies:
  flutter_easyrefresh:
    git:
      url: git://github.com/xuelongqy/flutter_easyrefresh.git


flutter_easyrefresh:依赖的项目名称
dependencies:
  kittens:
    git: git@github.com:munificent/kittens.git
    path: flutterpackagename


依赖git仓库下的某个flutter package


Flutter 项目目录结构


android


flutter 与 android 原生交互的一些代码


ios


flutter 与 ios 原生交互的一些代码


lib


这里存放的是 dart 语言编写的代码,并且是项目中最核心的代码,我们主要编写的代码就是在这个文件夹


pubspec.yaml


这里是配置依赖项的文件,例如远程的 pub 仓库,git 仓库等


相关文章
|
存储 IDE Java
Flutter(九)——Drawer侧滑菜单与包管理
Flutter(九)——Drawer侧滑菜单与包管理
419 0
|
7天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
1天前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
100 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
3月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
7天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
9天前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
|
8天前
|
JavaScript 前端开发 Linux
flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈
flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈
|
2月前
|
开发框架 Dart 前端开发
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。本文从 Flutter 简介、特点、开发环境搭建、应用架构、组件详解、路由管理、状态管理、与原生代码交互、性能优化、应用发布与部署及未来趋势等方面,全面解析 Flutter 技术,助你掌握这一前沿开发工具。
98 8
|
2月前
|
存储 JavaScript 前端开发
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战。本文介绍了几种常用的状态管理框架,如Provider和Redux,分析了它们的基本原理、优缺点及适用场景,并提供了选择框架的建议和使用实例,旨在帮助开发者提高开发效率和应用性能。
49 4

热门文章

最新文章

  • 1
    鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
  • 2
    【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
  • 3
    【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
  • 4
    flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈
  • 5
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 6
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    程序员必下20本电子书:Java手册、Flutter最佳实践、AIoT开发手册... | 1024程序员节技术礼包之二
  • 8
    Flutter 61: 图解基本 Button 按钮小结 (一)
  • 9
    打通前后端逻辑,客户端Flutter代码一天上线
  • 10
    Flutter新锐专家之路:混合开发篇