Articulo de referencia

Carburo.c++

Carbide.c++ es una herramienta de desarrollo de software para C++ en Symbian OS . Se utiliza para desarrollar teléfonos que usan este sistema operativo, así como aplicaciones pa...

Carbide.c++ es una herramienta de desarrollo de software para C++ en Symbian OS . Se utiliza para desarrollar teléfonos que usan este sistema operativo, así como aplicaciones para dichos teléfonos. Está basado en la plataforma Eclipse IDE , mejorada con complementos adicionales para el desarrollo en Symbian OS. El producto es proporcionado por la Fundación Symbian bajo un modelo de código abierto . En abril de 2009, Nokia transfirió Carbide.c++ y muchas otras herramientas de desarrollo de software a la Fundación Symbian . Actualmente, los miembros de la comunidad Symbian administran y contribuyen con código a Carbide.c++.

Paquetes de herramientas

La Fundación Symbian proporciona Carbide.c++ en dos paquetes de herramientas diferentes.

  • El kit de herramientas para el desarrollo de aplicaciones (ADT) contiene herramientas para el desarrollo de aplicaciones, incluyendo el entorno de desarrollo integrado (IDE), el depurador y las herramientas de análisis.
  • El kit de herramientas para el desarrollo de productos (PDT, por sus siglas en inglés) contiene herramientas para la contribución y la creación de productos.

Tanto ADT como PDT son instaladores básicos que incluyen Carbide.c++, varios complementos basados ​​en Eclipse y varias herramientas independientes.

ADT/PDT v1 contiene Carbide.c++ v2.0.4. ADT/PDT v2 (Q4 2009) está diseñado para contener Carbide.c++ v2.2.

Tecnología

Carbide.c++ se basa en las últimas versiones de Eclipse IDE y Eclipse CDT , ampliadas con características específicas del sistema operativo Symbian. Actualmente, admite el compilador WINSCW x86 C++ incluido en CodeWarrior para la generación de binarios de emuladores. Para los binarios de destino, admite los compiladores GCC y ARM RVCT (que se venden por separado). Los compiladores WINSCW y GCC se proporcionan en el SDK y no están incluidos explícitamente en Carbide IDE.

Carbide.c++ se ha ramificado muy poco en CDT ; casi todo se encuentra dentro de complementos añadidos a Eclipse. Las pocas ramificaciones se relacionan principalmente con la semántica diferente del motor de depuración CodeWarrior, en comparación con GDB , que era el que Eclipse soportaba anteriormente. Dado que Carbide.c++ es muy similar a una instalación estándar de Eclipse, aún puede usarse para otros tipos de desarrollo, como Java o Perl (siempre que se instalen los complementos correctos mediante el mecanismo de autoactualización de Eclipse). De manera similar, debería ser posible crear un producto con una funcionalidad similar a la de Carbide.c++ trasladando los complementos de Carbide.c++ a una instalación estándar de Eclipse; esta funcionalidad no la ofrece actualmente Nokia.

Carbide.c++ es compatible con Symbian Build System v1 y v2 (también conocido como Raptor). El primero es un sistema de compilación basado en Perl, mientras que el segundo está desarrollado con Python y es compatible con los sistemas operativos Symbian OS de última generación. La principal ventaja de la compatibilidad con SBSv1 y v2 en Carbide es que los usuarios pueden crear compilaciones desde la línea de comandos en paralelo con las compilaciones del IDE, sin tener que gestionar dos espacios de trabajo diferentes. La desventaja de SBSv1 es que la comprobación de dependencias es automática en cada compilación, y la recompilación de proyectos grandes puede tardar bastante. Carbide.c++ incorporó algunos atajos (a partir de la versión 1.3) para acelerar las recompilaciones.

Las primeras versiones de Carbide (v1.0, 1.1) admitían un método de compilación diferente que presentaba muchos problemas.

Historia

La familia de herramientas de desarrollo Carbide.c++ se creó para reemplazar a CodeWarrior como entorno de desarrollo principal para Symbian OS. La adopción de la herramienta ha sido lenta, pero el uso de CodeWarrior está disminuyendo, ya que la versión anterior ya no es compatible con los últimos cambios en Symbian OS y las plataformas S60.

Carbide se ofrecía inicialmente como tres productos comerciales y uno gratuito. Actualmente, el producto forma parte de la oferta de la Fundación Symbian y es completamente gratuito.

  • Express : herramientas básicas para el desarrollo de aplicaciones. Incluye gestión de proyectos, creación de código, compilación con emulador y GCC-E, y depuración de emuladores. La edición Express era gratuita y no permitía el desarrollo directo en teléfonos de producción.
  • Edición para desarrolladores : orientada al desarrollo de software para el mercado secundario. Incluye funciones Express, un diseñador de interfaz de usuario (para la creación rápida de interfaces) y depuración en el dispositivo a nivel de aplicación para teléfonos S60 y UIQ.
  • Profesional : Dirigido a fabricantes de teléfonos con sistema operativo Symbian, sus socios y proveedores de aplicaciones/middleware que trabajan en proyectos exigentes. Incluye funciones para desarrolladores, depuración en el dispositivo a nivel de sistema y herramientas de análisis de rendimiento.
  • OEM : Diseñado para el desarrollo embebido de acceso anticipado, como el desarrollo de controladores, la adaptación de bases de software y el desarrollo de aplicaciones y middleware dependientes del hardware. Incluye funciones profesionales y depuración en modo de parada mediante emuladores en circuito de Lauterbach y Sophia.

Los precios de los productos oscilaban entre 300 y 8000 euros, dependiendo de las características y el modelo de licencia.

Carbide tuvo una acogida lenta en la comunidad Symbian. Los desarrolladores generalmente no son partidarios de adoptar nuevas herramientas, y las primeras versiones de Carbide presentaron problemas. Se mencionaron varias quejas frecuentes , como la falta de indentación de código al estilo de Symbian OS, la ausencia de una función sencilla para buscar en archivos, la velocidad de importación de archivos de compilación de Symbian OS (MMP) y las dificultades para usar la depuración en el dispositivo. Además, el tan esperado Sistema de Compilación Gestionada no funcionó correctamente : en lugar de ofrecer una compilación incremental real, borraba todo con frecuencia y volvía a empezar. Por lo demás, la acogida fue positiva: el entorno de desarrollo se prefiere a CodeWarrior, el IDE está basado en Java, por lo que existen algunas preocupaciones sobre la velocidad y la memoria, el IDE suele ser lento y consume bastante memoria, características propias del entorno Java.

Carbide.c++ ha avanzado de forma constante en la solución de los problemas planteados por la comunidad de desarrolladores. El uso de CodeWarrior ha disminuido significativamente debido a las mejoras en Carbide y a la falta de compatibilidad de CodeWarrior con las versiones más recientes del sistema operativo Symbian.

Referencias

  • Aubert, Michael (31 de julio de 2008). Recetas rápidas en Symbian OS: Dominando el desarrollo de smartphones con C++ . John Wiley & Sons. ISBN 978-0-470-77413-7. Consultado el 10 de mayo de 2025 .
  • Rischpater, Ray; Zucker, Daniel (2010). «Trabajando con el SDK de Nokia Qt» . Desarrollo de aplicaciones Nokia para principiantes: Qt y HTML5 para Symbian y MeeGo . Apress. pp. 39–57 . doi : 10.1007/978-1-4302-3178-3_3 . ISBN  978-1-4302-3178-3. Consultado el 10 de mayo de 2025 .
  • Kits de desarrollo de software (SDK) específicos de Nokia
  • Una alternativa: desarrollo de Symbian OS dentro del IDE XCode de Apple.
  • Wiki para desarrolladores de Symbian C++ - Nokia