Pregunta

Desde que compré un Nokia N95 8G, he estado pensando en investigar algún desarrollo para Symbian.¿A aquellos con experiencia en desarrollo en el sistema operativo Symbian les podría gustar su sentimiento hacia la plataforma?¿Es difícil empezar? ¿Están maduras las herramientas, etc.?

¿Fue útil?

Solución

Trabajé en el lado del desarrollo del sistema operativo Symbian OS durante poco más de un año.La sensación general del sistema es que es una porquería indocumentada plagada de errores.Lo único positivo que puedo decir es que el código del sistema operativo en sí sigue relativamente bien los estándares de codificación internos.El IDE estándar de CodeWarrior era basura (aunque Carbide, que salió como reemplazo recientemente, es bastante decente, pero la versión gratuita era muy básica y tenía varias versiones atrasadas, al menos hace algún tiempo).El emulador apenas se podía utilizar: funcionaba lento, difería del dispositivo real y fallaba o se colgaba con frecuencia.

Si desea desarrollar en Symbian, prepárese para muchas pruebas y errores porque casi no hay documentación disponible, ni siquiera sobre los conceptos básicos del entorno.Como ejemplo ficticio, la documentación básica para el método "JiggleThingy()" sería "Jiggles the thingy".Por supuesto, hubo muchas ocasiones en las que la implementación también fue bastante diferente de la documentación.

Un conocido dirigió una empresa de desarrollo de software móvil en Asia durante algunos años y desarrolló para prácticamente todas las plataformas.Me dijo que Symbian era el peor de todos: causaba muchos más dolores de cabeza que cualquier otra plataforma móvil.

Se trata de desarrollo en C++.Desarrollar para Symbian usando Java ofrece una funcionalidad tan limitada que no he oído hablar de nadie que realmente lo haya hecho.

Otros consejos

Hemos realizado una cantidad razonable de programación S60 en nuestra organización, además de mucho BREW y fragmentos de casi todo lo demás.

  • Las herramientas del S60 son bastante buenas en comparación con muchas plataformas que he usado.Por ejemplo,
  • Las herramientas de BREW son una vergüenza.
  • La plataforma S60 es bastante poderosa.Puede hacer casi cualquier cosa (aunque es posible que esté restringido por los requisitos de firma).Java ni siquiera vale la pena hacer la comparación, estás tan aislado que no puedes hacer nada...
  • S60 Signing está bien, aunque de vez en cuando nos han molestado un poco (quién no...)
  • La curva de aprendizaje es muy pronunciada.Fundamentalmente, es diferente.Si hay dos formas de hacer algo, una de ellas estándar, entonces Symbian habrá elegido la otra.
  • La documentación, particularmente en FP2, no es eso malo
  • El sistema de construcción es tan malo como todos dicen.

Supongo que podría responder algunos de los aspectos subjetivos de la pregunta como alguien que ha trabajado en Symbian OS durante bastantes años;) Sin embargo, no lo haré, intentaré ceñirme a lo que considero algunos hechos e información útil. .

El teléfono en cuestión ejecuta la interfaz de usuario Nokia Serie 60 (hoy en día llamada s60).Los teléfonos Symbian tradicionalmente se han dividido en el bit del sistema operativo (Symbian OS v9.1, 9.2, etc.) y el proveedor del teléfono compra o desarrolla su propia interfaz de usuario.Una versión particular de s60 se ejecutará en una versión específica de Symbian OS.

Entonces, un buen lugar para comenzar a desarrollar su teléfono es Forum Nokia:http://www.forum.nokia.com/main/resources/technologies/symbian/documentation/getting_started.html

Esto cubrirá las partes de la interfaz de usuario.Debo agregar que los proveedores de UI realizan ellos mismos una gran cantidad de personalización del sistema operativo (con diversos grados de autocontrol/calidad), por lo que las diferencias en las API, especialmente las que involucran hardware, pueden volverse esotéricas.

Symbian en sí proporciona un nivel decente de calidad de documentación, no a la altura de Microsoft pero mejor que muchas ofertas de código abierto.Una buena referencia es Symbian Developer Network:

http://desarrollador.symbian.org

Respecto a las herramientas.El entorno de desarrollo estándar hoy en día es la plataforma Carbide de Nokia, que está basada en Eclipse. Creo que es justo decir que si puedes soportar Eclipse estarás bien, si no puedes...Bueno...tiempo de línea de comando para usted.

Carbide tiene depuración en el dispositivo e incluye compiladores para objetivos PC y ARM (GCC-E).

La mayor parte del desarrollo de aplicaciones se realiza utilizando el emulador Symbian, que formará parte del SDK de Nokia para su teléfono.

Cuando esté listo para instalar la aplicación en el teléfono, deberá mirar Symbian Signed:http://www.newlc.com/new-symbian-signed-processes-are-now-availableMucha gente se ha quejado razonablemente de que puede resultar un poco confuso, pero como desarrollador no comercial, creo que se supone que "Open Signed" es el más fácil.

recomiendo Pitón para S60 como una buena manera de explorar las capacidades de la plataforma Nokia S60/Symbian.Es fácil de usar y viene con una poderosa configuración de API.También hay un libro que cubre muchos ejemplos divertidos.Lo bueno del SDK de Python es que puedes ejecutar código en el teléfono de forma interactiva a través de una consola en tu PC.

Qt para S60 saldrá muy pronto, ya hay disponible una versión preliminar no compatible.Es posible que desees invertir tu tiempo allí, ya que probablemente será la interfaz de usuario favorita de Nokia en el futuro.

He desarrollado algunas aplicaciones Symbian C++, es bastante difícil entenderlo y es particularmente difícil si (como yo) tienes que cambiar entre múltiples entornos de desarrollo (Palm, aunque no tanto ahora, Windows Mobile, escritorio). Windows, THEOS, Linux, HTML/CSS).

Pero he oído hablar de "no documentación" en muchos lugares y no encontré que fuera cierto en absoluto.En algunos casos, había demasiada documentación y la que había allí era demasiado complicada para un novato.El código de muestra era el mismo: hay muchísimo, pero es difícil dividir qué partes del código controlan qué función.

Sin embargo, sé que una vez que te adentras en ello, es bastante sencillo crear algunas aplicaciones bastante impresionantes.Hay una buena comunidad en el Foro Nokia (mencionado anteriormente) y me inspiro al hablar con algunos de los desarrolladores que presentan en la feria Smartphone en Londres.Si tienes tiempo, valdrá la pena ir allí para echar un vistazo, ya que no estás muy lejos y estará abierto a finales de octubre.No es un espectáculo masivo de ninguna manera, pero vale la pena verlo.

La reputación del desarrollo de Symbian OS C++ como hostil (por decir lo menos) es innegable.Por otro lado, la plataforma también es extremadamente poderosa.

Si sólo desea codificar programas personales o pequeños freewares/sharewares, otra plataforma podría ser más adecuada para usted.Si está tratando de encontrar un sistema operativo que pueda sostener una carrera profesional en el desarrollo de software, Symbian, J2ME y, en menor medida, Linux son sus mejores opciones.

La documentación y las herramientas de Symbian evolucionan con cada nueva versión.Usar Symbian OS C++ es cada vez más fácil (pero aún queda un largo camino por recorrer).

Un pequeño anuncio relevante:El último esfuerzo de Symbian Press para presentar a los desarrolladores el ecosistema Symbian.

http://www.quickrecipesonsymbianos.com

Se puede utilizar como un curso paso a paso de 80 horas.

Sólo como aviso, intentamos evitar preguntas subjetivas, según el Preguntas más frecuentes

¿Qué tipo de preguntas no debo hacer aquí?

Evite hacer preguntas que sean subjetivo, argumentativo, o requiere una discusión extendida.¡Este es un lugar para preguntas que se pueden responder!

Ahora eres nuevo, así que está bien :)

En cuanto a tu pregunta, yo diría:

  • ¿A quién le importa si es difícil? Si quieres hacer algo, arremángate y hazlo, ¡cuanto más difícil sea, más gratificante será!
  • No soy un desarrollador de Symbian OS (una vez que tenga una PDA puedo acceder a .NET CF), pero diría que las aplicaciones móviles son en realidad Comenzando a mejorar, muchas aplicaciones ahora se lanzan con una aplicación móvil para mantener a las personas conectadas y usando su software.¡Cuanta más gente lo use = más negocios!
  • Mirando a la página de Wikipedia aquí Yo diría que hay muchas opciones para que los IDE y las plataformas se desarrollen, ¡increíble!

Symbian es un poco diferente a lo que quizás esté acostumbrado, pero es una plataforma estable (más de 200 millones de dispositivos disponibles) y las herramientas están maduras.

El carburo es muy bueno, especialmente si has usado eclipse antes.

Un primer lugar para mirar antes de comenzar a programar Symbian es aquí: http://descriptores.blogspot.com/

Los descriptores son cadenas de Symbians.Son muy eficientes, aunque un poco diferentes de muchas otras implementaciones de cadenas.

Eche un vistazo a NS Basic/Symbian OS.Proporciona un entorno similar a Visual Basic.Es bastante fácil de usar y soluciona muchos de los problemas que causa Symbian OS.Las aplicaciones se ejecutarán en dispositivos S60 3rd Edition y UIQ3 sin cambios.

http://www.nsbasic.com/symbian

Recomiendo intentarlo Superwaba, es una plataforma de desarrollo multiplataforma para PDA que utiliza un lenguaje similar a Java, por lo que es bastante fácil comenzar.

Hoy Nokia Qt SDK 1.0 es liberado.Sin embargo, dudo del futuro de Nokia, que se enfrentará al ya desafiante mercado móvil con su N8, que ha sido superado por el iPhone 4 incluso antes de salir al mercado.Incluso él mismo está en la línea de confesar este.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top