¿Qué es lo que más te gusta de Codename One?
La característica principal es su simplicidad (para nosotros - desarrolladores).
Es de código abierto. (proyecto en Github)
La curva de aprendizaje para los desarrolladores de Java que conocen "Componentes Swing" tiene una forma exponencial positiva. Los componentes visuales de CodeNameOne fueron implementados usando la misma abstracción que proviene de los Componentes Swing de Java. No son componentes Swing, pero trabajamos con ellos usando una forma de pensar lógica visual similar.
Solo necesitamos IDE + plugin de Codenameone. No hay instalaciones de SDK - este hecho ahorra mucho tiempo y dolores de cabeza. Hay plugins para los principales IDEs de Java en el mercado (NetBeans, Eclipse e IntelliJ).
CodeNameOne construye paquetes para varias plataformas:
iOS,
Android,
Blackberry,
Windows Phone,
Windows Desktop (.exe)
J2ME,
JavaScript Build (.war)
Mac xOS Desktop (dmg).
Puedes llamar/escribir código nativo si es necesario.
Hay varias extensiones gratuitas (podemos descargar y añadir en nuestros proyectos), como la integración del SDK de Sales Force, Google Native Maps, Bouncy Castle - API de Encriptación/Seguridad, etc...
Rendimiento:
CodenameOne utiliza Java como lenguaje de programación, pero el paquete generado se reescribe completamente en el lenguaje nativo de la plataforma objetivo.
En iOS, por ejemplo, el paquete de construcción está en lenguaje Objective-C.
Todas las construcciones para todas las plataformas están disponibles mediante servicios en la nube lanzados directamente desde el IDE. (Un clic)
Después de unos segundos, puedes acceder a tu construcción solicitada desde el sitio de codenameone.
(Se generan un código QR y un enlace)
También viene con herramientas útiles: (todas dentro del plugin de codenameone)
1. Constructor de UI Gráfico (Pero puedes codificar todas las aplicaciones usando programación directa - archivos de texto .java con código Java)
2. Simuladores de Dispositivos (Skins para los principales dispositivos en el mercado)
3. Simulador de Ubicación.
4- Monitor HTTP
Excelente personal técnico y equipo.
Buena documentación, videos, seminarios web,....
Foro receptivo. Reseña recopilada por y alojada en G2.com.
¿Qué es lo que no te gusta de Codename One?
1) Aún así, el código debe estar escrito en Java 5. (la migración a Java 8 está en progreso)
Actualizado el 14/09/2016:
Obs: La migración a Java 8 se completó con éxito hace unos meses.
Ahora, es posible usar Java 8 en proyectos de Codename One.
2) En mi opinión, el Constructor de Interfaz Gráfica es para proyectos pequeños.
Cuando la complejidad del proyecto crece, editar un archivo grande con todos los manejadores de eventos dentro es extremadamente incómodo.
En mi proyecto no utilicé el Constructor de Interfaz Gráfica, codifiqué mi interfaz de usuario programáticamente en Java.
Afortunadamente, es muy fácil hacer esto en CodeNameOne.
3) Los temas visuales predeterminados son muy primitivos. Pero CodeNameOne nos ofrece varios recursos para mejorar eso. Reseña recopilada por y alojada en G2.com.