Hace 16 años | Por lectoresalmeria a google.dirson.com
Publicado hace 16 años por lectoresalmeria a google.dirson.com

Hasta la fecha cada fabricante de teléfono móvil ponía en él su propia Máquina Virtual de J2ME con lo que muchas veces una aplicación no funcionaba en dos móviles diferentes. En el Sistema Operativo móvil de Google (Android) se ha obligado a todo aquel que tome parte a firmar un acuerdo por el que no puede modificar el código de manera "no compatible".

Comentarios

sauco82

#6 El uso de estándares es bueno para el desarrollo software, si estos están basados en software libre más y aún mejor en el mercado de los móviles que compiten por la "inter-incompatibilidad"

sorrillo

"Google obliga a los miembros de Android a utilizar una sola Maquina Virtual de Java" creo que se presta a confusión.

Mas claro así:
"Google obliga a los miembros de Android a utilizar una Maquina Virtual de Java concreta"

o así:
"Google obliga a los miembros de Android a utilizar la misma Maquina Virtual de Java"

D

Aclaración a los que no pillais lo de las distintas JVM: la cuestión está en que, independientemente de la JVM, al meter un programa el resultado tiene que ser exactamente el mismo que en la JVM de referencia para poder decir que la JVM es válida. Si la salida es distinta, la JVM ya no es válida, que es, más o menos, lo que pasa(¿ba?) con la versión de Microsoft, por ejemplo.

Eso no impide que internamente la JVM haga las cosas de una manera o de otra. Por poner un ejemplo exagerado, podría haber una JVM que usase para ordenar una lista un algoritmo de burbuja y otro que usase el quicksort; y serían compatibles porque el resultado (la lista ordenada) sería la misma, aunque el rendimiento no sería ni aproximadamente el mismo.

sanchez

curioso las declaraciones de symbian, aunque omiten que con el poder de google seguramente android se convierta en un estándar

D

#10 si, lo de java es muy bonito, pero lo que ocurre es que si Nokia por ejemplo hace su propia implementacion de la maquina virtual y lo hace a su manera, Motorola lo mismo, etc y cada uno con unos bugs/features distintos, pues al final acabas teniendo que hacer una version del programa para nokia, otra para Motorola, y asi. Mas o menos cuando en tiempos ya afortunadamente pasados, habia una version de una web para explorer y otra para netscape. Las dos se basaban en HTML, pero cada uno lo interpretaba a su manera. Pues aqui igual.
Lo que fuerzan ahora con android es a usar todos la misma maquina virtual, para que si sean de verdad portables las aplicaciones.

D

El título es erróneo o al menos confuso, debería ser que google obliga a los desarrolladores de Android a usar la misma (versión) máquina virtual de Java. Lo cual me parece lógico para evitar luego problemas de incompatibilidad y portabilidad.

bewog

Lo primero de todo, android no utiliza NINGUNA maquina virtual java, utiliza otra que se han sacado de la manga, dalvik, a la cual compilan el traducen el código resultante de la compilación para la java vm. Es bastante logico que esta maquina virtual sea estandart, pero si tu haces una mas optima y que sea compatible, eres libre de utilizarla. Al fin y al cabo la plataforma tiene licencia apache, así que si quieres modificarla puedes. Ahora bien, al igual que apache, tu puedes modificarlo pero no decir que el resultado se llama apache, pues aquí lo mismo.

D

Nokia es todavía novato en este campo... desastre total es lo existe en los symbian.

N

El titular tiene delito, amarillista hasta decir basta.

Overmind

#10: Con Java uno no debería preocuparse por la plataforma destino. El problema es que en la práctica las cosas no eran así, porque cada implementación tenía deferencias notables que eran causa de incompatibilidad. Por eso Google obligará a utilizar una misma JMV, para evitar posibles incompatibilidades que pudieran surgir de usar diferentes JVMs.

D

#0 #2 He agregado algunas etiquetas más. Si el autor no está de acuerdo, sólo tiene que decirlo

D

Ya comienza el FUD anti-google... lo bueno es que en los comentarios siempre se aclaran las cosas.

l

nenes, android NECESITA UNA VM UNICA, porque hasta esa capa, todo va a ser distinto segun que modelo de teléfono. se hace así para garantizar compatibilidad, y de paso, tener una maquina virtual optimizada para este sistema operativo. Si ese codigo se ejecuta en una maquina virtual java convencional, funcionará perfectamente.

que alguien me explique que tiene esto de maligno... cuanto FUD suelto!

HeavyBoy

#12 con dos cojones. lol Android mola un huevo de avestruz. y punto!

Anonymoos

Cómo no va a haber duplicadas con esas etiquetas tan descriptivas.

L

A mi aún no me queda claro una cosa: Android utilizará JVM o KVM? Porque después de que SUN declarara que abandona J2ME a su suerte, yo pensé que era una tecnología en vías de extinción.
De no ser así, esto llega años tarde pero al menos llega. Es lo que J2ME debería haber sido: http://javablog.co.uk/2007/11/12/android-what-j2me-should-have-been/

D

DIOSS, que bueno, a ver si el JSR 82 empieza a funcionar en condiciones, sobre todo en motoMierda, o sacan una versión para Windows Mobile, que las versiones de la JVM que hay ahora me provocan sarpullido.

D

Me lo expliquen por favor ¿Java no era para no tenerse que preocupar de la plataforma de destino?
Si ahora los desarrolladores tienen que ajustarse a una plataforma específica ¿por qué no lo hacen a la plataforma nativa y lo hacen a una maquina virtual con las mismas restricciones y menor rendimiento?

g

#10, buena pregunta.... El tema es... quien coño va a hacer la JVM para Android? lol porque hacer una JVM para un SO nuevo cuesta muchooo (dinero y esfuerzo). Yo pienso que sería mejor que se dejasen de java y fuera todo en nativo con una plataforma de desarrollo chula.... Ya veremos, no nos anticipemos señores.

jsianes

Es curioso ver como Google cada vez se parece mas a Microsoft, ¿no creeis?