Nuke

 
 

Bibliothèque Swift Open Source pour l'édition et le traitement d'images

API Swift gratuite qui permet de personnaliser le pipeline d'images, de redimensionner les images, d'utiliser un processeur personnalisé, d'arrondir les coins des images, de télécharger et d'encaisser des images, etc.

Nuke est un cadre de commutation de source ouverte très utile qui permet aux concepteurs de logiciels de charger facilement et d'afficher des images à l'intérieur de leurs propres applications Swift. Il ne faut qu'une ligne de code pour télécharger et afficher des images dans vos pommes. La bibliothèque a également apporté son soutien à plusieurs éléments avancés tels que la présentation d'images et le décodage progressif qui peuvent améliorer considérablement le rendement de l'app.

L'API Nuke est très facile à utiliser et possède une architecture très avancée qui permet aux développeurs de logiciels de penser à des possibilités pratiquement illimitées de traitement et de personnalisation des images. Il a inclus une prise en charge intégrée des formats d'image de base tels que JPEG, PNG, HEIF et bien d'autres. Il prend également en charge l'encodage et le décodage d'images à l'aide du code Swift.

La bibliothèque est très riche en caractéristiques et comporte plusieurs caractéristiques importantes pour la manipulation de ses images à l'aide de commandes, d'images de chargement, d'images personnalisées, d'images en russe

Previous Next

Premiers pas avec Nuke 

La méthode recommandée pour installer Nuke consiste à utiliser CocoaPods. Veuillez ajouter les lignes suivantes à votre Podfile

Installez Nuke via CocoaPods.

pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional

Clonez les dernières sources à l'aide de la commande suivante.

Installez Nuke via GitHub.

$ git https://github.com/kean/Nuke.git 

Télécharger et utiliser des images avec Swift

L'API Nuke open source offre un moyen bien organisé et efficace de télécharger et d'utiliser des images dans vos applications Swift. Pour récupérer les images, vous devez transmettre l'URL de l'image requise, puis appeler la méthode de reprise. Il téléchargera l'image demandée en arrière-plan et informera la fermeture de la réponse une fois celle-ci terminée.

Visualiser les images en différents temps à l'intérieur des appareils de balayage

// Load images directly using Async/Await
func loadImage() async throws {
    let response = try await pipeline.image(for: url, delegate: self)
}
// Use UI components provided by NukeUI mode
struct ContainerView: View {
    var body: some View {
        LazyImage(url: URL(string: "https://example.com/image.jpeg"))
    }
} 

Image de préfect utilisant le poste API

Le préfettage est une caractéristique très utile qui permet aux utilisateurs de télécharger l'image ou d'autres données à l'avance en prévision de son utilisation. Les pommes peuvent le télécharger et le stocker dans la cache de réseau de la demande. Plus tard, lorsque vous devez visionner l'image, la réponse à votre demande reviendra de la cache plutôt que du réseau. La source ouverte API Nuke a inclus le soutien d'une caractéristique passionnante connue sous le nom d'images préfabriquées en utilisant le code Swift. Rappelez-vous que la préfécusion peut prendre les données des utilisateurs et exercer une pression supplémentaire sur l'UPC et la mémoire. Pour réduire cette pression, vous ne pouvez choisir que la cache de disques comme destination de préfettage.

Préfect Cache GitHub en utilisant le poste API

inal class PrefetchingDemoViewController: UICollectionViewController {
    private let prefetcher = ImagePrefetcher()
    private var photos: [URL] = []
    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView?.isPrefetchingEnabled = true
        collectionView?.prefetchDataSource = self
    }
}
extension PrefetchingDemoViewController: UICollectionViewDataSourcePrefetching {
    func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.startPrefetching(with: urls)
    }
    func collectionView(_ collectionView: UICollectionView, cancelPrefetchingForItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.stopPrefetching(with: urls)
    }
} 

Charger et encaisser des images via Swift

La mise en cache des images est une méthode très utile qui améliore les performances des applications et l'expérience de l'utilisateur final. L'API Nuke open source permet aux applications logicielles de mettre automatiquement en cache les images téléchargées. Nuke s'appuie sur deux couches de mise en cache intégrées. Le premier est utilisé pour stocker l'image traitée, qui est prête à être affichée. Il utilise l'algorithme LRU - les entrées les moins récemment utilisées sont supprimées en premier pendant le balayage. Le 2ème utilise le cache de disque HTTP pour stocker les données d'image non traitées. Il est également possible de vérifier l'existence de l'image demandée dans le cache.

Read/Write Images dans la mémoire ou les caches de disques par balle API

let cache = pipeline.cache
let request = ImageRequest(url: URL(string: "https://example.com/image.jpeg")!)
cache.cachedImage(for: request) // From any cache layer
cache.cachedImage(for: request, caches: [.memory]) // Only memory
cache.cachedImage(for: request, caches: [.disk]) // Only disk (decodes data)
let data = cache.cachedData(for: request)
cache.containsData(for: request) // Fast contains check 
// Stores image in the memory cache and stores an encoded
// image in the disk cache
cache.storeCachedImage(ImageContainer(image: image), for: request)
cache.removeCachedImage(for: request)
cache.removeAll() 
 Français