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