iOS Herramientas del oficio

Introducción

Xcode, el entorno de desarrollo integrado de facto (IDE) para el desarrollo de iOS y OS X, es un software fantástico. Ofrece todo lo que un desarrollador de Cocoa necesita para pasar de una idea frágil a una aplicación exitosa en la App Store de Apple..

Sin embargo, existen numerosas herramientas y servicios que se han vuelto indispensables en el flujo de trabajo de muchos desarrolladores de Cocoa. En este artículo, resaltaré algunas de las herramientas que uso, así como algunas alternativas..

Fuente de control

En la comunidad Cocoa, Git es posiblemente el sistema de gestión de código fuente (SCM) más popular. Aunque el soporte de Xcode para Git mejora con cada lanzamiento, muchos desarrolladores de Cocoa prefieren una herramienta dedicada al soporte integrado de Xcode..


SourceTree

SourceTree es el cliente Git gratuito de Atlassian, disponible para OS X y Windows. También es compatible con Mercurial, pero la mayoría de los desarrolladores de Cocoa eligen para Git en la actualidad. SourceTree no solo es gratis, sino que es increíblemente poderoso y fácil de usar, incluso para personas que no están familiarizadas con Git.

El cliente Git de Atlassian se integra muy bien con Bitbucket, así como con GitHub y FogCreek's Kiln. SourceTree incluso lo ayuda con flujos de trabajo comunes, como Git-flow y Hg-flow. Incluso si juras por la línea de comandos, SourceTree hará que las operaciones complejas sean mucho más fáciles.

Torre

Durante años, Tower ha sido mi cliente preferido de Git. Es bellamente diseñado, potente y robusto. Ofrece la mayoría de las funciones que necesita a diario y se integra perfectamente con Beanstalk, GitHub y algunos de sus editores favoritos, como BBEdit y Coda..

La gente de Fournova, los creadores de Tower, han hecho un trabajo increíble con Tower y continúan sorprendiéndome con cada lanzamiento. Tower no es gratis, pero eso no debería impedirte descargar la versión de prueba y darle una vuelta.

Caleidoscopio

Black Pixel's Kaleidoscope es su mejor amigo cuando se trata de encontrar diferencias entre archivos y carpetas. El concepto puede parecer simple, pero en realidad no lo es..

Puede pensar que no vale la pena pagar por una aplicación de comparación de archivos como Kaleidoscope, pero lo desafío a intentarlo y se sorprenderá. Funciona muy bien y confío en su interfaz de usuario intuitiva y su potente funcionalidad de fusión..

GitHub

Existen varias plataformas para alojar repositorios de Git, pero GitHub es una de las opciones más populares. Es el hogar de numerosos proyectos de código abierto, como AFNetworking y CocoaPods..

Los repositorios públicos son gratuitos y los planes pagados son bastante económicos. Con más de 5 millones de usuarios y más de 11 millones de repositorios, GitHub se ha convertido en un jugador importante en el que muchos desarrolladores confían..

Codificación

AppCode

Xcode es el IDE de facto si se toma en serio el desarrollo de Cocoa. Sin embargo, JetBrains no se gradúa con esta afirmación y han puesto su dinero donde están creando su AppCode.

AppCode es la respuesta de JetBrains a las quejas de muchos desarrolladores que se sienten frustrados con Xcode. Es una herramienta impresionante por decir lo menos y puede usarse junto con Xcode. A pesar de que aún no ha llegado a la par con Xcode, hace un mejor trabajo en algunas de las funciones clave de Xcode, como la refactorización y la finalización de código..

Código de pintura

Conozco pocas personas que disfrutan escribiendo código de dibujo y estoy seguro de que al creador de PaintCode tampoco le gusta. PaintCode es una aplicación de dibujo vectorial que genera código Objective-C sobre la marcha.

PaintCode no solo le ahorrará tiempo, sino que le ayudará a depender menos de las imágenes para crear la interfaz de usuario de su aplicación. Esto hace que sea mucho más fácil mantener la interfaz de usuario de su aplicación flexible, dinámica y liviana.

Gestión de la dependencia

CocoaPods

Si eres un desarrollador de iOS o OS X y no estás usando CocoaPods, entonces lo estás haciendo mal. CocoaPods comenzó como un pequeño proyecto con un objetivo ambicioso. Se ha convertido en la solución de gestión de dependencia de facto para el desarrollo de Cocoa. La mayoría de las bibliotecas populares brindan soporte para CocoaPods e incluso las principales empresas, como Facebook y Square, admiten CocoaPods.

CocoaPods funciona increíblemente bien, es sorprendentemente robusto y está integrado en el Código de Aplicación de JetBrains, que mencioné anteriormente. CocoaPods hará que tu vida como desarrollador de Cocoa sea mucho más fácil. En serio, intentarlo. Me lo puedes agradecer después.

Distribución

Vuelo de prueba

No hace mucho tiempo, la distribución de compilaciones a los evaluadores era un dolor en el cuello, especialmente si los evaluadores no eran muy técnicos. TestFlight resolvió este problema creando una plataforma para la distribución aérea de compilaciones de prueba. Distribuir compilaciones a los probadores nunca ha sido tan fácil.

Aunque el aprovisionamiento de aplicaciones sigue siendo un gran obstáculo para los nuevos desarrolladores de Cocoa, la distribución ad hoc se ha vuelto mucho más fácil.

TestFlight también tiene una aplicación de escritorio para OS X para que la carga de una nueva versión en sus servidores sea aún más fácil. Detecta automáticamente cuando crea un nuevo archivo y le solicita que cargue la compilación en los servidores de TestFlight. Eso es lo que yo llamo distribución ad hoc indolora..

HockeyApp

HockeyApp es muy similar a TestFlight, ayuda a los desarrolladores a distribuir compilaciones a los evaluadores. Al igual que TestFlight, tiene la capacidad de recopilar informes de fallas con la simbolización del lado del servidor e incluye análisis para obtener una idea precisa de en qué dispositivos y configuraciones se prueban sus aplicaciones..

Al igual que TestFlight, HockeyApp tiene una API maravillosa. Con la API HockeyApp, incluso puede obtener informes de errores y actualizar los perfiles de aprovisionamiento.

Complementos Xcode

Alcatraz

Alcatraz es un gestor de paquetes para Xcode. Dígale adiós a la copia manual de archivos en algún directorio oscuro. Instalar complementos o combinaciones de colores con Alcatraz es cuestión de hacer clic en un botón.

Alcatraz mantiene una lista de complementos, plantillas y combinaciones de colores, que puede buscar e instalar con un clic de un botón. Al momento de escribir, Alcatraz no es totalmente compatible con Xcode 5, pero no dejes que eso te impida intentarlo..

Depuración

Revelar

El objetivo de Reveal es simple pero impresionante, le permite inspeccionar y manipular la jerarquía de vistas de su aplicación en el tiempo de ejecución. Cuanto más uso Reveal, más aprecio y descubro su poder y capacidades.

Permite inspeccionar la jerarquía de vistas de su aplicación en dos y tres dimensiones, modificar las propiedades de las vistas individuales e incluso ampliar un subconjunto de vistas para facilitar la depuración. Revelar no es gratis, pero vale cada centavo..

Charles

Charles es una de esas herramientas que muchas personas aman una vez que comienzan a usarla. Es una herramienta multiplataforma para monitorear el tráfico de red. ¿Por qué sería útil para un desarrollador de cacao? Desde el momento en que su aplicación necesite hablar con un servicio web, verá inmediatamente el beneficio de una herramienta como Charles.

En lugar de preguntarse por qué una solicitud está devolviendo un 404, simplemente inspecciona la solicitud en Charles para ver si está enviando los encabezados correctos con la solicitud. Charles admite SSL, le permite filtrar el tráfico e incluso puede simular una conexión de red lenta.

SimPholders

La mayoría de los desarrolladores de iOS prueban sus aplicaciones en el simulador de iOS, especialmente en las primeras etapas de desarrollo. Esto significa que a veces es necesario navegar por el sandbox de una aplicación. Claro, puedes abrir el Finder y navegar a ~ / Library / Application Support / iPhone Simulator / 7.0.3 / Applications / 56A57F3E-CF48-47F6-BAE8-B8541BCEC13B /. De Verdad?

SimPholders es una pequeña aplicación que vive en tu barra de menú. Le brinda acceso rápido a los espacios limitados de las aplicaciones que ha instalado en el simulador de iOS. Hazte un favor y toma una copia de SimPholders. Es gratis.

Supervisión del rendimiento

Crashlytics

TestFlight y HockeyApp tienen la capacidad de recopilar informes de fallos para ti, pero el único objetivo de Crashlytics es recopilar y analizar los fallos, y eso se nota. Crashlytics es un servicio gratuito y es compatible con iOS y Android..

No solo recopila y simboliza informes de fallas, sino que también inspecciona y analiza las fallas. El resultado es que lo muestra y le muestra la gravedad de un problema, lo que le ayuda a priorizar las correcciones de errores. La aplicación de escritorio Crashlytics detecta automáticamente cuando se crea un nuevo archivo y carga automáticamente el archivo dSYM del archivo para que pueda simbolizar cualquier informe de bloqueo entrante.

Crittercism

Crittercism va un paso más allá que Crashylitics al combinar análisis, informes de fallas y rendimiento de aplicaciones. El resultado es un servicio que permite a los desarrolladores ajustar sus aplicaciones, detectar cuellos de botella críticos y priorizar las correcciones de errores. Es compatible con iOS, Android, Windows Phone y aplicaciones web..

Conclusión

Esta lista no es de ninguna manera definitiva. Hay muchas más herramientas y servicios que hacen que la vida de un desarrollador de iOS sea más fácil y más placentera o menos frustrante. ¿Qué herramientas y servicios usas para el desarrollo de iOS??