Hace 12 años | Por deedee_agonias a sgoliver.net
Publicado hace 12 años por deedee_agonias a sgoliver.net

Interesante post para los que estamos empezando con esto de la programación en Android y no tenemos ni idea de por donde empezar

Comentarios

D

#3 Los de Bilbao hacen primero el teléfono, luego el lenguaje, luego el SO y luego la aplicación.

m

#14 ... Te equivocas, los de Bilbao primero hacemos la aplicacion, y luego el compilador, el SO y el telefono para que se ejecute

deedee_agonias

#1 que eres de Bilbao?

D

#2 Los de Bilbao empezamos desde el entero -2,147,483,648.

C

#1 es que esto es muy discriminatorio, donde está el "Desarrollo en Android desde uno" para los que vienen de Visual Basic?

D

#35 Yo desarrollo para iOs y Android... Sobre todo videojuegos que es donde está la pasta lol .

OpenGL ES 2.0 o 1.1... Mi recomendación es 1.1 por que hay muchísimos más dispositivos que lo soportan.

Sobre la plataforma. No te cases con ninguna plataforma. Si te vas a dedicar a las plataformas móviles en serio intenta desarrollar para ambas al mismo tiempo. Aunque ganar dinero con Android es jodido al final el esfuerzo merece la pena...

#36 Pues es como me gano la vida, no entiendo el tono irónico.

D

#37 Es precisamente eso lo que me interesa, pero de momento programo con OGL en PC a falta de dar el salto. Por ahora sólo tengo un buscaminas en OGL y un pequeño proyecto de motor 3d al que le falta madurar mucho (empecé en verano a programar en serio, no me pidas más :P). ¿Hay mucha diferencia entre OGL y OGL ES? ¿Y los equivalentes al Red y Blue Books?

Tomo nota de tu consejo.

D

#39 Pues depende de lo que quieras hacer... Está bastante limitado, pero es que para dispositivos móviles no queda otra

hurd

Este también está muy bien... http://developer.android.com/guide

D

#35 java no es un lenguaje interpretado, es un lenguaje compilado en tiempo de ejecución, que no es lo mismo.

Has dicho muchas cosas que no son ciertas y pronosticado cosas fruto de prejuicios y campanas oidas no sabes bien donde.

Java puede ser un lastre en HW no preparado para el, pero los moviles y las tablets hacen mucho que superaron con creces la potencia necesaria para que el hecho de usarlo solo suponga ventajas para el programador.

Y para todo lo demas: NDK

D

#43 Ni campanas ni ostias, es lo que pienso. Y poco me importan las ventajas del programador a la hora de comprar sus aplicaciones. lo que me importa es que no gasten más memoria de la necesaria ni más CPU de la necesaria. Y java gasta más de ambos debido a la máquina virtual y a que se necesita tener el codigo en memoria 2 veces. Puede que en Android esté muy bien implementado pero sigue teniendo esa pega.

#41 No he pedido ninguna guía... Sólo he preguntado si se puede seguir en c o c++ o sólo sirve para java. Por ahora tengo ni idea de cómo funciona el tema de Android pero no pienso programar nada en java pudiendo hacerlo en c, o c++.

ktzar

Nah... Me quedo con corona... Multiplataforma movil sin perder rendimiento

faceb00k

¿Pero merece la pena aprender a programar "para Android"? ¿Luego tendremos que aprender a programar "para iPhone"? ¿Y si mañana aparece otro sistema operativo para móviles también tendremos que aprender a programarlo?

Señores: que existe HTML5. ¿No es mejor que programemos todos en HTML5 y que cada móvil tenga un "navegador" que lo ejecute?

m

#9 Are you from the future?

Na, HTML5 es el futuro (y futuro próximo, inminente), pero si quieres programar en el presente, yo sí invertiría algo de tiempo en Android y/o iOS.

aaadddsss

html5 es muy potente actualmente, aunque de nuevo una app escrita en nativa es mucho más fluida...
para cualquiera que quiera empezar en este mundo, es recomendable 100%

#15 HTML5 no requiere de PHP para realizar una app funcional multiplataforma en movil...

m

#15 Cuando se habla de HTML5 en este contexto, se suele hacer referido a HTML5, JavaScript y CSS, a todo eso.

faceb00k

#15: Por partes

1) Cuando decimos "HTML5", decimos "HTML5+JS+CSS3". Es una forma de acortar, pero siempre refiriéndonos a programación con estándares abiertos en el lado del navegador que funcionan en cualquier plataforma.

2) Cuando dices "Programar en Android = Programar en Java" no tiene que ser así, y se puede programar en Android en HTML5. Mucha gente lo hace. Muchos están creando juegos en HTML5, existen motores para crearlos (http://impactjs.com/), se celebran conferencias (http://www.newgameconf.com/), ...

3) Lo de usar PHP. Si te refieres a usarlo en la parte del servidor, hay una tendencia a hacer aplicaciones HTML5 que "tiren" de servidores RESTful, el cual puedes hacer efectivamente con PHP (un framework muy sencillo es http://www.slimframework.com/). Si te refieres a que HTML5 no admite "programación" como PHP, pues bueno, no permite hacer programas de gran escala, pero que sepas que se pueden hacer "lógicas" muy potentes en JavaScript. Ah, y no perdamos de vista el proyecto Dart de Google para "sustituir" a JavaScript: http://en.wikipedia.org/wiki/Dart_(programming_language)

D

#60 Entiendo que HTML5 en un tipo de contexto es el pack basico HTML5+JS+CSS3.
Pero es un error comparar HTML5 con lenguajes complilados como Java , Objective-C o C++ si te apetece, cada uno va bien para lo que van, y si eres desarollador sabras lo que digo.

Sobre el resto, en mi anterior contestacion #15 lo digo porque se referian a los lenguajes nativos, y en Android que yo sepa el que se usa en el SDK es Java, pero claro con maquina virtual como si metes Python, Perl, o lo que te de la gana, por eso emfatizo que hablamos de nativos. Igual que todo el mundo sabe que en iOS el nativo es Objective-C y no otro, pero claro que seguro hay maneras de hacer apps en otros lenguajes pero seguro que si haces el mismo bien ensamblado en Objective-C es mas optimo.

Sobre lo que dices del PHP era una forma de hablar, no hace falta alargarse en eso.

D

#9 No. Yo no me gasto la pasta en hard nuevo destinado a ejecutar un intérprete, quiero aplicaciones nativas, así que HTML5 para mí queda descartado para mi, de hecho creo que java matará Android como en su día fue uno de los culpables de la muerte de Symbian.

d

#16 ¿Por qué java matará Android?

faceb00k

#16: ¿Pero realmente con tu aplicación vas a usar el 100% de las posibilidades del hardware para que tengas que programar de manera nativa? O haces aplicaciones de cálculo infinitesimal o simplemente no me lo creo.

D

#57 Hacer para móviles no hago nada, pero en el futuro haré juegos, donde cada ms es importante (lo ideal sería conseguir que todas las operaciones se puedan hacer en 16'6ms). En cualquier caso como usuario no quiero aplicaciones java ni mucho menos flash, las quiero nativas y punto. Y mi experiencia con Symbian 3rd es que casi todo lo que encontraba estaba en java y era una puta mierda salvo excepciones (sencillas claro), sin embargo había aplicaciones y juegos (todas .sis o .sisx) de gran calidad, que con toda esa basura (y sobre todo con la carencia de una buena tienda) no tenían casi protagonismo. En symbian 5rd pasa lo mismo pero agravado: En la tienda sólo hay mierda en cantidades industriales, no he sido capaz de encontrar casi nada útil, pero juegos java inútiles y lentos a patadas. Por eso prefiero un móvil que no permita ejecutar java o que por lo menos no lo tenga como base. Prefiero 3 o 4 aplicaciones que por lo menos rindan como deben a toneladas de morralla fácil de hacer. Se que en Android es algo diferente pero sigo sin querer java. Creo que estoy en mi derecho no?

bkavidalster

#9 Si quieres programar en HTML5 para multiplataforma mira esto http://www.phonegap.com
Hay bastante información en castellano también.

editado:
vamos que ya se hace lo que dices

faceb00k

#53: Efectivamente, pero yo creo que el 99% de las aplicaciones no necesitan estar "muy optimizadas". De hecho, hasta los juegos se están comenzando a hacer en HTML5. Mira esta conferencia que se celebró recientemente en California:
http://www.newgameconf.com/

Y cuando dices lo de "programar en cualquier cosa para convertirlo a código nativo", para eso está el PhoneGap que comenta #19

ChukNorris

#55 ¿Para que programar para móviles cuando puedes hacerlo para cualquier cosa y luego convertirlo?

Creo que mismamente sirve el webtoolkit de google, o cualquier cosa similar como el coldfusion.

D

#55 Como si hacen los juegos en flash... o wait. Pura vagancia o ganas de hacer las cosas mal, luego gente con un PC no muy potente sufre con Minecraft (java) o Machinarium (flash) como me pasa a mi en un portátil capaz de mover sin problemas CoD 2. Por no hablar de los juegos del facebook que ni con mis 6 núcleos van del todo suaves. Spiral Nigths (java) me sorprendió, suave y bonito, pero claro, lo probé en el sobremesa, habría que verlo en un equipo menos potente.

Que se haga no quiere decir que sea una buena idea.

#56 El usuario sí lo nota, al menos algunos como yo. Otros, simplemente no lo notan y le echan la culpa al hardware, por que se empieza con una agenda y se acaban programando cosas más potentes que no se deberían hacer con esos lenguajes. Al final acaban suspirando por un iphone. Al menos es lo que veo yo a mi alrrededor.

a

#9 En eso consiste WebOS y mira donde está ahora.

faceb00k

#32: ¿Pero no tiene sentido programar en un estándar que luego pueda correr en cualquier plataforma? El usuario no lo va a notar y los programadores pueden dedicar los esfuerzos a la creatividad, no a aprender a programar cada día en un sistema diferente.

Además, detrás de HTML5 está gente como Apple o Google. Echa un vistazo a esta presentación de Google:

ChukNorris

#9 Se programa en cualquier cosa que luego se convierta a código nativo de cada plataforma, aprender para cada plataforma es un tontería salvo que quieras código muy optimizado.

D

php < java < c++ lol

d

#34 y #35 Sobre los sueldos no entraré, aunque también se pagaban barbaridades por desarrolladores para Solaris. Con la tendencia de Android, puede que los sueldos cambien, y la manera de tarificar las aplicaciones también.

De todos modos, volviendo al tema del performance de un SO Android con Dalvik, pues coge un HTC Hero, que es viejo y barato, y le pones a correr el firmware de cyanogenmod, que no es todavía del branch 4.

Y... ya lo siento que tengas un 5800... lo tuve para desarollar en Python y Symbian, y fue una experiencia pésima. Espero que a Nokia le mejore el panorama con los nuevos modelos con Windows. Suerte que cambié a Android e iOS. Me quedo con Android, por todas las ventajas que me ofrece el tener JADE, el acceso a dispositivos remotos, etc. Por cierto, que comparando un iPhone 4S i un HTC Incredible S con firmware cyanogenmod, el segundo me ha ido más rápido para aplicaciones como TeamViewer o clientes VNC.

nickImposible

Yo he empezado a aprender hace unas semanas con ese blog, y si, está muy bien explicado, con buenos ejemplos. Totalmente recomendado.

Find

Dos links que tratan algunos temas que han salido.

Android, iOS, tiempos de respuestas y por qué nada es gratis en sistemas informáticos
http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestas-y-por-que-nada-es-gratis-en-sistemas-informaticos/

MonoTouch and Mono for Android make it easy for .NET developers to dive right into mobile development.
http://xamarin.com/

Miyata

El lenguaje de programación mas usado en el 2011 ha sido JAVA. Ha vuelto a ganar otro año mas.

Cada cual que saque sus conclusiones.

D

#45 Y Telecirco una de las cadenas más vistas Churras!=Merinas

Miyata

#46 Hablando de programación, me parece bastante relevante que Java lleve un par de años en el top 1. En cambio el canal del que hablas tiene nula repercusión internacional. Pero paso de discutir y dar datos cuando es mas sencillo ser subjetivos.

D

#67 ¿Y qué tiene que ver la relevancia con el rendimiento?

ElPerroDeLosCinco

Mmmh... tengo vacaciones esta semana. Igual me animo a cacharrear con esto.

Aguarrás

Gracias, a mí estos (http://developer.android.com/guide/index.html) no me ayudan apenas, me dicen cosas que sé, y en cambio las que no... ¡Amos, que soy muy torpe! lol lol lol

faceb00k

Yo no estoy comparando HTML5 con lenguajes compilados.

Simplemente estoy diciendo que no merece la pena aprender a programar en Java cuando con HTML5 tienes el 99% de las programaciones resueltas.

rmoledov

Pues guardado el enlace, que parece interesante.
Por cierto, aquí hay otro por si a alguien le interesa: http://thenewboston.org/list.php?cat=6

Lito

Yo aporto 10 euros a este excelente trabajo. Yo ya tenía mi guía de iniciación:

D

Yo hace un tiempo que me hice con el tutorial y lo cierto es que están muy bien, todo bien explicado y con código de ejemplo.

Miyata

Eso de llamar donación a una venta no me gusta. Y de todas formas ya di de baja la cuenta de paypal por un par de cosas, asi que nada.

deedee_agonias

#42 El Pdf que te cambian por tu donación, es un archivo con todo lo que ha ofrecido libremente el autor en el blog, con la comodidad que conlleva tenerlo reunido todo en un archivo y poder acceder a el incluso sin tener conexion a internet. No te venden el contenido, pues está publicado de forma totalmente altruista, solamente el trabajo que implica la maquetación, y realmente, me parece una miseria para el trabajo que ello lleva

a

Comprado! 5€ bien merecidos.

a

+1 a favoritos

E

Realmente está currado el tutorial, a mis favoritos! (para cuando tenga tiempo entre procrastinaciones...)

D

Lo tengo en favoritos desde hace tiempo... está muy bien. Para quien tenga base en Java y esté interesado en empezar con Android, no me sé un sitio mejor.

i

Parece interesante y a bote pronto me da la impresión de estar bien explicado sin ser confuso. ¡A favoritos!

D

Mientras que IOS y Windows Phone están creando una comunidad de desarrolladores que programan aplicaciones nativas el lenguaje por defecto de Android es Java. Cuando las aplicaciones empiecen a evolucionar y la gente ya no se conforme con cuatro mierdas java* Android estará en seria desventaja, y será complicado (como me fue a mí con Symbian, en el que ya ni me molesto en buscar) encontrar aplicaciones entre las toneladas de aplicaciones en java con pésimo rendimiento.

De hecho no hay más que ver los ingresos que genera IOS y los que genera Android, la gente que quiere un teléfono con buen software se compra un iphone o se espera como yo, y los que compran Android en su mayoría son gente que no sabe lo que está comprando y que se contenta con 4 chorradas por las que no paga.

*No digo que todas las aplicaciones java sean una mierda, sólo que la gente por ahora se conforma con 4 tonterías, cosa que no se sostendrá eternamente.

PD: ¿Alguien sabe si la guía del artículo se puede seguir con c o c++?

D

#26 Un argumento muy convincente si señor. ¿En qué me equivoco, en que Java no rinde? No.

¿En que a la gente le da igual que rinda o no? Quizás, en PC sucede, hay potencia de sobra y a la gente le da igual, lo tienen lleno de basura y si va lento no saben ni por qué es y o compran otro o terminan pasando de usarlo, pero el PC no está en medio de una guerra de SOs con compañías poniendo toda la carne en el asador (de hecho, está bastante olvidado salvo por entusiastas y profesionales y eso también lo está matando, ahora parece que Microsoft reacciona un poco pero las empresas que los montan y venden dan auténtico asco). En éste caso tienes razón y Android sobrevivirá al igual que Windows, por simple superioridad, pero has dicho que eres desarrollador, no sociólogo, así que...

Pienso que Android por el camino que va lo va a pasar mal, en Tablets no tiene nada que hacer y en móviles si bien tiene un nivel bastante aceptable con la comunidad de desarrolladores que tiene, los pocos ingresos que genera y la fragmentación lo va a pasar mal también.

D

#30 Desgraciadamente en iOs los desarrolladores ganamos 4 veces más que desarrollando para Android. http://blog.flurry.com/bid/79061/App-Developers-Bet-on-iOS-over-Android-this-Holiday-Season

Siento decirte que para programas de alto rendimiento java no es suficiente. Por eso existe el ndk http://developer.android.com/sdk/ndk/index.html . Si no pregúntale a los de Gameloft o los de Unity como desarrollan sus motores 3D.

A mi la guerra android iOS me da igual, mientras se vendan terminales y la gente gaste dinero en mis apps. lol

aaadddsss

#34 enhorabuena por tu fortuna... que continue, aprovecha y pillate el nuevo ipad3 del mes que viene.

D

#29 Gracias, aunque no se si cambia mucho la cosa. En cuanto al Iphone no me gusta su filosofía pero de programar para él creo que intentaría aprender objetive, aunque no se... De momento sigo con aplicaciones de escritorio ya que sólo tengo un triste 5800 lol Aunque quiero empezar en alguna plataforma móvil aunque sea sólo tirando de emulador. PD: Veo que eres dessarrollador de IOS, ¿Cómo anda el tema de OpenGL? Me interesa bastante pero no se si es una versión específica.

#30 Si campeón, lo que tu digas, pero pese a ello IOS genera 4 veces más ingresos en concepto de aplicaciones. Y java, aunque en Android según tengo entendido está magistralmente implementado, sigue siendo un lenguaje interpretado, así que no me vendas la moto, véndeme mejor un Android suave con 256MB de RAM y un sólo núcleo (que mantenga una buena pantalla). Y que conste que no me gusta IOS nada, y Apple menos.

En cuanto a las tablets el Transformer no lo puedo ni ver, le tenía esperanzas y no me gustó nada, lo siento pero es la realidad. Y soy el primero que quiere un buen tablet, pero no hay nada que me guste, lo más potable el iPad, pero me sigue sin gustar. De entrada casi todos los tablets Android cometen el mismo error de la pantalla en 16:9, por poner un ejemplo. Por no hablar de su espantosa interfaz que ni siquiera va suave.

El mejor tablet hasta ahora el TC1100, de 2003. Ese concepto mejorado, con mejor SO, más batería, pantalla táctil, más ligero y con la misma potencia (no me digáis que en 8 años para 9 no es posible) sería una maravilla.

RojoVelasco

#30 "un compilador e intérprete propio para optimizar el código en todos los HW que corren con Android. ahorrarse las licencias de Java ME"

Fixed

D

#26 Hay muchos que piensan como tu.

#24 Me podrias decir los ingresos de iPhone y de Android esos que mencionas? A por cierto si quieres comparar ambos, debaras contar que hay mas de 60 moviles Android (y seguro me quedo corto) y solo 6 iPhones si mal no recuerdo... Pero bueno tu dame cifras a ver si dices la verdad.

D

#24 Se puede programar perfectamente aplicaciones para Android e iOs usando c++.

En el caso de android usando ndk y en el caso de iOs utilizando pasarelas entre Obj-c y c++ usando obj-c++.

d

#24 yo no seré un experto en la materia (por lo que dices tú tampoco) pero pedir una guía para hacer las aplicaciones en C...

f

#24 "aplicaciones en java con pésimo rendimiento." en mi experiencia: java=pésimo rendimiento

ChukNorris

#24 Eres como la Milanesa pero actualizado