4 El Gran Ecosistema y las herramientas

4.1 Entornos de desarrollo integrado, o IDEs

Como un lenguaje de scripting, es posible escribir código R en cualquier editor de texto. Sin embargo, a medida que tu código base se hace más grande, resulta cada vez más útil utilizar un entorno de desarrollo integrado (IDE) apropiado. Un IDE puede ofrecer el resaltado de sintaxis, haciendo que el código sea más rápido y sencillo de leer; completado de código, donde el IDE sugiere funciones sucesivamente a medida que vas a introduciendo sus nombres; integración con un sistema de control de versiones; un depurador integrado; y una serie de otras características adicionales.

Muchos editores de texto avanzados e IDEs soportan R, incluyendo Atom, VSCode, Sublime Text, Eclipse (a través del plugin StatET, Vim y Emacs (a través de la extensión ESS). Algunas personas están contentas con el uso de estas herramientas, aunque la gran mayoría prefiere un IDE más completo, y actualmente hay tres opciones principales en este espacio:

4.1.1 RStudio

El IDE RStudio, de la compañía también llamada RStudio, es casi el IDE estándar de facto dentro de la comunidad. Fue escrito desde el principio con los usuarios de R en mente y tiene un extenso conjunto de características. El hecho de que RStudio desarrolle tanto el IDE como muchos de los paquetes más utilizados por la comunidad ha supuesto que el equipo de desarrollo haya podido crear funcionalidades adicionales dentro del propio IDE. Por ejemplo, el IDE tiene una interfaz gráfica de conexión que se comunica directamente con el paquete sparklyr para trabajar con los clusters de Spark. RStudio también tiene una versión del IDE basada en un servidor a la que se puede acceder y utilizar a través de un navegador web, por lo que no es necesario instalar nada en el dispositivo cliente.

El IDE está disponible tanto en versión open-source como en versión comercial y funciona en Mac, Windows y Linux.

4.1.2 Visual Studio (utilizando “R Tools for Visual Studio”)

Visual Studio es un potente IDE con una larga historia y recientemente también ha incorporado la opción de tratar R. Existe una opción en versiones posteriores para instalar “R Tools for Visual Studio”, que instala todas las características que esperarías para trabajar con R. Además, también tiene la capacidad de conectarse directamente a una sesión R que se ejecuta remotamente en un SQL Server 2017, o superior, lo que significa que se puede utilizar para dirigir sesiones en un hardware mucho más potente de lo que es habitual en los equipos informáticos del usuario final.

Visual Studio está disponible para Windows y MacOS, y está disponible en versiones para comunidades y comerciales. Para obtener más información sobre licencias, visita el sitio web para obtener más detalles.

4.1.3 Jupyter

Jupyter](http://jupyter.org/) es un poco diferente a los otros IDEs listados aquí, ya que sólo soporta el formato de desarrollo “notebook”. En el formato de notebook, el código se ejecuta en chunks y los resultados de la ejecución de ese código se muestran inmediatamente a continuación. Jupyter tiene sus raíces en la comunidad de Python y es muy popular en ella. Desde entonces se ha ampliado para dar soporte a otros idiomas —incluido R— aunque el uso de la R todavía no está tan pulido como en Python.

4.2 Aplicaciones web en R con Shiny

Muchas personas que se encuentran con R por primera vez llegarán a través de una aplicación Shiny. Shiny es un framework para el desarrollo de aplicaciones web interactivas en R y puede aprovechar las potentes capacidades estadísticas y gráficas del lenguaje. Usando Shiny, un usuario R sin conocimiento real de desarrollo web puede desarrollar poderosas aplicaciones web interactivas —conocidas como aplicaciones Shiny apps— con relativa facilidad y sin conocimiento de HTML, CSS o JavaScript.

Como las aplicaciones Shiny requieren que R esté en ejecución, para publicarlas necesitan su propio software de servidor. Como Shiny es otro proyecto de RStudio, también tienen el software requerido por el servidor para publicar estas aplicaciones Shiny a los usuarios finales. Hay un par de opciones para esto, como Shiny Server y RStudio Connect.

Shiny Server es un software de servidor de código abierto creado para ejecutar aplicaciones Shiny. No posee muchas características pero lo que hace
lo hace muy bien. Permite a un usuario publicar las aplicaciones Shiny que ha escrito en un sistema con un servidor siempre activo. A estas aplicaciones puede acceder su comunidad de usuarios finales. Por ejemplo, se podría escribir una aplicación Shiny para proporcionar un pronóstico de ventas, que podría ser publicado usando Shiny Server y accesible por el equipo de gestión a cualquier hora del día o de la noche sin que tuvieran que saber nada en absoluto de R. Si prefieres no mantener tu propio servidor shiny, puedes visitar shinyapps.io que proporciona planes gratuitos y de pago para alojar aplicaciones shiny.

Si formas de organización profesional que requiere características como el control del acceso a aplicaciones individuales con contraseñas, la capacidad de escalar para manejar audiencias más grandes, o la capacidad de controlar el consumo de recursos, puedes comprar la versión comercial, Shiny Server Pro, o la última novedadRStudio Connect.

RStudio Connect es el siguiente paso en la evolución del producto Shiny Server Pro, cuyo objetivo es mejorar considerablemente el rendimiento y facilitar la administración. Además de servir aplicaciones Shiny, Connect se puede utilizar para publicar informes escritos con RMarkdown, es capaz de alojar APIs escritas en R con el paquete plumber, y tiene otras características como la capacidad de generar informes según un cronograma y enviarlos por correo electrónico a un grupo de usuarios finales. Connect también utiliza una técnica ligera de aislamiento del proceso para evitar que las aplicaciones individuales interfieran entre sí.