App常用依赖管理工具

依赖管理

大到整个App,小到一个函数。只要是能够复用减少重复开发工作量, 就可以抽出为组件库, 以库或包的形式进行复用。

依赖管理工具关注组件或库的名称版本仓库源(本地或远程),在配置文件中声明依赖的库,以及库的版本,并管理依赖库的升级工作。

依赖管理主要功能

  1. 自动下载和更新:随着项目复杂度的提高,依赖数量庞大,自动下载和更新依赖,安装依赖能能带来开发效率的巨大提升。
  2. 使用可视化配置文件来进行库和版本管理
  3. 组件版本冲突:同时集成多个组件,组件间存在版本冲突的可能性,需要支持自动解决冲突功能。

下面介绍App开发中常用的依赖管理工具

CocoaPods

image.png 最流行的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

image.png

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

image.png Pub是FlutterDart开发中最常用的依赖管理工具,涵盖了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

image.png Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。

官网介绍页面

npm

image.png Node.js的包管理工具,它的诞生也极大的促进了前端的发展,在现代前端开发中都离不开npm的身影。

官网地址: npmjs

安装: 官网下载安装包

// 查看npm版本
npm -v
// 安装软件包
npm install <package_name>

RubyGems

image.png

Ruby的一个包管理器,它所管理的包或者依赖,我们称之为 gem。

rubygems

gem install nokogiri

Maven

image.png

Maven – Welcome to Apache Maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。

Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它提供了中央仓库,能帮我自动下载组件。

猜你喜欢

转载自juejin.im/post/7258182427306623035