SDK Multiplataforma en C logo

SDK Multiplataforma en C

Inicio rápido

Siguiente ❯

"...el número de instalaciones UNIX ha aumentado a 10, y se esperan más..." Dennis Ritchie y Ken Thompson - Junio de 1972


NAppGUI es un SDK para desarrollar proyectos software en lenguaje C que funcionen en cualquier plataforma de escritorio (Windows, macOS o Linux) (Figura 1). Se puede utilizar C++ pero no es indispensable. Podemos desarrollar un programa completo utilizando únicamente ANSI-C.

Captura de una aplicación en Windows, macOS y Linux escrita en C con NAppGUI.
Figura 1: NAppGUI permite portar de manera sencilla aplicaciones escritas en ANSI C.

1. Inicio rápido en Windows

Antes de empezar necesitas tener instaladas estas herramientas (Figura 2):

  • Visual Studio para compilar bajo Windows. Microsoft ofrece la versión gratuita Community.
  • CMake. Herramienta multiplataforma para crear los proyectos de compilación de forma automática, a partir del código fuente. Ten la precaución de seleccionar Add CMake to the system PATH for all users durante la instalación (Figura 3).
  • Git. Para descargar el proyecto desde GitHub.
  • Iconos de Visual Studio, CMake y Git.
    Figura 2: Herramientas básicas en Windows.
    El instalador de CMake mostrando la selección del PATH en Windows.
    Figura 3: Acceso a CMake desde la línea de comandos.

Desde una consola en Windows:

 
git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -S ./src -B ./build
cmake --build ./build --config Debug

Una vez compiladas, ya podrás ejecutar las aplicaciones de ejemplo existentes en el directorio \build\Debug\bin (Figura 4).

 
.\build\Debug\bin\Die.exe
.\build\Debug\bin\Bricks.exe
.\build\Debug\bin\Products.exe
.\build\Debug\bin\Col2dHello.exe
.\build\Debug\bin\GuiHello.exe
...
Ejecución de una aplicación de ejemplo en Windows.
Figura 4: Ejecución del programa de ejemplo Products tras la compilación.

2. Inicio rápido en macOS

Antes de empezar, asegurate que tienes instalado y configurado Xcode, entorno imprescindible para el desarrollo bajo macOS. También necesitarás descargar e instalar CMake desde www.cmake.org (Figura 5).

El bundle de CMake a punto de ser instalado en macOS.
Figura 5: Xcode y CMake en macOS.
For defecto, CMake no configura el acceso por línea de comandos en macOS. Puedes crear enlaces simbólicos con sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install.

Abre un terminal en macOS:

 
git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -G Xcode -S ./src -B ./build
cmake --build ./build --config Debug

Una vez compiladas, ya podrás ejecutar las aplicaciones de ejemplo existentes en el directorio /build/Debug/bin (Figura 6).

1
2
3
4
5
6
./build/Debug/bin/Die.app/Contents/MacOS/Die
./build/Debug/bin/Bricks.app/Contents/MacOS/Bricks
./build/Debug/bin/Products.app/Contents/MacOS/Products
./build/Debug/bin/Col2dHello.app/Contents/MacOS/Col2dHello
./build/Debug/bin/GuiHello.app/Contents/MacOS/GuiHello
...
Ejecución de una aplicación de ejemplo en macOS.
Figura 6: Ejecución del programa de ejemplo Bricks tras la compilación.

3. Inicio rápido en Linux

Antes de empezar, asegúrate que tienes instalados los compiladores, herramientas y librerías necesarias:

 
// Development tools
sudo apt-get install build-essential
sudo apt-get install git
sudo apt-get install cmake

// Development libraries
sudo apt-get install libgtk-3-dev
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install libcurl4-openssl-dev
NAppGUI necesita, como mínimo gcc 4.6, gtk3 (para aplicaciones de escritorio), OpenGL (si tu aplicación utiliza gráficos 3D) y Curl (para protocolos Web). Todo esto se incluye a partir de Ubuntu 12.04 LTS o distribuciones similares.

Abre un terminal:

 
git clone --depth 1 https://github.com/frang75/nappgui_src.git
cd nappgui_src
cmake -S ./src -B ./build -DCMAKE_BUILD_CONFIG=Debug
cmake --build ./build -j 4

Una vez compiladas, ya podrás lanzar las aplicaciones de ejemplo existentes en el directorio /build/Debug/bin (Figura 7).

 
./build/Debug/bin/Die
./build/Debug/bin/Bricks
./build/Debug/bin/Products
./build/Debug/bin/Col2dHello
./build/Debug/bin/GuiHello
...
Ejecución de una aplicación de ejemplo en Linux.
Figura 7: Ejecución del programa de ejemplo Col2dHello tras la compilación.

4. Licencia MIT

NAppGUI se distribuye bajo licencia MIT lo que significa, en esencia, que tienes total libertad para utilizar este software de forma libre y gratuita, tanto en proyectos comerciales como libres. La única restricción es que debes incluir una copia de esta Licencia en cada parte sustancial del software que distribuyas.


5. Conocimientos previos

Este libro no está dirigido a principiantes. Si bien el proyecto NAppGUI está orientado a simplificar la construcción de aplicaciones multiplataforma, requiere ciertos conocimientos previos por parte del usuario. Necesitarás, al menos, desenvolverte con soltura en C ó C++ ya que en ningún momento nos detendremos a explicar conceptos básicos de programación. Si vienes de Java o C# te convendría dar un repaso a los punteros. También necesitarás cierta habilidad con los entornos de desarrollo Visual Studio, Xcode y herramientas Unix como gcc, make o el intérprete de comandos.

Por otro lado, si eres un usuario avanzado, encontrarás un sistema sencillo para crear aplicaciones en C muy rápidas y de tamaño reducido que compilarán sin cambios en todos los entornos de escritorio. También tendrás a tu disposición un conjunto de librerías C para crear interfaces de usuario o aplicaciones por línea de comandos, sin necesidad de ensuciar tus proyectos con las engorrosas plantillas de clases que proporcionan stl o boost.


6. ¿Y ahora que?

Siguiente ❯