Symbian C++ es el dialecto de C++ en la que el sistema operativo está escrito, todo el camino desde el núcleo hasta el marco de la aplicación. Se diferencia del C++ estándar en varias formas, algunas de las cuales se enumeran a continuación:
- No se usan excepciones; Symbian usa su propio método de desenrollado de pila llamado 'hojas'. La razón principal de esto es que el estándar de C++ aún estaba en desarrollo cuando se creó Symbian, y las excepciones no estaban ampliamente respaldadas por los compiladores en ese momento.
- Debido a la falta de soporte para las excepciones, la administración de la memoria asignada dinámicamente usa un mecanismo propietario denominado la pila de limpieza.
- Aunque un puerto de la STL está ahora disponible para Symbian, este es un desarrollo reciente, por lo que el sistema operativo tiene sus propias clases de utilidad para cadenas, matrices, etc. hashes
En conjunto, estos pueden hacer que el aprendizaje Symbian C++ es bastante difícil, incluso para los programadores con experiencia en C++. La pila de limpieza y las clases de cadenas (conocidas como descriptores) en particular, se considera que agregan bastante sobrecarga al desarrollo de Symbian C++.
Al igual que con cualquier sistema operativo, además de necesitar conocer el idioma nativo, también necesita conocer las bibliotecas que son relevantes para su área de desarrollo. Symbian tiene un conjunto muy rico de bibliotecas que cubren grandes cantidades de funcionalidad (subprocesamiento, IPC, gráficos, multimedia, redes, ubicación, mensajería, PIM, telefonía, etc.). Una vez que te acostumbras a los modismos de Symbian C++, estas bibliotecas son generalmente muy poderosas y ofrecer un conjunto de características al menos igual a otras plataformas. Una excepción notable es la biblioteca de UI, conocida como Avkon, que ahora está bastante anticuada en comparación con los marcos correspondientes en otras plataformas.
Qt tiene como objetivo abordar algunos de los problemas enumerados anteriormente que tienden a poner a las personas fuera del desarrollo nativo en el sistema operativo Symbian. Específicamente, permite un estilo mucho más moderno de programación C++ e incluye un conjunto muy avanzado de bibliotecas de gráficos/UI. Hoy, Qt is available for installation en los dispositivos Symbian más recientes. De cara al futuro, constituirá la base de un marco de aplicación completamente nuevo, que se introducirá en la versión S^4 de the platform (se espera que esté en dispositivos que se envíen a partir de 2011).
Una cosa que debo señalar es que, en este punto, Qt no cubre todas las funciones de las bibliotecas nativas. De la lista anterior, aunque Qt ofrece abstracciones de hilos, IPC, gráficos, multimedia y redes, sus bibliotecas principales no incluyen ubicación, mensajería o funcionalidad PIM. Entonces, aunque puede usar Qt para escribir (por ejemplo) un cliente FTP, un programa de dibujo o un reproductor multimedia, no puede usarlo para escribir un cliente de mensajería. Como Qt es C++, puede puede mezclarlo con Symbian C++ nativo (bajando a las API de la plataforma para acceder a la mensajería, por ejemplo), pero esto es algo complejo.
Esta brecha de funcionalidad está siendo abordada por un proyecto llamado Qt Mobility, que introducirá las bibliotecas Qt que cubren áreas como ubicación, mensajería y PIM.
En resumen, si es nuevo en Symbian, Qt es el entorno de desarrollo de aplicaciones para aprender, y hacerlo tiene la ventaja adicional de que también puede desarrollar aplicaciones Qt en otras plataformas (ya que es un conjunto de herramientas multiplataforma) .
Muchas gracias ~ ¿Qué hay de Java ME en Symbian? –
Mi respuesta se concentró en las opciones de desarrollo nativas de C++, pero Symbian también admite muchos otros tiempos de ejecución. Además de Java ME, también puedes desarrollar en Flash, Python, WRT, .NET (con bibliotecas propietarias), ... la lista continúa ... –
Muchas gracias –