10 librerías open source que todo desarrollador iOS debe conocer
A la hora de desarrollar aplicaciones es muy importante tener una estrategia en mente y no malgastar nuestro tiempo en desarrollar algoritmos y piezas de código que están ya disponibles en plataformas como Github, BitBucket y que fácilmente podemos integrar en nuestro proyecto utilizando CocoaPods.
Entre las ventajas de utilizar librerías encontramos el hecho de que suelen ser mantenidas, mejoradas y testadas por la comunidad; una comunidad numerosa y globalizada que se sirve de estas librerías diariamente. Esto nos ofrece una garantía: cualquiera de estas librerías estará libre de errores graves de seguridad, problemas con el manejo de recursos, etc. De haberlos, estos serían subsanados.
Hoy en GeekyTheory hemos hecho una recopilación de las 10 librerías que todo desarrollador iOS debe conocer; aquellas que lo pueden cambiar todo en tu aplicación.
Alamofire
Vamos encaminados a un mundo en el que estar conectados a esa gran red llamada Internet lo es todo. Cuando conectamos nuestra aplicación a Internet, nos comunicamos con los servidores mediante el protocolo HTTP. Generalmente mediante peticiones GET y POST.
Alamofire es una librería que simplifica enormemente este proceso de comunicación para hacerlo fácil y seguro.
Ahí tenemos un ejemplo de una petición GET con Alamofire.
Link a la librería en Github
SwiftyJSON
Acabamos de mostrar un ejemplo de cómo hacer una petición GET a un servidor con Alamofire. Pero, ¿cómo interpretamos la respuesta que nos devuelve?
Los servidores generalmente devuelve la información en formato JSON o XML. SwiftyJSON es una librería que se encarga de interpretar la respuesta en JSON devuelta por el servidor. Este proceso lo podríamos entender cómo convertir los Objetos JSON en Objetos de Swift, Arrays JSON en Arrays de Swift, etc.
Podemos observar la diferencia entre interpretar JSON sin la librería y con ella. Menos líneas de código, mayor legibilidad y sintaxis mejorada.
Link a la librería en Github
ObjectMapper
Cuando te sirves de una API para descargar datos en tu aplicación, estos datos vienen en formato JSON tal cómo hemos explicado anteriormente. ObjectMapper es una librería extremadamente útil en aquellos casos en que los datos que estamos descargando se interpretarán directamente en una clase.
Tomemos como ejemplo que estamos haciendo una app que muestra coches, tendríamos una clase llamada coche con los siguientes valores: nombre, modelo, imagen-url. La estructura del JSON sería la siguiente:
Finalmente utilizando ObjectMapper mapeamos todos los datos a nuestra clase de la siguiente forma:
Link a la librería en Github
Eureka
Todos los datos que anteriormente hemos aprendido a interpretar y convertir a clases de Swift, normalmente la finalidad de descargar esos datos es mostrarlos en una TableView. Eureka es una librería que te ayuda mucho de crear esas TableView y popularlas con los datos anteriormente recibidos.
Link a la librería en Github
SnapKit
SnapKit simplifica el diseño de interfaces gráficas. Permite de una forma elegante y sencilla declarar constraints mediante código.
Link a la librería en Github
Spring
Spring te permite crear animaciones, que llevarán la interfaz gráfica y experiencia de usuario de tu aplicación al siguiente nivel. Como siempre, de una forma intuitiva, elegante y sencilla.
Link a la librería en Github
KingFisher
Una librería que te permite descargar y almacenar en caché imágenes de Internet. Tiene muy poco impacto sobre todo a nivel de memory consumption, lo cual es importantísimo tener en cuenta a la hora de desarrollar una aplicación.
Link a la librería en Github
CoreStore
Una librería que mejora la seguridad y la elegancia de Core Data.
Link a la librería en Github
Chameleon
Chameleon hace crecer exponencialmente las posibilidades de crear una UI de 10. Añade colores a la librería UIColor por defecto de Swift. Además nos permite crear color palettes.
Link a la librería en Github
Quick
Algo que muy pocos programadores hacen es Unit Testing, ese gran desconocido de vital importancia para garantizar la perfecta funcionalidad de nuestra app. Quick es una robusta librería que simplifica el proceso de testear nuestra aplicación.
Link a la librería en Github
¿Conocéis alguna librería que consideréis imprescindible para desarrollar aplicaciones en iOS? Podéis dejarla en un comentario.