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

results matching ""

    No results matching ""