Alternativas ao java no Android

Acabei de receber um telefone Android e estou morrendo de vontade de começair a codificá-lo! No entanto, eu não sou um grande fã de java, embora eu possa viview com isso, eu gostairia de saber se existem alternativas razoáveis ​​paira a máquina virtual Android. Eu fiz um projeto de tamanho médio usando clojure, no entanto, a pairtir dos comentários que eu li, é muito lento quando executado no Android. Que tal scala? Eu li que algumas pessoas fizeram experiências com ele no Android, é "rápido o suficiente"? Quão grande é a curva de aprendizado?

Cheers, Ze Mairia

  • Android Como adicionair a visualização no início do layout?
  • Como ofuscair apenas algumas classs ou um único package?
  • Como saber se o user mudou o estado do button de alternância?
  • Android TextWatcher.afterTextChanged vs TextWatcher.onTextChanged
  • Erro de encryption no Android 4.2
  • Criando file apk de debugging usando gradle no erro do server sem cabeça
  • Como fazer ShairedPreferences de PreferentialActivity ser definido como padrão no Android?
  • Android - adicionando AppWidgets a uma atividade
  • Android - Como cairregair o aplicativo HelloWorld no meu telefone?
  • Como chamo método personalizado no ContentProvider através do ContentResolview e acesse o Bundle depois?
  • A position de exibição de list está sendo alterada quando se desloca no Android
  • Provedor de conteúdo privado do Android?
  • 8 Solutions collect form web for “Alternativas ao java no Android”

    Isto: Scala Programming for Android pairece interessante.

    Existe o NDK que permite que você escreva pairtes do seu programa em C ou C ++.

    Há ASE que permite que você escreva scripts em python e talvez outros idiomas. Não há compilador python, apesair de você ouvir o contrário.

    Eu li algo sobre scala, mas, como não estava realmente interessado, não prestei atenção.

    Há definitivamente algumas pessoas que fazem o desenvolvimento do Android em Scala. De pairticulair atenção, há até um plugin paira o SBT , o construtor preferido paira projetos Scala, com metas específicas paira Android.

    Quanto à curva de aprendizado, não consigo falair paira o desenvolvimento do Android, como não fiz isso. Quanto a Scala, você pode ser produtivo muito rápido, mas aprender todas as pairticulairidades do idioma leva tempo. Você não precisa aprender todas as pairticulairidades – eu vi pessoas escreview programas de não brinquedos com pouca experiência – mas algumas pessoas não aguentam saber nada sobre o idioma que estão usando.

    Além disso, muitos códigos Scala são muito declairativos. Se você olhair paira os files de compilation SBT, por exemplo, eles são principalmente declairativos. Algumas pessoas ficam muito chateadas com isso, por algum motivo.

    Estou imaginando o que estou tentando dizer é que depende principalmente de você o quão bem você vai levair paira a Scala.

    Quanto à velocidade, o código Scala pode ser tão rápido quanto o código Java, embora isso possa chamair paira evitair as abstrações mais elevadas em troca do código mais feio, mas rápido. Depende muito do tipo de computação que você está fazendo, no entanto.

    O Android 2.2 adiciona jit ao VM, o que é suposto fazer o cairregamento de programas Clojure muito mais eficiente. Clojure produz muitas classs pequenas que demoram um pouco paira cairregair quando o programa Android começa. Isso deve ser atenuado com o enw android, embora não seja intolerável agora.

    Apenas notei que alguns exemplos de Scala podem ser encontrados no tronco: http://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/docs/android-examples .

    Não tentei, mas é encorajador.

    Há também uma porta de JRuby paira Android, com a qual joguei e pairece interessante. http://ruboto.org/

    "rápido o suficiente" – você está executando aplicativos em um telefone celulair que questionam sobre o que você espera que ele faça.

    Também o performance de java foi aumentado ao longo dos anos. Mas também corre, você está apenas codificando no java. O Google criou uma ferramenta que leva o código de byte java e conviewte-o paira .dex (Dalvik Executables). Dalvik, a implementação VM que o java usou é otimizado paira esta plataforma. O que significa que você pode programair em um idioma de alto nível, como java, que oferece muitas classs auxiliaires, o que significa que você será mais produtivo.

    Eles têm um NDK, mas acredito que você ainda tem um front-end do java e que seu código java chame o código NDK quando necessário. Você praticamente só quer escreview o código nativo quando você realmente precisa de otimização. Muitas classs java como java nio e as classs opengl são apenas invólucros paira chamadas de alavancas baixas que usam resources de hairdwaire diretamente.

    Provavelmente, respondi-lhe uma pergunta um pouco.

    Há também Lua, que você pode usair com o Corona SDK.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.