Hace 7 años | Por palmeritox a solidgeargroup.com
Publicado hace 7 años por palmeritox a solidgeargroup.com

¿Qué estrategia seguir a la hora de llevar a cabo un desarrollo que conlleve aplicaciones para distintos clientes, tales como Android, iOS y Windows Phone? Xamarin te permite un completo desarrollo multiplataforma.

Comentarios

solrac79

#12 #16 hoy en día en Windows las aplicaciones son universales, funcionan teléfonos tablets y PCs. Teléfonos habrá pocos pero dispositivos con Windows 10 hay unos cuantos.

D

#2 Soporte, mantenimiento. Usuarios que escribirán feedback en otro marketplace donde habrá que poner a alguien para controlar que pasa y contestar por temas de PR.

Problemas de seguridad especificos por plataforma, errores especificos de plataforma.

cc #12 #26
Otra nueva pipeline en el CI... y podría seguir y seguir.

Zeratul

#26 Yo como usuario de Windows de escritorio no quiero aplicaciones universales pensadas para pantallas pequeñas y táctiles en mi PC. Y como yo la gran mayoría de sus usuarios, de ahí que las aplicaciones universales de Windows y la tienda de aplicaciones de Microsoft tengan tan poco apoyo de la comunidad.

Y eso lo saben bien en Microsoft, antes su publicidad animaba a los desarrolladores a crear aplicaciones universales para Windows y Windows Phone, ahora les intenta vender la moto de que sus aplicaciones universales son la forma más sencilla de crear aplicaciones también para Android e iOS, con la esperanza de robarles algunos desarrolladores a dichas plataformas.

e

#52 Yo ni siquiera he abierto la tienda de aplicaciones. Paso de hacerme una cuenta para eso. Mi cuenta en el PC es local, ya me ocupo yo de hacer backups.

D

#26 Lo de las app universales me lo conozco yo, una **** mierda, fallan mas que una escopeta de feria, te lo dice uno que ha usado Cordova y es una mierda, al final es mejor hacer una app por plataforma y así te evitas errores irresolubles.

D

#26 Ya, pero hablamos de OSX, Android y Windows Phone, el que desarrolla una APP para moviles lo hace pensando en ellos y el marcado es Android/OSX, no está Windows. Entiendo que si la hacen para windows phone funcionará en windows escritorio y viceversa, pero no en Android ni en OSX que son los lideres del mercado.

El que desarrolle una herramienta para Windows pues tiene la suerte de que podrá portar la fácilmente a Windows Phone, pero eso son los menos, lo normal son clientes que quieren una Web (ni los CRM/ERP son ya de escritorio) con APP para moviles.

B

#12 Supongo que si es un fracaso de plataforma, tampoco tendrán usuarios, mucho menos tendrán reportes de errores y por lo tanto no necesitará ese soporte extra...

M

#2 Se llama MALA IMAGEN, son muchos años jodiendo por parte Micro$oft...como Apple pero estos tiran y tiran enormes cantidades de dinero en tener una secta y lavar la imagen...

La imagen es muy importante, cuando veo que una empresa saca software libre recibe un +1 y si es una app para móvil y además solo la saca para plataformas libres otro +1, y así lo trasmito a mi entorno.

ineedu2

#37 ya, y serás de los que piensa que Android es software libre y Google regala las cosas....

Trigonometrico

#69 No, pero supuso un impulso para GNU/Linux, mientras que MS no hizo otra cosa que ponerle zancadillas.

icedcry

#17 A vacunaros ¡¡herejes!!

danmaster

#c-19" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/19">#19 ¿C# lenguaje de programación? lo próximo será llamar programadores a los que pican en VBA.... que Dios te vendija!

icedcry

#25 ¿Los hombres de verdad pican en C++ y ANSI C?

editado:

Porque Java es lo mismo pero más lento y peor

danmaster

#29 C++ es de flojos (¿más más qué? desde luego no más hombre). Los hombres usan React.

danmaster

#29 Todo un análisis digno de Marhuenda oiga lol

http://comofuncionaque.com/lenguajes-de-programacion-mas-usados/

icedcry

#35 Pues lo mismo...¿ser lo más usado dice que es más lenguaje, más eficiente o eficaz? puff

(De todas formas haberte fijado en la carita de troll )

danmaster

#43 Carita de trol tenemos todos lol. Pero digo yo que si las mayores empresas del mundo como Google lo usan... no será por nostalgia.

icedcry

#46 Por rendimiento ya te digo que no es ...

Es más tener un lenguaje común en el que escribas una vez...y que tengas masa crítica de desarrolladores y expertos de calidad.

De todas formas, como verás, no sólo usan Java

https://www.google.com/about/careers/search#!t=jo&jid=41144&

danmaster

#c-50" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/50">#50 Lo usan enormemente más que C# eso te lo garantizo. Pero de cualquier forma... ¿C# es bueno en rendimiento? Jajajaja pero bueno... la idea de multiplataforma para MS es que corra en Windows 95,XP, Vista o en 7, 8 o 10 lol. Yo no programo para Mocosoft.

icedcry

#c-51" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/51">#51 Java sobre Windows no es lento ...sino lo siguiente..bastante más que Java,...pero bueno... tú espera tiempo que lo que están haciendo para ejecutar SQL Server sobre Linux si se lleva al mundo .Net no te extrañe tener en unos años desarrollar en C# para ejecutar en Redhat, SuSe, Ubuntu...

danmaster

#53 Yo es que no tengo tu bola de cristal amigo.

icedcry

#54 No hace falta una bola de cristal.

1º Microsoft está llevando SQL Server a Linux...ya han hecho las demos
2º Microsoft se ha unido a la Linux Foundation
3º Microsoft ha comprado Xamarin y la ha hecho libre para sus subscriptores MSDN

¿Necesitas más pistas?

p

#53 ¿Qué significa ser lento? Porque Java es lo que se usa en multitud de negocios que manejan millones de peticiones simultáneas, como Amazon, Paypal, Netflix, Twitter... Si en windows "va lento", a lo mejor el problema es windows en sí

icedcry

#c-58" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/58">#58 La VM de Java es lenta...incluso en Linux es lento...otra cosa es que por precio te resulte más rentable poner más máquinas con una buena arquitectura.
La VM de Java en Linux es levemente más rápida que en Windows, así que Windows no es el problema, (JiT es el problema)

En cuanto a arquitecturas:
La de Amazon es en ese aspecto pionera, ya que fueron de los primeros en convertir casi todo en servicios. Los servicios "cloud" de Amazon vienen de ahí, de rentabilizar su experiencia.
Una buen arquitectura que distribuya la carga de trabajo hace maravillas no busques responsabilizar al lenguaje en el rendimiento de Amazon...piensa mejor en el tipo que pensó la arquitectura

Respecto a comparativas las que he encontrado son algo "especiales" comparando Java multihilo con monohilo en Mono (eso no es una comparativa seria).

En cualquier caso C# y Java son JiT así que nunca van a tener un rendimiento ni similar a C++ y además de versión en versión el rendimiento variará (con cambios que pueden ser enormes)

Pero ¿qué cojones hago discutiendo esto? ¿hace falta explicar que Java es una burrada más lento que C++?

p

#59 Al final al procesador le llegan las mismas instrucciones, provengan de un compilador de C o de una máquina virtual. Y si ésta es además JIT, y va compilando sus métodos a código nativo, no hay demasiada diferencia una vez llegado a ese punto.

Y la ventaja es que mientras que un programa compilado va a ejecutar las mismas instrucciones en tu portátil que en un servidor, una máquina virtual puede emitir otras aprovechando todo el juego de instrucciones. Sin recompilar tu aplicación.

La desventaja, claro, está en que las máquinas virtuales necesitan más tiempo de "calentamiento", pero entenderás que para máquinas con uptimes de días o meses, no importa mucho.

icedcry

#62 A ver...vamos por partes por mucho uptime que tenga siempre hay una capa en medio...aunque tenga poco impacto lo tiene, (y ni entro en que consume algo más de memoria).

(...)una máquina virtual puede emitir otras aprovechando todo el juego de instrucciones(...)
Entiendo que te refieres a que usando JiT si la VM identifica correctamente la arquitectura puede usar las optimizaciones más adecuadas y el juego completo, pero eso se puede eliminar compilando exactamente para esa arquitectura.

No, seamos serios, siempre será más lento JiT que un C++ compilado para tu máquina...Meter capas intermedias siempre es más lento, por muy optimizada que esté la capa intermedia.

Otra cosa es que sea más conveniente, fácil de escalar, fácil de gestionar etc etc...y que te permita desentenderte de las peculiaridades de la máquina concreta. Si todo eso es genial y es el futuro...pero no, Java no te va a ir más rápido que C++ o ANSI C compilados para tu máquina. Ni siquiera igual, (y consume más RAM).

D

#29 Los hombres de verdad pican en ensamblador, y eso cuando están cansados, que lo suyo es picar directamente el código máquina.

icedcry

#65 y lo hacen sin monitor...los monitores son para la gente de memoria débil

D

#17 nativescript y Angular 2

danmaster

#27 Eso lo uso pa hacer webs. Me quedo con mi Java querido.

D

#30 Tú mismo, pero hay que dejar entrar aire fresco de vez en cuando .

La verdad es que es una gozada programar con Typescript y Angular 2. Se nota que es un framework muy nuevo, pero...

Campechano

#3 Qt no solo tiene clases para la interfaz, también para red, sensores, multimedia, etc. Además es la aplicación entera hecha en C++ lo que se compila para la plataforma en cuestión. Yo creo que sí es lo mismo

vickop

#5 Interesante. No sabía eso de Qt, pero buscaré más información.

editado:
Aunque C++ tira mucho para atrás lol

Campechano

#7 No creas, lo que más puede echarte para atrás es la gestión de memoria dinámica, pero en Qt lo tienen muy bien parido. En muy contadas ocasiones vas a tener que reservar memoria con los temidos malloc y calloc, la mayoría de las veces serán las propias Qt las que reservan y liberan la memoria sin que tengas que preocuparte de nada

vickop

#8 lo que más puede echarte para atrás es la gestión de memoria dinámica

Bueno, al recolector de basura (su ausencia) efectivamente es a lo que me refería, y que es lo más echa para atrás.

En muy contadas ocasiones vas a tener que reservar memoria con los temidos malloc y calloc, la mayoría de las veces serán las propias Qt las que reservan y liberan la memoria sin que tengas que preocuparte de nada

Muy probablemente tengas razón (solo me he enfrentado a C++ 4 o 5 días en el trabajo). Era una crítica en tono de humor.

Campechano

#10 Sí, el emoticono da una pista de que es de coña Pero yo no puede evitar evangelizar sobre Qt y C++, es superior a mí lol

Tannhauser

#8 (cc: #10) Lo del tema de malloc y calloc diría que más bien es C puro. Desde C++11 se usa new y delete que hace mejor el trabajo.

l

#c-7" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/7">#7 Qt tiene bindings para un montón de lenguajes. Incluso para C#.

Campechano

Qt también permite hacer aplicaciones multiplataforma de Android e iOS, y habida cuenta de que Winows Phone está en las últimas creo que es más que suficiente para cualquier desarrollador

vickop

#c-1" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/2705501/order/1">#1 Creo que son dos niveles conceptuales distintos. Qt son las librerías para desarrollo de la interfaz, que puedes usar desde distintas plataformas. Lo que propone Xamarin es la portabilidad de todo el conjunto, incluida la lógica de la aplicación, programando todo en C#.

solrac79

#1 En Windows la aplicaciones universales hacen que tu app para teléfonos funcione en todos los dispositivos con Windows 10, que son unos cuantos jejeje. Microsoft también creó herramientas puente para portar aplicaciones desde otras plataformas pero los desarrolladores no le han hecho mucho caso.

D

#21 Pueden ser unos cuantos, pero:
- ¿Que volumen de negocio tienen las aplicaciones para Windows 10?
- ¿Que éxito tendría una aplicación de escritorio diseñada para el móvil?

A mi este enfoque me parece un fracaso. Se consiguen aplicaciones con experiencias de segunda fila en Android e iOS, solamente para soportar windows phone que tiene menos del 0.5% de cuota de mercado (en ese 0.5% esta gente como mi tia mayor que la dijeron en la tienda que era muy bueno para dar salida al stock acumulado y evidentemente nunca compra aplicaciones de ningún tipo.)

ineedu2

#28 Yo lo veo desde otro punto de vista.
1) no se trata de apps de móvil que se abran en el pc, sino de que la lógica de funcionamiento se comparta, añadiendo opcionalmente las imagenes de redimensionamiento y otras características, pero sin tocar el codigo principal. La app de un banco por ejemplo, es útil en el móvil pero tb es útil en un PC, y no es necesario tocar en exceso el diseño de la misma. Un juego como AgeOfEmpires Castle Siege se ha programado para una plataforma y funciona en Windows 10 (PC/tablet/Phone) y también en iOS.
2) otro tema es el de la cuota de mercado. Yo soy usuario de WindowsPhone y reconozco que cada vez veo menos por la calle. Apps tiene más que suficientes (para mí, que esto es muy subbjetivo), pero es verdad que no todas las empresas sacan su app en este sistema y esto afecta, A mi no me gustaría que WindowsPhone desapareciese, básicamente porque me parece una buena alternativa (no una copia) de los sistemas actuales (Android e iOS). El problema de Microsoft es que los desarrolladores no hacen apps porque no hay mercado y el mercado no crece, entre otras cosas, porque no hay apps. La pescadilla que se muerde la cola.
3) respecto a tu tia, al igual que con mis padres, cuando van a comprar un móvil, hablo con ellos de qué es lo que quieren hacer con sus teléfonos para comprar el adecuado. Mi padre tiene un Lumia 550 y encantado. Lo que más usa es el correo, el office, la cámara (para fotos que no requieren de especial resolución), los mapas, el Endomondo y el Whatsapp entre otras. Pagó 99€ y además tiene una buena duración de batería, con diseño y tamaño adecuados. Buen teléfono a buen coste y con las apps necesarias. Si en la tienda a tu tia le dijeron que era para liberar stock, los de la tienda son unos * porque el cliente viene buscando un teléfono que se adepte a sus necesidades, no a las necesidades de la tienda (me da igual que le vendiesen un WP o un iPhone).

D

#49 Ya que hablas de la app de un banco, la lógica no debería estar en el código del cliente, en el cliente solo debería de estar la presentación. Y si la lógica está en el servidor no hay porque escribirla de manera diferente para cada tipo de cliente.

En el mundo real mantener una versión de un sistema que no se usa solo sirve para tener problemas de seguridad, esa es la razón por la que nadie quiere aplicaciones para windows ni aunque se las regalen y les digan que les va a costar que las versiones de ios y android.

Además está el riesgo de que Apple corte el grifo a las aplicaciones que sean middleware como ya ha hecho en el pasado. Si tu empresa tiene sus aplicaciones hechas con xamarin y Apple cambia las condiciones de la tienda otra vez ya puedes cerrar y abrir una frutería.

D

Pues a mi me parece una mejor opción usar javascript. Sencha Touch + PhoneGap y a correr en cualquier lado.

Pijus_Magnificus

Hola, he meneado esta noticia (que estaba en portada) para ver cómo se cae por los negativos de la gente a la que no le interesa pero que, en vez de pasar de ella, decide impedir descubrirla a un porcentaje considerable de los usuarios a los que sí les puede interesar.

palmeritox

#45 Mucho me temo que es lo que ha pasado, porque no llevaba ningún negativo cuando llegó a portada, y de pronto aparecieron 21, y desde que salió de portada ningún negativo más :(.

M

Eso ya existe desde hace mucho tiempo, se llama Apache Cordova (https://en.wikipedia.org/wiki/Apache_Cordova) es software libre.

Guillemdc

#39 Cordova corre sobre un webview del teléfono, lo que disminuye el rendimiento y hace que no se renderice la interfaz del mismo modo en todos los dispositivos. Vaya por delante que Cordova a mí me encanta y lo he utilizado mucho, pero no tiene NADA que ver con el enfoque de Xamarin, que genera interfaces nativas.

H

HTML5?

D

#11 No, en cuyo caso lo que harían es crear el "standar mshtml", son microsoft, ellos no usan estándares que usen los perroflautas del Software Libre lol lol lol

loco_del_gorro

De cuando es nuevo esto? Esta noticia aunque redactada recientemente es algo viejo, no lo ha hecho microsoft, ximarim es mas viejo que el sol

icedcry

#20 Lo que han hecho es comprarlo y dar acceso a los MSDNeros (como yo)

Guillemdc

#38 Tú mismo :P. Las herramientas están ahí y si quieres las usas y sino no. Titanium es uno de los frameworks multiplataforma más "antiguos" y por lo tanto más maduros. El editor de interfaces basado en xml que se renderiza a nativo era una chulada. Hyperloop no lo he probado aún y Cordova y Xamarin les ha quitado mucho terreno últimamente, pero seguro que aún sirve para hacer cosas chulas y profesionales. El tema es que los acaba de comprar Axway y su futuro como compañía es quizá algo incierto.

danmaster

#44 Coño! como las lentejas que si quieres las comes y si no las dejas. XML me da alergia de la buena (JSON rulez). Encima lo compran empresas con extraños intereses no como Oracle, en quien todos confiamos ciegamente.

Guillemdc

Para los alérgicos a C# tenéis algo muy parecido pero en JavaScript con Appcelerator Titanium y Hyperloop:

http://www.appcelerator.com/titanium/7/
http://www.appcelerator.com/blog/2016/08/hyperloop-is-here/

danmaster

#33 Me da que eso me va a sentar peor todavía...

l

#33 Titanium es un Framework + IDE que desde hace ya tiempo descubrí que fueron creados por el nieto de Abdul Al-Hazred https://es.wikipedia.org/wiki/Abdul_Alhazred su uso y manejo lleva a la locura y cuando haya suficientes Apps creadas con él El Antiguo Que Ahora Es Nuevo se alzará y las manzanas serán más caras y sabrán a ceniza y las ventanas serán azules y los robots dominarán la tierra.

Así está escrito en Java on Rails.

Trigonometrico

¿Este es el Wine para windows phone?

D

Ionic+ Angular JS. Y dejaros de mierdas en bote.

D

Xamarin no es un programa infantil de la televisión gallega?

Zeratul

#9 Casi, es Xabarín.

s

El problema es que las app de Android, iOS y Windows phone, no se parecen. Cascale un interfaz Windows a un usuario Android, ya verá donde acaba tu app.