Unidad 2: 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 (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
Last updated