# JetBrains

JetBrains s.r.o. (anteriormente IntelliJ Software s.r.o.) es una compañía de desarrollo de software cuyas herramientas están dirigidas a desarrolladores de software y gerentes de proyectos.
A partir del 2019, la compañía tiene más de 990 empleados en sus oficinas en Praga, San Petersburgo, Moscú, Múnich, Boston, Novosibirsk, Ámsterdam, Foster City y Marlton, Nueva Jersey.
La compañía ofrece una familia extendida de entornos de desarrollo integrado (IDE) para los lenguajes de programación Java, Kotlin, Ruby, Python, PHP, C, Objective-C, C++, C#, Go, JavaScript y SQL.
La compañía ingresó a una nueva área en 2011 cuando introdujo Kotlin, un lenguaje de programación que se ejecuta en una máquina virtual Java (JVM).
La revista InfoWorld otorgó el premio "Tecnología del año" a la compañía en 2011 y 2015.

## Historia

JetBrains, inicialmente llamado IntelliJ Software, fue fundado en 2000 en Praga por tres desarrolladores de software: Sergey Dmitriev, Valentin Kipyatkov y Eugene Belyaev.
El primer producto de la compañía fue IntelliJ Renamer, una herramienta para la refactorización de código en Java.
En 2012, después de haber sido el CEO de la compañía durante 12 años, Sergey Dmitriev confió la compañía a dos CEO recién nombrados, Oleg Stepanov y Maxim Shafirov, y se dedicó a sus esfuerzos científicos en el campo de la bioinformática.

## Productos
### IDEs
#### AppCode

AppCode es un desarrollo IDE dirigido principalmente a plataformas Apple como macOS, iOS, watchOS y tvOS. Es compatible con la programación en C, C ++, Objective-C y Swift. A diferencia de la mayoría de los productos JetBrains que son multiplataforma, AppCode solo está disponible para macOS.

#### CLion

CLion (pronunciado en inglés como "sea lion") es un IDE multiplataforma C y C ++ para Linux, macOS y Windows integrado con el sistema de compilación CMake . La versión inicial es compatible con GNU Compiler Collection (GCC) y compiladores de Clang y depurador de GDB, LLDB y Google Test . Además de C y C ++, CLion admite otro lenguaje, ya sea directamente o mediante complementos: Kotlin, Python, Rust, Swift y otros más.

#### DataGrip

DataGrip es una herramienta DBA multiplataforma que está dirigida a desarrolladores que trabajan con bases de datos SQL. Tiene controladores integrados que admiten los siguientes proveedores: Amazon Redshift, Apache Cassandra, Apache Derby, Apache Hive, Azure SQL Database, ClickHouse, Exasol, Greenplum, H2, HSQLDB, IBM Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, Snowflake, SQLite, Sybase ASE y Vertica.
Una versión lite de DataGrip está integrada en la edición Ultimate de algunos IDE de JetBrains.

#### GoLand

GoLand es un IDE multiplataforma destinado a proporcionar un entorno ergonómico para el desarrollo de Go. El nuevo IDE extiende la plataforma IntelliJ con la asistencia de codificación y la integración de herramientas específicas para el lenguaje Go.
GoLand se distribuyó como un complemento de código abierto para IntelliJ IDEA a partir de 2013, con el código aún disponible en GitHub. En 2016, llegó a 30 mil usuarios activos mensuales, JetBrains decidió introducir un IDE independiente para el desarrollo de Go. El nombre original del IDE independiente era Gogland, que luego se cambió a GoLand. La primera versión de GoLand se lanzó en noviembre de 2017.

#### IntelliJ IDEA

IntelliJ IDEA fue el primer IDE de JetBrains. Es multiplataforma y está dirigido principalmente a Java, Java EE y desarrollo web. Una versión de código abierto está disponible con el nombre IntelliJ IDEA Community Edition, y una versión patentada como IntelliJ IDEA Ultimate Edition. Se puede hacer que IntelliJ IDEA Ultimate Edition incluya el conjunto de características de PhpStorm, PyCharm y RubyMine a través de complementos.

#### PhpStorm

PhpStorm es un IDE multiplataforma para PHP y desarrollo web. Es compatible con PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3 y 7.4.

#### PyCharm

PyCharm es un IDE multiplataforma dirigido principalmente a Python y al desarrollo web. Una versión de código abierto está disponible como PyCharm Community Edition, y una versión patentada como PyCharm Professional Edition. Una versión especial llamada PyCharm Edu está basada en PyCharm, dirigida específicamente al aprendizaje de la programación con Python.
PyCharm tiene una distribución PyCharm para Anaconda que se puede instalar junto con Anaconda y está estrechamente integrada.

#### Rider

Rider es un IDE multiplataforma destinado a C # y desarrollo .NET que viene con la funcionalidad ReSharper incorporada.

#### RubyMine

RubyMine es un IDE multiplataforma que admite Ruby, Ruby on Rails y desarrollo web. Principalmente se usa para Ruby.

#### WebStorm

WebStorm es un IDE multiplataforma principalmente para desarrollo web,JavaScript y TypeScript. Muchos de los otros IDE de JetBrain incluyen el conjunto de características de WebStorm a través de complementos.

### Complementos
#### ReSharper Ultimate

ReSharper Ultimate es un grupo de productos que contiene el galardonado complemento ReSharper para Visual Studio, dotCover, una herramienta de cobertura de código, dotMemory, un generador de perfiles de memoria, dotTrace, un generador de perfiles de rendimiento y dotPeek, un desensamblador. ReSharper proporciona una serie de características para los desarrolladores de Visual Studio que incluyen análisis de código, refactorización, navegación, prueba de ejecución, compilación de ejecución y más.

### Lenguajes de programación
#### Kotlin

Kotlin es un lenguaje de programación de tipo estático que se ejecuta en la máquina virtual Java y también compila a JavaScript o código nativo (a través de LLVM). El nombre proviene de la isla de Kotlin, cerca de San Petersburgo.
Kotlin está diseñado para ser un lenguaje orientado a objetos de fuerza industrial y un "mejor lenguaje" que Java, pero aun así es totalmente interoperable con el código Java, lo que permite a las empresas realizar una migración gradual de Java a Kotlin.
El 7 de mayo de 2019, Google declaró a Kotlin su lenguaje de programación preferido para el desarrollo de aplicaciones de Android.

#### MPS

MPS (del inglés Meta Programming System) es un entorno de trabajo de lenguaje de código abierto que se enfoca en lenguajes específicos de dominio (DSL). Aprovecha la edición de proyección en lugar de la edición de texto clásica que ofrece una composición de lenguaje fácil, múltiples visualizaciones de código, así como varias anotaciones no textuales para diseñadores DSL. MPS viene con su propio motor de generación de código, que puede usarse para proporcionar semántica para DSL basadas en MPS. Además de la declaración del editor y el generador, MPS ofrece la posibilidad de capturar información sobre otros aspectos del lenguaje, como el sistema de tipos, las restricciones, el flujo de datos y otros.

### Herramientas de colaboración
#### Hub

Hub es un conector gratuito de JetBrains Team Tools. Permite una integración avanzada entre las herramientas de colaboración del equipo JetBrains: YouTrack, Upsource, Teamcity. Un usuario puede iniciar sesión una vez en Hub y permanecer autenticado en todas las herramientas de JetBrains. Hub también administra una única base de datos de usuarios, grupos, roles, permisos, proyectos y la comparte entre todas las instalaciones conectadas de YouTrack y Upsource. Proporciona un panel para rastrear problemas, confirmaciones, estado de compilación y más datos de YouTrack, TeamCity y Upsource.

#### TeamCity

TeamCity es un servidor de integración continua y entrega continua desarrollado por JetBrains. Es una aplicación web basada en servidor escrita en Java. TeamCity es un software comercial patentado con una licencia Freemium para hasta 20 configuraciones de compilación y tres agentes de compilación gratuitos.

#### Upsource

Upsource es una herramienta de revisión de código y navegación de repositorio. Proporciona una interfaz de usuario para explorar y monitorear repositorios Git, GitHub, Mercurial, Perforce y / o Subversion desde una ubicación central. Upsource proporciona resaltado de sintaxis para múltiples lenguajes de programación. Con el núcleo IntelliJ IDEA, Upsource proporciona análisis de código estático del lado del servidor, navegación con reconocimiento de código y búsqueda de uso para los lenguajes Java, PHP, JavaScript y Kotlin.

#### YouTrack

YouTrack es un propietario, comercial Web basado seguimiento de errores, sistema de seguimiento de problemas y ágil de software de gestión de proyectos desarrollado por JetBrains. Se centra en los equipos de desarrollo, proporcionándoles una búsqueda de problemas basada en consultas con autocompletado, manipulando problemas en lotes, soporte extendido de atajos de teclado, personalizando el conjunto de atributos de problemas y creando flujos de trabajo personalizados. YouTrack proporciona soporte para las metodologías Scrum y Kanban y permite a los desarrolladores seguir un proceso personalizado. YouTrack está localizado en inglés, alemán, ruso, español y francés. YouTrack está disponible como SaaS y en las instalaciones. La versión gratuita incluye hasta 10 usuarios.

### Herramientas para la ciencia de datos
#### Datalore

Datalore es una aplicación web inteligente para el análisis y visualización de datos, que se centra específicamente en el entorno de aprendizaje automático en Python.

### Toolbox App

Toolbox App es una aplicación que facilita la instalación y desinstalación fácil de IDEs de JetBrains. Permite a los usuarios iniciar sesión con una cuenta de JetBrains e instalar todos los productos que poseen.

## Modelo de ingresos

Los IDE de JetBrains tienen varias opciones de licencia, que presentan las mismas capacidades de software y difieren en su precio y términos de uso. Los productos del equipo están disponibles como versiones alojadas e instaladas y tienen versiones gratuitas para equipos pequeños. Muchos productos son gratuitos para proyectos de código abierto e instituciones educativas.

## Proyectos de código abierto

En 2009, JetBrains ofreció la funcionalidad básica de IntelliJ IDEA al ofrecer la edición comunitaria gratuita. Está construido sobre la plataforma IntelliJ e incluye sus fuentes. JetBrains lanzó ambos bajo la licencia Apache 2.0. En 2010, el soporte de Android se convirtió en parte de Community Edition, y dos años más tarde Google anunció su Android Studio, el IDE para el desarrollo móvil en la plataforma Android construida en la Community Edition de IntelliJ IDEA y una alternativa oficial aEclipse Android Developer Tool. En junio de 2015, se anunció que el soporte de Eclipse ADT se suspenderá, lo que convertirá a Android Studio en la herramienta oficial para el desarrollo de aplicaciones de Android.
MPS, abreviatura de sistema de meta programación, y Kotlin, un lenguaje de programación estáticamente tipado para JVM, son tanto de código abierto como no comerciales.

## Proyectos pasados

Fabrique iba a ser un marco de software de desarrollo de aplicaciones rápidas (RAD) para crear aplicaciones web y empresariales personalizadas. Se mostró una versión preliminar en 2004, pero nunca se lanzó. En su lugar, se decidió "aprovechar todas nuestras ganancias en experiencia y nuevas tecnologías para crear la mejor integración de IntelliJ IDEA con marcos y tecnologías estándar, llevando el desarrollo de aplicaciones web a un nivel completamente nuevo".
Omea es un lector y organizador basado en escritorio para RSS (y más tarde de cada bit de información que se encuentra en el escritorio de uno), el primero y hasta ahora el único producto orientado al consumidor de JetBrains. Introducido en 2004, no logró ganar la popularidad esperada. En 2008, habiendo alcanzado la versión 2.2, Omea fue de código abierto bajo la Licencia Pública General de GNU (GPL) v2. El producto todavía está disponible para descargar, y después de la retirada de Google Reader, ha vuelto a llamar la atención.
Astella es un IDE para Adobe Flash y Apache Flex. Este producto JetBrains de corta duración se anunció en octubre de 2011, justo un mes antes de que Adobe Systems matara Mobile Flash.