Antes de responder sobre el desarrollo de Go (lenguaje de programación) en Android (sistema operativo), permítanme enfatizar algo sobre Objective-C e iOS.
Como sabrán, Apple tiende a crear ecosistemas estrechos alrededor de sus productos (principalmente computadoras Mac antes del iPhone / iOS), ahora Objective-C es el idioma nativo para la mayoría del ecosistema Mac OS X (probablemente debido a su legado NeXTSTEP). De todos modos, para el desarrollo moderno de OS X con la API de Cocoa, Objective-C es el idioma predeterminado. Entonces, al comenzar el ecosistema iOS, Apple estaba interesado en permitir que su comunidad de desarrolladores usara las herramientas con las que están familiarizados, por lo que Objective-C fue una buena opción para el lenguaje de programación predeterminado. Hoy puede usar los lenguajes de programación compilados más populares para el desarrollo de iOS, pero las API principales siguen siendo Objective-C y, por lo tanto, Objective-C sigue siendo el valor predeterminado.
Android, por otro lado, se basa en una versión bastante mínima del kernel de Linux con una máquina virtual Java llamada Dalvik que se ejecuta encima y la mayoría de las aplicaciones de Android que se ejecutan dentro de la máquina virtual Dalvik, que hacen de Java el lenguaje de programación predeterminado para el desarrollo de Android. La razón, por cierto, es probablemente muy similar a la razón por la cual Objective-C es el lenguaje predeterminado para iOS: Java se usa extensivamente a través del ecosistema de Google (por ejemplo, App Engine, GWT, SDK) e internamente, por lo que fue un paso lógico para usa Java para Android.
- Cómo crear una aplicación móvil en la que los clientes puedan iniciar sesión y acceder a los archivos que publico
- ¿Puedo usar un proyecto github con licencia Apache?
- ¿Cuál es la diferencia entre una lectura negativa y positiva de un acelerómetro?
- Estamos decidiendo entre jQuery Mobile, Sencha Touch y Dojo Mobile. ¿Cuáles son los pros y los contras de cada uno? Queremos crear una experiencia HTML5 que apunte a la mayoría del mercado de navegadores de teléfonos inteligentes, combinándola con una experiencia nativa con PhoneGap.
- ¿Pagaría en una función de aplicación móvil que le permite solicitar una guía confiable que se ajuste a sus necesidades o un entrenador para hacer un seguimiento con usted?
Ahora considere IR; Primero, su desarrollo comenzó cuando Android ya estaba en marcha, y se lanzó después de que se lanzó Android. Además, hubo, y por el contrario todavía, hay muy pocos desarrolladores competentes con GO, y si desea un ecosistema de rápido crecimiento, necesita desarrolladores competentes y hacer que los desarrolladores aprendan un nuevo idioma podría estar poniendo la barra de entrada un poco alta para atraer desarrolladores. a un ecosistema en desarrollo. Además de esto, también vale la pena considerar los simples hechos de que Java es más maduro que GO, y que el enfoque principal de GO es el sistema concurrente, que aún debe ser altamente relevante para los teléfonos móviles.
Dicho todo esto, puede usar el comando GO 5g (http://golang.org/cmd/5g/) para crear ejecutables compatibles con ARM que se ejecutarán en un dispositivo Android, pero esta opción está muy limitada en este momento, ya que no hay No es compatible con hardware de punto flotante y no admite interfaces externas, por lo que solo puede escribir aplicaciones de enteros de línea de comandos para Android con GO.