Entornos integrados de desarrollo
Introducción
En esta Unidad aprenderemos a:
- Instalar entornos de desarrollo, propietarios y libres.
- Personalizar y automatizar el entorno de desarrollo.
- Generar ejecutables a partir de código fuente.
- Identificar las características comunes y específicas de diversos entornos de desarrollo.
Conceptos
- Codigo fuente
- Codigo intermedio u objeto
- Codigo binario
- Bibliotecas (librerías)
- Compilar
- Enlazar (Link)
- Interpretar
Herramientas básicas
Lo básico
- Editor de texto: permite escribir código fuente
- Compilador: genera código objeto a partir del código fuente
- Enlazador: agrupa varios archivos objeto en uno binario
- Interprete: lee código fuente y genera código binario para su ejecución
Bibliotecas (o librerías) (I)
Conjunto de archivos objeto que extienden la funcionalidad del lenguaje
- Biblioteca estándar del lenguaje
- Bibliotecas adicionales
Bibliotecas (o librerías) (II)
- Biblioteca estándar del lenguaje C
- Entrada y salida por terminal
- Manejo de archivos
- Funciones matemáticas
- Biblioteca estándar del lenguaje Java
- Entrada y salida por terminal
- Manejo de archivos
- Funciones matemáticas
- Interfaz gráfica
- Red
- Bases de datos
- Gráficos (sólo 2D)
Bibliotecas (o librerías) (III)
- Cada biblioteca está compuesta por varios archivos objeto
- Tipos
- bibliotecas dinámicas (.DLL o .so) (.jar en Java)
- muy usadas
- bibliotecas estática (.LIB o .a)
- menos usadas actualmente
- bibliotecas dinámicas (.DLL o .so) (.jar en Java)
Bibliotecas (o librerías) (IV)
- Una biblioteca se compone de 2 partes:
- Especificación (ofrece una API)
- Implementación
API = Interfaz de Programación de Aplicaciones
Entorno necesario en java
- JRE: necesario para ejecutar programas
- JVM (inteprete java)
- Biblioteca estándar
- JDK: necesario para desarrollar programas
- Herramientas: javac, jar, javadoc, ...
Construir (Build) (I)
Construir (Build) = Compilar + Enlazar
- Dos opciones:
- Herramientas de construcción
- Servidor de construcción
Construir (Build) (II)
Herramientas de construcción
- make, ninja (C, C++)
- ant, maven, gradle (Java)
- grunt, gulp (Javascript)
- rake (ruby)
Construir (Build) (III)
Archivos de construcción (buildfiles)
- make: Makefile
- ninja: build.ninja
- ant: build.xml
- maven: pom.xml
- gradle: build.gradle
- grunt: Gruntfile.js
- gulp: gulpfile.js
- rake: Rakefile
Construir (Build) (IV)
- Generadores de archivos de construcción
- CMake: CMakeLists.txt
- Meson: meson.build
Construir (Build) (V)
- Servidores de construcción
- Jenkins
- TravisCI
- CircleCI
- Bamboo
- TeamCity
Entornos integrados de desarrollo (IDE)
Ejemplos
- Destinados principalmente a C++:
- DevC++
- Microsoft Visual Studio
- QtCreator
- Destinados principalmente a Java:
- Netbeans
- Eclipse
- IntelJ IDEA
- Oracle JDeveloper