Quali sono alcune librerie open-source che ogni sviluppatore iOS dovrebbe conoscere? Possiamo creare un wiki di risposte con questo sforzo.

Ecco 10 librerie che pensiamo ogni sviluppatore iOS dovrebbe conoscere!

1. Alamofire

Quando volete astrarre e semplificare il networking nella vostra app, Alamofire è la strada da seguire. Alamofire è una libreria di rete HTTP, costruita sopra NSURLSession e il Foundation URL Loading System. Avvolge piacevolmente i meccanismi di rete in un'elegante e semplice interfaccia Swift.

2. SwiftyJSON

I tipi espliciti in Swift ci assicurano che non facciamo errori nel nostro codice e non causiamo bug a causa loro. Ma a volte è piuttosto doloroso averci a che fare, specialmente quando si lavora con JSON. Fortunatamente, SwiftyJSON è qui per aiutarci a trattare i dati JSON in Swift in un modo più leggibile. L'unwrapping opzionale è gestito automaticamente per voi!

SwiftyJSON gioca anche molto bene con Alamofire.

3. ObjectMapper

Se avete mai scritto un'app che scarica informazioni tramite un'API, probabilmente avete passato molto tempo a scrivere un codice per mappare una risposta ai vostri oggetti. ObjectMapper vi aiuta a convertire una risposta JSON nel vostro oggetto modello, e viceversa. In altre parole, vi aiuta a mappare JSON in oggetti, e gli oggetti in JSON. Sono supportati anche gli oggetti annidati.

Va anche menzionato AlamofireObjectMapper, un'estensione di Alamofire che converte i dati di risposta JSON in oggetti Swift quando si usa ObjectMapper.

4. Quick

Quick è un framework di sviluppo behavior-driven per Swift, ispirato daRSpec, Specta e Ginkgo. Quick viene fornito con Nimble, che è un framework matcher per i tuoi test.

5. Eureka

Eureka ti aiuta a scrivere moduli dinamici con visualizzazione a tabella in modo semplice ed elegante. Consiste di righe, sezioni e moduli. Se la vostra applicazione contiene molti moduli, Eureka si dimostra un vero risparmio di tempo.

6. RxSwift

RxSwift è un framework Swift per la programmazione funzionale reattiva. Per essere più specifici, RxSwift è una versione Swift di Rx e il suo obiettivo è quello di consentire una facile composizione di operazioni asincrone e flussi di eventi/dati. L'osservazione KVO, le operazioni asincrone e i delegati sono tutti unificati sotto l'astrazione della sequenza, che rende RxSwift un framework così potente. Se avete mai lavorato con ReactiveCocoa, il concetto vi è familiare.

7. SnapKit

SnapKit è una libreria di auto layout che semplifica la scrittura di auto layout nel codice con una quantità minima di codice necessario senza perdere leggibilità. È sicura per tipo per aiutarti ad evitare errori di programmazione mentre codifichi la tua interfaccia utente.

8. Spring

Spring è una libreria di animazione che ti aiuta a creare animazioni sia nel codice che direttamente in Storyboard. Puoi creare animazioni in Storyboard usando gli attributi di runtime (impostati attraverso le proprietà IBInspectable). Spring è cresciuta fino a diventare una libreria di animazione completamente sviluppata che supporta un buon numero di animazioni, transizioni e proprietà già scritte.

9. Kingfisher

Kingfisher è una libreria leggera per il download e il caching di immagini dal web. Il download e la memorizzazione nella cache sono fatti in modo asincrono. Le immagini scaricate sono memorizzate nella cache sia nella memoria che nel disco, il che potrebbe migliorare molto l'esperienza dell'applicazione.

10. CoreStore

CoreStore è una libreria wrapper per Core Data. Il suo obiettivo è quello di fornire la sicurezza dei tipi e l'eleganza di Swift quando si interagisce con Core Data. L'API di CoreStore fornisce tutti i metodi comuni per interagire efficacemente con il vostro database.