O que você mais gosta Codename One?
A principal característica é sua simplicidade (para nós - desenvolvedores).
É open source. (projeto no Github)
A curva de aprendizado para desenvolvedores Java que conhecem "Componentes Swing" tem uma forma exponencial positiva. Os componentes visuais do CodeNameOne foram implementados usando a mesma abstração que vem dos Componentes Swing do Java. Eles não são componentes Swing, mas trabalhamos com eles usando uma maneira semelhante de pensar a lógica visual.
Precisamos apenas do IDE + plugin Codenameone. Sem instalações de SDK - esse fato economiza muito tempo e dores de cabeça. Existem plugins para os principais IDEs de Java no mercado (NetBeans, Eclipse e IntelliJ).
CodeNameOne constrói pacotes para várias plataformas:
iOS,
Android,
Blackberry,
Windows Phone,
Windows Desktop (.exe)
J2ME,
JavaScript Build (.war)
Mac xOS Desktop (dmg).
Você pode chamar/escrever código nativo, se necessário.
Existem várias extensões gratuitas (podemos baixar e adicionar em nossos projetos), como integração com Sales Force SDK, Google Native Maps, Bouncy Castle - API de Criptografia/Segurança, etc...
Desempenho:
CodenameOne usa Java como linguagem de programação, mas o pacote gerado é completamente reescrito na linguagem nativa da plataforma alvo.
No iOS, por exemplo, o pacote de build está na linguagem Objective-C.
Todos os builds para todas as plataformas estão disponíveis por serviços em nuvem lançados diretamente do IDE. (Um Clique)
Após alguns segundos, você pode acessar seu build solicitado no site do codenameone.
(Código QR e link são gerados)
Também vem com ferramentas úteis: (todas dentro do plugin codenameone)
1. Construtor de UI Gráfico (Mas você pode codificar todos os aplicativos usando programação direta - arquivos de texto .java com código Java)
2. Simuladores de Dispositivos (Skins para os principais dispositivos no mercado)
3. Simulador de Localização.
4- Monitor HTTP
Excelente equipe técnica e equipe.
Boa documentação, vídeos, webinars,....
Fórum responsivo. Análise coletada por e hospedada no G2.com.
O que você não gosta Codename One?
1) Ainda assim, o código deve ser escrito em Java 5. (a migração para Java 8 está em andamento) Atualizado em 14/09/2016: Obs: A migração para Java 8 foi concluída com sucesso há alguns meses. Agora, é possível usar Java 8 em projetos Codename One.
2) Na minha opinião, o Construtor de UI Gráfica é para projetos pequenos. Quando a complexidade do projeto cresce, editar um arquivo grande com todos os manipuladores de eventos dentro dele é extremamente desconfortável. No meu projeto, não usei o Construtor de UI Gráfica, codifiquei minha UI programaticamente em Java. Felizmente, é muito fácil fazer isso no CodeNameOne.
3) Os temas visuais padrão são muito primitivos. Mas o CodeNameOne nos oferece vários recursos para melhorar isso. Análise coletada por e hospedada no G2.com.