App常用依赖管理工具
依赖管理
大到整个App,小到一个函数。只要是能够复用减少重复开发工作量, 就可以抽出为组件库, 以库或包的形式进行复用。
依赖管理工具关注组件或库的名称
、版本
、仓库源
(本地或远程),在配置文件中声明依赖的库,以及库的版本,并管理依赖库的升级工作。
依赖管理主要功能
- 自动下载和更新:随着项目复杂度的提高,依赖数量庞大,自动下载和更新依赖,安装依赖能能带来开发效率的巨大提升。
- 使用可视化配置文件来进行库和版本管理
- 组件版本冲突:同时集成多个组件,组件间存在版本冲突的可能性,需要支持自动解决冲突功能。
下面介绍App开发中常用的依赖管理工具
CocoaPods
最流行的iOS/MacOS项目依赖管理器, 使用 Ruby 构建的, 支持
XCode
开发工具。
官网地址: Cocoapods
使用如下命令安装
sudo gem install cocoapods
配置文件 Podfile
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'AFNetworking', '~> 3.2'
pod 'FMDB', '~> 2.7'
pod 'SwiftyJSON', '~> 4.1'
end
运行如下命令安装依赖
pod install
Gradle
Java、Kotlin C++
或您选择的任何语言编写。可在任何平台上部署的软件包管理工具。
使用 Gradle 丰富的 API 和成熟的插件和集成生态系统,实现自动化。对软件的端到端交付进行建模、集成和系统化
支持如下开发工具:
- Android Studio
- IntelliJ IDEA
- Eclipse
- NetBeans
Google介绍文档: Gradle
配置文件: build.gradle
plugins {
id 'com.android.application' // Android程序
id 'org.jetbrains.kotlin.android' // 支持Kotlin
}
android {
namespace 'com.baidu.gradlex'
compileSdk 32
defaultConfig { // App信息
applicationId "com.baidu.gradlex"
minSdk 23
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies { // 依赖库
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
pub
Pub是
Flutter
和Dart
开发中最常用的依赖管理工具,涵盖了Flutter开发常用的各类插件,方便开发者快速引入并复用。
官网地址: flutter pub cn
安装: Flutter 插件自带
配置文件: pubspec.yaml
name: flutter_luckin_coffee
description: flutter luckin coffee application
version: 1.0.0+1
environment:
sdk: ">=2.10.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.4
flutter_swiper: 1.1.6
pull_to_refresh: ^2.0.0
json_annotation: ^4.5.0
dart_mock: ^2.0.0
get: ^4.6.3
dev_dependencies:
flutter_test:
sdk: flutter
test: any
build_runner: ^2.1.11
json_serializable: ^6.2.0
flutter:
uses-material-design: true
assets: // 图片资源
- lib/assets/images/
- lib/assets/images/home/
- lib/assets/images/menu/
- lib/assets/images/mine/
- lib/assets/images/order/
下载和更新 pub 库
flutter pub get
flutter pub upgrade
brew
Homebrew 是一款自由及开放源代码的软件包管理系统,由 Max Howell 使用 Ruby 语言编写,用以简化macOS系统上的软件安装过程。在早期,Homebrew 只有 MacOS 版本,后来又推出了 Linux 版本。
官网地址: github
安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
下载安装软件包
brew search 关键词 // 搜索软件包
brew install 软件名 // 安装
pip
Python
包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
npm
Node.js
的包管理工具,它的诞生也极大的促进了前端的发展,在现代前端开发中都离不开npm的身影。
官网地址: npmjs
安装: 官网下载安装包
// 查看npm版本
npm -v
// 安装软件包
npm install <package_name>
RubyGems
Ruby
的一个包管理器,它所管理的包或者依赖,我们称之为 gem。
gem install nokogiri
Maven
Maven – Welcome to Apache Maven
Maven项目对象模型(POM
),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。
Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它提供了中央仓库,能帮我自动下载组件。
转载自:https://juejin.cn/post/7258182427306623035