Unidad 2: Entornos integrados de desarrollo
Last updated
Last updated
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.
Codigo fuente
Codigo intermedio u objeto
Codigo binario
Bibliotecas (librerías)
Compilar
Enlazar (Link)
Interpretar
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
Conjunto de archivos objeto que extienden la funcionalidad del lenguaje
Biblioteca estándar del lenguaje
Bibliotecas adicionales
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)
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
Una biblioteca se compone de 2 partes:
Especificación (ofrece una API)
Implementación
API = Interfaz de Programación de Aplicaciones
JRE: necesario para ejecutar programas
JVM (inteprete java)
Biblioteca estándar
JDK: necesario para desarrollar programas
Herramientas: javac, jar, javadoc, ...
Construir (Build) = Compilar + Enlazar
Dos opciones:
Herramientas de construcción
Servidor de construcción
make, ninja (C, C++)
ant, maven, gradle (Java)
grunt, gulp (Javascript)
rake (ruby)
make: Makefile
ninja: build.ninja
ant: build.xml
maven: pom.xml
gradle: build.gradle
grunt: Gruntfile.js
gulp: gulpfile.js
rake: Rakefile
Generadores de archivos de construcción
CMake: CMakeLists.txt
Meson: meson.build
Servidores de construcción
Jenkins
TravisCI
CircleCI
Bamboo
TeamCity
Destinados principalmente a C++:
DevC++
Microsoft Visual Studio
QtCreator
Destinados principalmente a Java:
Netbeans
Eclipse
IntelJ IDEA
Oracle JDeveloper