Entorno de Desarrollo en macOS

En esta guía vamos a configurar nuestro entorno de desarrollo en macOS. El enfoque nuestro es hacia Swift y Xcode, pero aún así mucho de lo que comentaré será también válido para desarrolladores de otras tecnologías.

Entorno Inicial

Vamos a asumir que nos domina un interés por el lenguaje de desarrollo Swift y la creación de aplicaciones iOS, iPadOS, macOS, watchOS y tvOS.

También damos por conocido que Xcode es el IDE oficial de este lenguaje y por ende es el que usaremos para desarrollar nuestras aplicaciones.

Instalar y Ejecutar Xcode

Acto seguido abrimos la App Store, buscamos Xcode y lo instalamos.

Habrán casos donde no sea necesario instalar Xcode completamente ya que la persona no programa en Swift, pero aún así necesita de las herramientas de línea de comando (compiladores, librerías, etc). Si este es tú caso escribiendo la siguiente instrucción en la terminal las podrás instalar:

xcode-select --install

Luego de esto se nos abrirá una ventana similar a esta:

Command Line Developer Tools - Requested

Damos click en Install, aceptamos la licencia y esperamos a que la instalación finalice:

Command Line Developer Tools - Downloading
Command Line Developer Tools - Installing
Command Line Developer Tools - Installed

Terminal

La Terminal es un aspecto bien importante para todo programador, tanto para los que nos dedicamos al desarrollo de aplicaciones móviles como los que hacen desarrollo web.

Mediante la Terminal muchos llevamos a cabo tareas administrativas; instalamos bases de datos, herramientas de línea de comando, nos conectamos a nuestros servidores remotos, gestionamos repositorios en Git, actualizamos las dependencias de nuestra aplicación, etc.

Dada la importancia de la Terminal tener un entorno cómodo y óptimo es bien importante, dicho esto hagámoslo:

Instalar iTerm2

La aplicación Terminal que viene por defecto con macOS es buena, pero no es la mejor. Así que vamos a descargar e instalar iTerm2, una terminal mucho más completa para nuestro macOS.

Luego de descargada (en el enlace anterior) y copiado el ejecutable a la carpeta Applications, al abrirla se nos debe mostrar con esta apariencia:

iTerm2 Default Look

Pero antes de continuar lo segundo que vamos a hacer es establecer iTerm como la terminal por defecto:

iTerm2 - Menu Options

Cambiar el hostname en macOS

Comenzamos por cambiar el nombre de nuestro ordenador, yo no soy muy fan de <Usuario>’s MacBook Pro asi que siempre opto por cambiarlo.

Para esto abrimos la aplicación Terminal y ejecutamos el siguiente comando:

sudo scutil --set HostName <Nuevo Nombre>

Creo evidente que <Nuevo Nombre> debe ser sustituído por el nombre que estableceremos a nuestro ordenador, en mi caso fue Galactica.

Al presionar Enter escribimos el password de nuestro usuario, cerramos la terminal y al abrirla de nuevo tendrémos el hostname ya establecido de manera permanente.

Oh My ZSH!

Esta expresión es el nombre de un framework de código abierto mediante el cual podremos gestionar el interprete de comando ZSH.

Oh My ZSH nos ayuda a ser más productivos a través de funciones, ayudas, plugins y temas visuales que harán que nuestra interacción con la terminal sea como mínimo más amena.

Proseguimos a instalar Oh My ZSH mediante el siguiente comando:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

la salida en pantalla del comando anterior sería:

Oh My ZSH Installation

En este punto ya nuestro terminal luce diferente y nuestro próximo paso será cambiar el aspecto visual del prompt.

Configuración

La configuraciones de Oh My ZSH se lleva a cabo mediante el archivo de configuración localizado en nuestra carpeta home, en la dirección absoluta:

/Users/<usuario>/.zshrc

Donde <usuario> debemos de sustituirlo por el nombre de nuestro usuario. Pero la terminal abre sesión en nuestra carpeta home, así que para editar este archivo podemos hacer referencia a la dirección relativa.

El editor de texto nano viene instalado por defecto en macOS, para abrir el archivo de configuración solo tenemos que ejecutar:

nano .zshrc

Luego de modificar la configuración debemos salvar los cambios, en el caso de nano presionamos Control-X, escribimos Y y presionamos Enter.

Localización

Aunque no deberíamos de tener problemas con la localización de nuestro sistema y Oh My ZSH, siempre es bueno conocer la solución un problema así. Lo único que debemos hacer es abrir el fichero de configuración de Oh My ZSH, y buscar la línea comentada:

# export LANG=en_US.UTF-8

con esta variable lo que haremos es descomentarla (quitar el símbolo de #) y agregar otra configuración bajo esta, quedando así al final:

# You may need to manually set your language environment
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

En mi caso lo establezco a esta localización ya que trabajo con mi sistema en Inglés, en tu caso deberías ajustarlo a tus preferencias.

Powerlevel10k

Powerlevel10k es un tema visual para ZSH que viene a sustituir a Powerlevel9k brindándonos un mejor rendimiento.

Para integrarlo con Oh-My-Zsh debemos instalarlo de esta manera:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Luego de ejecutar este comando el siguiente paso sería configurar Oh-My-Zsh para que use Powerlevel10k. Esto lo haremos a través de su archivo de configuración.

Para establecer un nuevo tema debemos de modificar la variable ZSH_THEME de su valor por defecto:

ZSH_THEME="robbyrussell"

al correspondiente a Powerlevel10k:

ZSH_THEME="powerlevel10k/powerlevel10k"

quedando tal y como vemos en la imagen:

Oh My ZSH - Config File - ZSH Theme

Acto seguido nos dirijimos al final del archivo y establecemos la siguiente variable y su valor:

# Powerlevel10k

POWERLEVEL9K_MODE="nerdfont-complete"

POWERLEVEL9K_TIME_FORMAT="%D{%L:%M:%S}"

POWERLEVEL9K_SHORTEN_DIR_LENGTH=3
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"

POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%F{blue}\u256D\u2500%F{white}"
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%F{blue}\u2570\uf460%F{white} "

POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon context swift_version dir vcs dir_writable)

POWERLEVEL9K_OS_ICON_BACKGROUND="white"
POWERLEVEL9K_OS_ICON_FOREGROUND="black"

POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="white"
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="black"

POWERLEVEL9K_SWIFT_VERSION_BACKGROUND="darkorange"
POWERLEVEL9K_SWIFT_VERSION_FOREGROUND="black"

POWERLEVEL9K_DIR_HOME_FOREGROUND="black"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="black"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="black"

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status load time)

Mediante estas variables establecemos el formato que deseamos para nuestro prompt, los colores de fondo y los de primer plano, la información que nos brindará y el órden de esta, tanto en el prompt izquierdo como en el derecho.

Nota: Duda con alguna de estas variables en los comentarios.

Como podemos leer estas variables incluyen el nombre Powerlevel9k, y no es un error. Lo que sucede es que Powerlevel10k es (de momento) compatible con Powerlevel9k, con tal de facilitar la migración han abogado por usar las mismas variables. Así que de haber trabajado antes con Powerlevel9k no deberiamos tener problemas con una configuración antigua de Oh-My-Zsh.

Instalar una fuente parcheada

Antes de reiniciar iTerm 2 necesitamos instalar la fuente Meslo del projecto Nerd Fonts. Estas fuentes son especiales, ya que no solo incluye un diseño especifico de letras, números y caracteres especialesque, vienen parcheadas con todo un set de íconos de projectos como Font Awesome, Devicons, Octicons y otros.

La fuente Meslo la podemos encontrar en la web oficial del proyecto Nerd Fonts. En esta web, especificamente en la sección Downloads podemos encontrar un listado de todas sus fuentes, de todas estas escojemos Meslo.

Al dar click en Meslo se nos descargará un fichero .zip, dentro de este encontraremos todas las variantes de esta fuente, en mi caso solo utilizaré la versión:

Meslo LG M DZ Regular Nerd Font Complete.otf

La instalación de una fuente en macOS es un proceso bien sencillo, solo tenemos que hacer doble click sobre esta, cuando se nos abre la aplicación Font Book damos click al botón Install Font en la esquina inferior derecha de la ventana.

Font Book – Install New Font

Luego de instalar la fuente vamos a la configuración de iTerm2:

iTerm2 → Preferences → Profiles → Text → Change Font

y buscamos en la lista de fuentes disponibles la que acabamos de instalar, debe listarse como MesloLGMDZ Nerd Font, la seleccionamos y listo.

Si te preguntas que significan estas siglas, pues te explico:

  • LG – Line Gap
  • L – Large
  • M – Medium
  • S – Small
  • DZ – Dotted Zero
  • SZ – Slashed Zero

Yo he escogido la variante LG M DZ, lo que en castellano significaría: la versión con un line gap (distancia vertical) medio y con el cero diferenciado por un punto. No abundaré sobre este tema, si tienes alguna dudas exponla en los comentarios.

En este punto ya podemos reiniciar iTerm2, pero aún no hemos acabado, nos falta mejorar el contraste de colores y activar otras funcionalidades.

Esto es lo que haremos, en las siguientes secciones.

Aplicar un nuevo esquema de color

Vamos a continuar cambiando el aspecto visual de iTerm2, para esto existen varios temas preestablecidos que podemos encontrar en:

https://iterm2colorschemes.com/

Yo voy a aplicar el tema Chester, pueden dar click derecho sobre este link y salvar el archivo:

Chester.itermcolors

El archivo puede que se salve con extensión .txt, de ser así cambiar esta extensión a .itermcolors. Finalizadas estas acciones nos dirigimos a la configuración de iTerm2:

iTerm2 → Preferences → Profiles → Colors → Color Presets → Import

Desde ahí importamos el archivo, y acto seguido lo activamos seleccionándolo en la lista. Luego de esto nuestra terminal lucirá así:

iTerm2 - Powerlevel10k - Chester
iTerm2 con Powerlevel10k y el tema Chester.

De izquierda a derecha tenemos:

  • Prompt izquierdo: Al inicio tenemos el logo del sistema operativo, en el caso de Linux sería el pinguino (Tux), le sigue el nombre de usuario y el host, seguido a esto la versión de Swift instalada, y al final la dirección en la cual nos encontramos, en este caso dentro de la carpeta Home.
  • Prompt derecho: Comenzamos con el status del último comando ejecutado, le sigue la carga del sistema y por último la hora actual.

Powerlevel10k es muy flexible y tendríamos que dedicar un artículo entero a muchas de las variantes que pudiéramos aplicar. Si tienes alguna duda, nuevamente, plásmala en los comentarios.

Plugings

Oh-My-Zsh tiene soporte para plugings, algunos vienen ya instalados y activados como es el caso del plugin git mientras que hay otros que aunque estás instalados no están activados por defecto, como en el caso de sudo.

Los plugings en Oh-My-Zsh se activan en el fichero de configuración .zshrc, especificamente en la variable plugins. La cual por defecto viene con un solo plugin activo y luce de esta manera:

plugins=(git)

Sudo

¿Les ha sucedido que estás escribiendo un comando y se percatan que no han escrito sudo al inicio, o por el contrario se dan cuenta de esto luego de ejecutarlo?

Pues con el plugin sudo resolvemos la incomodidad de ir al inicio de la línea y escribir sudo, solo tenemos que presionar la tecla de Esc dos veces y la palabra sudo aparecerá al inicio del comando.

Este plugin viene instalado por defecto y para activarlo solo debemos escribir su nombre en la variable plugings, separado de un espacio del resto de plugings activos.

Quedaría así:

plugins=(git sudo)

Salvamos la configuración, cerramos la terminal y al abrir listo.

Resaltado de Sintaxis

El resaltado de sintaxis es una funcionalidad bien útil, a la hora de escribir un comando va separando el nombre del mismo más los parámetros en distintos colores, y si el comando no está disponible en el ordenador se muestra en color rojo sin necesidad de presionar Enter para ver el error.

Este plugin no viene instalado por defecto, lo instalamos ejecutando el siguiente comando:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Luego de esto volvemos al fichero de configuración .zshrc y agregamos a la lista el nuevo plugin, quedando asi:

plugins=(git sudo zsh-syntax-highlighting)

Sugerencias Automáticas

El plugin de sugerencias automáticas es otro de mis preferidos. A medida que vamos escribiendo este nos sugiere comandos al estilo de un placeholder, en base al historial y a ese clásico sistema de completado de presionar la tecla Tab dos veces.

Para instalar este plugin ejecutamos:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Luego lo activamos:

plugins=(git sudo zsh-syntax-highlighting zsh-autosuggestions)

Instalar Homebrew

Un buen gestor de paquetes es clave en cualquier entorno de desarrollo, y Homebrew es nuestra opción, el gestor de paquetes para macOS que faltaba (según podemos leer en su sitio web) y que todos los que venimos de Linux lo podemos ver como el homologo de apt-get o dnf.

La instalación de Homebrew es tan sencilla como todas las que hemos visto hasta este momento. Solo tenemos que ejecutar el siguiente comando:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Al finalizar la instalación verificamos si Homebrew se ha instalado correctamente:

brew doctor

Este comando hace un chequeo en busca de problemas que puedan influir en el buen funcionamiento de Homebrew, la salida en pantalla, en caso de todo estar bien, sería la siguiente:

Your system is ready to brew.

Las opciones de uso más frecuentes con Homebrew son:

OpciónDescripción
brew search <app>Buscar una app.
brew info <app>Obtener información sobre una app.
brew install <app>Instalar una app.
brew updateActualizar Homebrew y el resto de app instaladas a través de él.
brew listMostrar las app instaladas a través de Homebrew.
brew uninstall <app>Desinstalar una app.
brew uninstall –force <app>Todas las versiones de una misma app serán desinstaladas.

Algo que me gusta mucho de Homebrew y que me recuerda al projecto MacPorts es que este no usa binarios precompilados, en lugar de esto descarga los códigos fuentes y compila todo el software antes de instalarlo.

Esto último es genial ya que todo lo que instalemos por esta vía quedará bien optimizado para nuestro kernel y sistema en general.

Midnight Commander

Otra herramienta que, a mi modo de ver, no puede faltar es el explorador de archivos Midnight Commander, lo uso también en Linux y jamás me ha defraudado, lo que promete lo cumple, lo hace bien.

Esta aplicación la vamos a instalar a través de Homebrew con el siguiente comando:

brew install mc

finalizado este proceso ejecutamos:

mc

y deberíamos de ver algo similar a la siguiente imagen:

Midnight Commander
Midnight Commander

Con Midnight Commander podemos realizar las mismas tareas (o más) que usualmente llevamos a cabo en un explorador de archivos normal: cambiar permisos, editar archivos, borrar, renombrar, mover y más.

Tal y como pueden observar la pantalla la tenemos dividida en dos, lo que facilita grandemente la copia local de archivos y la remota, podemos tener a la izquierda nuestra carpeta local y en la derecha una remota, sí Midnight Commander se puede conectar con otro ordenador por SSH o FTP.

Sin dudas una herramienta que optimiza exponencialmente las tareas administrativas a bajo nivel.

Visualizar Procesos y Recursos con HTOP

Otra herramienta que vengo arrastrando de Linux es htop, la cual nos ayuda a visualizar los procesos del sistema y los recursos que tenemos en uso, puedo matar un proceso, darle más prioridad, puedo filtrar, buscar, etc.

Lo instalamos con el comando:

brew install htop

luego de instalado ejecutamos:

htop

y en dependencia del ordenador deberíamos ver algo así:

htop

Como podemos observar en el área superior de la imagen encontramos el uso de los núcleos, el uso de la memoria RAM y Swap, también tenemos la carga del sistema y el Uptime (tiempo que lleva encendido el ordenador sin reiniciarse o apagarse).

Mejorando Finder

Yo vengo de Linux, vengo de usar los mejores exploradores de archivos que existen, así que no es de sorprender que cuando llegué a macOS y comencé a usar Finder, digamos que la experiencia dejó mucho que desear. 😜

Por esta razon es que me enfrasqué durante algunos años en la busqueda de un digno sustituto de mi altamente configurable y estable explorador de archivos favorito en entornos Linux bajo KDE, mi amado Dolphin.

ForkLift

Durante este tiempo pasé por PathFinder que me gustó bastante y lo use durante algunos años, pero a cada rato me daba problemas de estabilidad que se resolvían en una actualización y regresaban en la siguiente, y para colmo las actualizaciones tampoco eran muy seguidas.

Así estuve durante un tiempo hasta que descubrí ForkList, que segun ellos es:

The most advanced dual pane file manager and file transfer client for macOS.

BinaryNights

es decir: «el más avanzado explorador de archivos de doble panel y cliente de transferencia de archivos para sistemas macOS», yo agregaría que es también muy estable y tiene soporte para pestañas, es decir que en cada panel podemos tener varias pestañas.

ForkLift 3

El video es bastante informativo y muestra claramente porque ForkLift es espectacular, pero en caso de que el inglés no sea lo tuyo, aquí comparto una imagen para que explicar mejor a lo que me refiero.

ForkLift - Panel with tabs
Panel con pestañas

En el panel izquierdo tenemos dos pestañas, una apuntando al home del usuario y otra a iCloud, mientras que en el panel derecho estamos hubicados en el disco duro externo.

Ahora, a través de los dos paneles y las pestañas podemos mover datos desde cualquiera de estas hacia el disco externo. Pero también hasta un servidor remoto, o al revés, desde un servidor remoto hacia nuestro disco local o externo.

ForkLift - Local Panel and Remote Connection Manager
Panel local y gestor de conecciones remotas

Si desplegamos la lista de protocolos veremos una lista similar a esta:

ForkLift - Remote Connection Protocols
Protocolos de conexión remota

ForkLift es muy completo y configurable. Otra cosa que me encanta son los accesos directos a visualizar los archivos ocultos y en especial a la terminal, todo esto desde la propia barra de herramientas (Toolbar).

La único que hago en este sentido es ir a la configuración y cambiar la terminal asociada de Terminal a iTerm.

ForkLift - Preferences - General
Preferencias

Luego de esto ya todo está listo, al dar click sobre el ícono de la terminal en la barra de herramientas, se nos abre iTerm2 en la carpeta donde estemos hubicados en ese momento.

Instalar Visual Studio Code

Mediante Visual Studio Code podemos gestionar todo para lo que no necesitemos Xcode, ya sea que necesitemos editar un README.md en Markdown o escribir algo de código en Python o JavaScript. Para todo esto Visual Studio Code es una muy buena opción y es gratuito.

La instalación es bien sencilla, solo tenemos que bajar la aplicación desde la página oficial de Visual Studio Code y luego moverlo a la carpeta de Applications, o Aplicaciones si usas macOS en castellano.

Para poder llamar Visual Studio Code desde la terminal primero tenemos que agregarlo al $PATH de nuestro usuario. Para lograr esto, y ya en la línea de comandos, nos apoyamos en el editor integrado con Midnight Commander y abrimos el fichero .zsch, desde el home de nuestro usuario, de la siguiente manera:

mcedit .zshrc

En este fichero agregamos las siguientes líneas al final del mismo:

# Visual Studio Code
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

Luego de esto salvamos el fichero presionando la tecla fn (function) y F2, salimos del editor presionando fn y F10. Cerramos la terminal y al abrir nuevamente podemos probar que todo ha quedado bien ejecutando en la terminal:

code

luego de esto se nos debe de abrir Visual Studio Code.

Gestión de Snippets con SnippetsLab

Mediante SnippetsLab podemos gestionar de manera eficiente y cómoda nuestros fragmentos de código (code snippets), optimizando así nuestro entorno de desarrollo.

Es una aplicación de pago, tiene un costo de $ 9.99 dólares y creo que los vale, la relación costo / funcionalidades se encuentra muy bien equilibrada.

SnippetsLab
SnippetsLab

Esta aplicación es sencillamente genial, hace lo que dice y vende, y lo hace bien. Nos permite elegir entre 350 lenguajes de programación a favor de una marcado de sintaxis ideal para una lectura más rápida y amena.

Tenemos a nuestra disposición también varios temas gráficos para nuestra interfaz, contamos con la posibilidad de integración con Github y también se nos permite sincronizar nuestros datos con iCloud.

Por si no fuera poco tenemos SnippetsLab Assistant, un asistente que se integra en el menu bar de macOS y que nos facilita mucho la búsqueda y copia de nuestros snippets.

Desarrollo de APIs con Postman

Esta aplicación / servicio es bastante famosa, y la usamos para hacer peticiones APIs REST, programación de verificaciones y chequeo de las mismas, incluso hasta podemos simular un backend.

Postman
Postman

Un punto a destacar de Postman es que cuenta con una opción gratuita (que siempre se agradece) y también con disponibilidad para varios sistemas operativos, a diferencia de algunas aplicaciones para macOS esta es multiplataforma, también la he usado en Linux  y va muy bien.

Control de Versiones con Git

Git es un software de control de versiones creado por Linus Torvalds, muy popular y del cual todos seguramente tenemos como mínimo una referencia.

Git viene instalado por defecto en macOS pero en mi caso prefiero trabajar con la versión estable más reciente.

Para esto utilizo Homebrew, como podemos observar en la imagen mi versión actual (a fecha de escribir el artículo) es la versión 2.20.1 mientras que en Homebrew (que apunta al respositorio oficial en Github) está disponible la versión 2.22.0.

Git Version - macOS Default and Homebrew
macOS version and Homebrew version

Luego de verificar que en efecto hay una versión más actualizada, la instalamos:

brew install git

al finalizar la instalación cerramos la terminal y al abrirla nuevamente ejecutamos:

git --version

y ya tenemos la última versión estable instalada.

Nota: Dentro de $PATH ya viene por defecto el directorio /usr/local/bin, que es donde Homebrew coloca los enlaces simbólicos hacia los binarios de todo cuanto hemos instalado (a través de Homebrew). Este directorio es el primero dentro de $PATH y por ende ya sea bash o zsh le brinda más prioridad sobre el resto, por lo que al cerrar la terminal el nuevo git toma presedencia también sobre el que viene instalado por defecto y que se encuentra en /usr/bin.

Nota: Aunque no haya una versión más actual de Git, yo siempre utilizo la versión de Homebew ya que esta la puedo actualizar nada más salga una nueva versión, sin necesidad de esperar meses hasta una nueva actualización o versión de macOS.

GitKraken

La realidad es que no soy muy fan de las interfaces gráficas para este tipo de cuestiones, más aún cuando las mejores opciones, que son comerciales, han cambiado a un modelo de pago recurrente. Aún así GitKraken es muy bueno y realmente vale la pena.

GitKraken para mí es de las mejores opciones, y eso que también he trabajado con Tower, pero no, entre ambas me decanto por GitKraken.

Este último no solo cuenta con una opción gratuita y una inicial de pago (Individual) más barata que la equivalente en Tower. Es también multiplataforma, cuenta con disimiles opciones para casi todo tipo de escenarios, se integra con las plataformas más posulares, dígase:

  • GitHub (versión Free)
  • GitHub Enterprise (versión Pro)
  • GitLab (versión Free)
  • GitLab Self-Hosted (versión Pro)
  • Bitbucket (versión Free)
  • Bitbucket Server (versión Pro)
  • Azure DevOps (versión Pro)

Otra opción que me gusta bastante de GitKraken es la característica llamada Glo Board (o Tablero Glo en castellano). Glo Board es un Trello vitaminado que viene ya incorporado dentro de la propia aplicación y que está disponible desde la versión Free.

Glo Board

Luego de ver en ambos vídeos creo que queda bastante claro porque es mi elección de preferencia. También agregar que GitKraken es un software que se actualiza con bastante frecuencia, la interfaz es amigable y como hemos visto está enfocado tanto para desarrolladores independientes como para equipos de trabajo.

Sinceramente para para mí es la mejor opción en cuanto a calidad precio, nos brinda una oferta mucho más completa por un precio realmente competitivo.

SourceTree

En caso de que prefieras una alternativa completamente gratuita la opción más funcional y completa es SourceTree, que entre sus muchas diferencias con GitKraken no es completamente multiplataforma, solo está disponible para Windows y macOS.

La mejor manera de elegir entre ambos es usarlos por un tiempo, las diferencias entre los dos son abismales y saltarán a la vista.

Si te da algo de pereza o quizás eres una persona más visual, la siguiente infografía ha sido diseñada para ayudarnos a elegir:

GitKraken or Sourcetree
¿GitKraken o Sourcetree?

Lo mejor de estas alternativas, sea cual sea la que elijas, es que nos permiten hacer de una manera gráfica y amigable casi todo cuanto se puede lograr desde la línea de comandos, y esto en ocaciones resulta en un plus de productividad que evidentemente se agradece y nunca está de más.

Si te decantas por GitKraken puedes adquirirlo a través de este link y de paso apoyas el sitio. 😉

OpenSim y SimPholders

A veces puede ser útil o incluso necesario acceder al sandbox de una aplicación que está ejecutándose en el simulador. Sin embargo, encontrar el sandbox de la aplicación no es algo trivial.

Tanto Xcode como el simulador no ofrecen este tipo de funcionalidad, razón por lo cual estas herramientas se han vuelto mandatory en mi entorno de desarrollo.

Mi motivación reside en Realm, y es que en ocaciones necesito acceder a la base de datos física, ya sea porque estoy haciendo troubleshooting o sencillamente para comprobar que todo se está almacenando bien.

Para lograr acceder a la base de datos de Realm, que a su vez se encuentra dentro del sandbox de la aplicación, utilizo OpenSim, una alternativa de código abierto para SimPholders, escrita en Swift 4 y que funciona realmente bien.

SimPholders es básicamente lo mismo que OpenSim pero de pago, a día de hoy 11 dólares americanos.

OpenSim

Mediante OpenSim y su menú podemos acceder a las siguiente opciones:

OpenSim - Menu
OpenSim Menu

Aquí tenemos los simuladores que hemos utilizado a lo largo de nuestro desarrollo, dentro de estos simuladores y luego dentro de cada App tendríamos las acciones siguientes:

OpenSim - Actions
OpenSim Actions

Si escogemos la primera opción nos abriría Finder con todo el contenido del Sandbox, en la cual podríamos encontrar la base de datos de Realm por ejemplo:

OpenSim - Finder - Realm Database

SimPholders

El caso de SimPholders es muy similar, aunque con algunas opciones más que facilitan el trabajo. En el menu principal contamos con las siguientes opciones:

SimPholders - Main Menu

Dentro de cada simulador tenemos las aplicaciones en las que estamos trabajando y las distintas acciones que podemos ejecutar sobre este simulador:

SimPholders - Device Actions

A su vez en cada aplicación contamos con un menu de opciones similares a este:

SimPholders - App Actions

de estas opciones hacer notar: «Open Database with Realm Studio«. No es nada del otro mundo pero sin dudas nos ayuda en nuestro flujo de trabajo.

Dicho lo último creo que la elección de cual instalar recae en el lector, ambas aplicaciones funcionan perfectamente. SimPholders cuenta con un poco más de opciones que sin dudas añaden un valor agregado, y OpenSim es gratuito y cuenta con las opciones más básicas y de uso más frecuente.

Realm Studio

Asumiendo que has leído el apartado anterior y mínimo ya sabes que Realm es una base de datos (multiplataforma) para aplicaciones mobiles, pasamos a introducir Realm Studio.

Realm Studio
Realm Studio

Realm Studio es una herramienta mediante la cual podemos administrar fácilmente las bases de datos Realm al igual que Realm Platform. Con Realm Studio, podemos abrir y editar bases de datos locales y sincronizadas, administrar cualquier instancia de Realm Object Server.

Es una aplicación gratuita y que recomiendo siempre y cuando utilices esta gran base de datos.

Entorno de Desarrollo Ideal

Un entorno de desarrollo iOS profesional o de cualquier otra tecnología siempre estará determinado por las particularidades que maticen el trabajo a efectuar, el gusto del programador y cuan cómodo se sienta este interactuando con sus herramientas.

Muchas veces esta elección va más allá del rendimiento y se encuentra atada a razones emocionales o de moda. Así que un entorno de desarrollo ideal no existe en una selección y configuración especifica, más bien de manera particular. Lo que para mi es un ecosistema genial y en el cual soy muy productivo pues para otra persona quizás no lo sea tanto.

Al mismo tiempo tampoco es bueno quedarnos encasillados en lo mismo por lo que siempre es muy recomendado probar cosas nuevas y mantenernos actualizados con las tendencias que no siempre están del todo mal.

Dicho esto, si crees que mi configuración puede ser mejorada o conoces alguna alternativa para alguna de estas herramientas, pues te invito a que dejes tu referencia en los comentarios.

Falta aún mucho por aprender en nuestro camino a convertirnos en iOS Developer. Suscríbete a nuestra lista de correo y síguenos en nuestras redes sociales. Mantente al tanto de todas nuestras publicaciones.

Espero que todo cuanto se ha dicho aquí, de una forma u otra le haya servido de aprendizaje, de referencia, que haya valido su preciado tiempo.

Este artículo, al igual que el resto, será revisado con cierta frecuencia en pos de mantener un contenido de calidad y actualizado.

¡Cualquier duda o sugerencia, ya sea errores a corregir o ejemplos a añadir, será más que bienvenida, necesaria!

Deja una respuesta

Su dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer Más

RECIBE CONTENIDO SIMILAR EN TU CORREO

RECIBE CONTENIDO SIMILAR EN TU CORREO

Suscríbete a nuestra lista de correo y mantente actualizado con las nuevas publicaciones.

Se ha suscrito correctamente!