Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-05-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

No sé si debería iniciar un nuevo hilo para no estropear este que el compañero ha abierto, pero, en fin, espero no extenderme demasiado. Casimiro y Germán han preguntado sobre el acceso a multitud de dispositivos y otras características del hardware. Yo me pregunto a mi vez si Delphi puede ya atacar tantas características y hardware, a tenor de este mismo hilo, por ejemplo. ¡Pero vamos adelante!

HTML, Javascript y CSS son los lenguajes que usamos en el lado del cliente para llevar a cabo no sólo páginas web, pero, también aplicaciones, extensions para navegadores ("addons" para Chrome, Opera, Firefox y otros navegadores -y se espera a Microsoft Edge en esta lista) y aplicaciones híbridas para múltiples plataformas como Android, iOS, Windows, etc.

HTML5 es cada día más potente, y, cosas que hace unos años no podían hacerse, ahora no sólo pueden hacerse, pero, con la garantía de funcionar además en cualquier navegador web moderno, sea para móviles o para los escritorios: Windows, Mac OS, Linux, etc. Una aplicación HTML5, con la ayuda de Javascript y el estilo de CSS, puede ya hacer bastantes cosas que van más allá de una sencilla página web.

Estamos hablando de aplicaciones cliente, no exactamente iguales que una aplicación nativa, puesto que no puede acceder alegremente al disco duro, por ejemplo. Sin embargo, si nuestra aplicación dispone de un servidor, guardar información mediante llamadas HTTP no resulta un problema. Hablando del servidor, se puede escoger el que cada uno prefiera, pues, una aplicación cliente, no sabe del servidor más que lo que tiene que "pedir" y lo que puede "recibir"

Terminando acaso con el servidor, por ejemplo, a la aplicación cliente le da exactamente igual que allí se trate de Apache, PHP y MySQL, o bien de Microsoft IIS, ASP.NET y MSSQL. La aplicación cliente hace llamadas HTTP y recibe, por ejemplo, un JSON listo para ser presentado en la interfaz, por ejemplo.

Lo que quiero decir con lo ya dicho es, básicamente, que una aplicación HTML es ya bastante potente de por sí, de hecho lo podemos ver en cantidad de aplicaciones que usamos todos los días en nuestros navegadores. Esto lo podemos lograr con HTML, Javascript Y CSS sin irnos más lejos aún, pero, ahora vamos a pasar a tratar lo que es Apache Cordova y para qué puede resultarnos útiles.

En pocas palabras, Apache Cordova toma una aplicación HTML (con su Javascript, su CSS, sus imágenes, etc.) y la transforma en una aplicación "híbrida" para Android, de modo que lo que nosotros obtenemos es directamente un archivo APK listo para usar. Esto mismo que se hace para la plataforma Android, se hace para otras plataformas, como iOS. En este último caso, Apache Cordova, al menos en Windows, nos "compila" la aplicación HTML en un proyecto para XCode, que, es el entorno de desarrollo de Mac OS.

En efecto, es preciso contar con un MacOS o similar para "compilar" para iOS, pero, vamos por partes: en primer lugar, si vas a desarrollar para la plataforma iOS, probablemente, será bien que cuentes con un MacOS y con un móvil donde probar... en segundo lugar, también Delphi, si no me equivoco, precisa al final de un MacOS o algo parecido para "compilar" para iOS, y es que, tal vez no quede más remedio en este sentido.

Siguiendo con Apache Cordova, la gracia de este proyecto es que permite a nuestras aplicaciones HTML ir más allá de lo que el HTML y Javascript actuales permiten. Apache Cordova ofrece una serie de plugins "de serie" para acceder a archivos, cámaras, sensores de movimiento, sensores de orientación, geolocalización, contactos, información sobre el dispositivo, etc. Además, Apache Cordova tiene una arquitectura en la que caben los "plugins", y, hay cientos de ellos desarrollados por terceros.

De hecho, si uno quisiese (o si fuese necesario) es posible, siguiendo la documentación, crear plugins para Apache Cordova, quiero decir, no sólo disponer de los que ya existen, pero, también se cuenta con la posibilidad de desarrollar nuevos plugins si es necesario. En cualquier caso, todos los plugins para Apache Cordova tienen algo en común: proporcionan una interfaz Javascript, que, justamente, será la que usaremos en nuestras aplicaciones.

En este punto cabe decir que ya podemos hacer una cantidad de cosas bastante considerable. Tal vez una aplicación no necesite usar plugins de Apache Cordova en absoluto, puesto que, de hacerlo, Apache Cordova se convertirá en un requisito, por decirlo así, o sea, la aplicación, mejor dicho, el plugin o plugins en cuestión, no funcionarán en un navegador, por ejemplo. Apache Cordova proporciona una plataforma que llaman "browser", de modo que, en principio, podríamos "compilar" para la plataforma "browser", pero, lo que yo digo aquí es que nuestra aplicación ya no será nunca una aplicación independiente pues necesitará de Apache Cordova.

Esto último puede ser un problema o no, evidentemente. Si lo menciono es porque, confío mucho en las aplicaciones HTML, y, como digo, si no usamos plugins de Apache Cordova, podremos desplegar nuestra aplicación en cualquier navegador y esta funcionará sin problemas. Un ejemplo podría ser la aplicación en que estoy trabajando ahora: excepto las notificaciones "push" (que usan un plugin para Apache Cordova) la aplicación funciona, se puede probar y depurar perfectamente en cualquier navegador.

Dicha aplicación lista muchas tablas de una base de datos, hace muchas peticiones HTTP, recibe muchos datos, los muestra al usuario, permite su edición, inserción y actualización, cuenta con un completo "chat" basado en Websockets que incluso te avisa de los mensajes no recibidos... y por supuesto no hablo de esta aplicación en concreto, pero, lo que quiero indicar es la potencia de una aplicación HTML sin más... su aspecto, por ejemplo, utilizando algún framework como Bootstrap CSS, será el mismo exactamente en cualquier plataforma además.

Quiero terminar ahora con este mensaje... sé que no he referido apenas frameworks como prometí, pero, quede esto para un posible siguiente mensaje. De momento, quedáos con la idea de que una aplicación HTML corre en cualquier navegador y hoy día puede hacer muchas, muchas cosas interesantes. Pensad en las aplicaciones que vosotros mismos usáis "online" en vuestros navegadores. Y quedáos también que, con la ayuda de Apache Cordova, estas mismas aplicaciones HTML podrán acceder a características de los dispositivos, usando una sola API (Javascript) en todas las plataformas soportadas.

Para terminar de verdad, la idea de estos mensajes míos no es tirar por tierra a Dephi (¡diosito me libre!) o poner en las nubes las "tecnologías" web. Es, simplemente, que me causan pavor estos mensajes de que una aplicación sencillísima a más no poder (una prueba, de hecho) funcione en Android 5 pero no en Android 6. Este problema, en mi experiencia, no existe para las aplicaciones HTML e híbridas. Si estas últimas son la mejor opción para nosotros o no... es algo que tenemos que decidir nosotros mismos en función de nuestras necesidades y otras cuestiones.

¡Eso es todo de momento, que, tampoco es mi intención aburrir a nadie!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 30-05-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
¡Hola de nuevo!

Notad cómo en mi anterior mensaje no he mencionado en absoluto a mi programa... y es que no es necesario. Como dije ayer, tiene su público (¡cada vez más espero!) pero, hablamos de HTML, Javascript y CSS. Si se quiere, hasta con el "notepad". Creo que se entiende lo que quiero decir.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 30-05-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
David,

Muchas gracias. Por tomarte el tiempo, por tu claridad y port u disposición. De verdad, muchas gracias.

LineComment Saludos
Responder Con Cita
  #4  
Antiguo 30-05-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
¡Eso es todo de momento, que, tampoco es mi intención aburrir a nadie!
Gracias David por la completa explicación.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 30-05-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola. Neftalí.
Puedes estar seguro que si lo averiguo, lo compartiré. ¡Para éso está el foro! Si no....
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #6  
Antiguo 30-05-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
Hola a todos...

Responder Con Cita
  #7  
Antiguo 02-06-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola a todos nuevamente.
Encontré el origen del problema. Pero mis conocimientos no alcanzan a explicar el por qué.

Intentaré ser telegráfico, más que breve.

La aplicación tiene un ayuda en línea basada en un TWebBrowser.

Para adaptar el tamaño de la ventana del TWebBrowser al tamaño de la ventana del dispositivo estaba usando una unit llamada FMX.DeviceInfo.pas descargada de aquí. Bastante útil, por cierto, para obtener información del dispositivo. Si no la conocéis os aconsejo que la echéis un vistazo.

Esta unit necesita una serie de permisos, (no se me ocurrió sospecharlo) que yo no le estaba dando en mi App. (Mi App como tal no los necesita)

EL PROBLEMA FINALMENTE ERA DE PERMISOS.

Pero la pregunta, todavía sigue en el aire ¿por qué si la instalas en modo debug, funciona bien y si la instalas en modo release no?

Ahora tengo dos nuevos problemas:
1.- ¿cómo adaptar el tamaño del WebBrowser a la pantalla del dispositivo?
2.- ¿cómo evitar que en los dispositivos más antiguos ( versión < 6), el margen derecho de la página mostrada no se agrande?

Pondré sendos posts para que alguien me ayude, si es posible. Mientras seguiré buscando soluciones a problemas que no sería necesario, si las herramientas que usamos fueran más perfectas.

A propósito. SUGERENCIA PARA LOS ADMINISTRADORES DEL FORO: Se me ocurre que ayudaría muchísimo en las búsquedas que cada post que esté resuelto tuviera una indicación. (Se me ha ocurrido ahora y no sabría dónde comentarlo)

Muchas gracias a todos por vuestro interés y vuestro tiempo.

Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #8  
Antiguo 02-06-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola.
¿Soy tan poco observador que no he visto las marcas de [ SOLUCIONADO ]?
Perdón, perdón.... mil veces perdón.
Perdón.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #9  
Antiguo 02-06-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jhonalone Ver Mensaje
Hola.
¿Soy tan poco observador que no he visto las marcas de [ SOLUCIONADO ]?
Perdón, perdón.... mil veces perdón.
Perdón.
Te lo ha cambiado a mano algún moderador
De momento no tenemos ningún método para hacerlo de otra manera.
Responder Con Cita
  #10  
Antiguo 02-06-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola Casi.
Lo importante es informar. No creo que importe el método.
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #11  
Antiguo 06-06-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Te lo ha cambiado a mano algún moderador
Manual, manual,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 06-06-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jhonalone Ver Mensaje
SUGERENCIA PARA LOS ADMINISTRADORES DEL FORO: Se me ocurre que ayudaría muchísimo en las búsquedas que cada post que esté resuelto tuviera una indicación. (Se me ha ocurrido ahora y no sabría dónde comentarlo)
Cita:
Empezado por jhonalone Ver Mensaje
¿Soy tan poco observador que no he visto las marcas de [ SOLUCIONADO ]?
Perdón, perdón.... mil veces perdón.
Es que las puse después de que lo comentaras, por eso no la habías visto...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 07-06-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Smile

Cita:
Empezado por Neftali Ver Mensaje
Es que las puse después de que lo comentaras, por eso no la habías visto...
Gracias. Neftalí.
Me quedo mucho más tranquilo.
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 07-06-2017 a las 17:51:17.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tipo de Compilación (Debug/Release) y Tamaño de Exe Delphi 2010 Neeruu Varios 0 05-09-2012 15:12:12
Delphi Compiler: Base, Release, Debug? Neeruu Varios 1 12-07-2012 12:03:54
El debug en D2010 no me funciona El_Raso Varios 1 22-08-2010 16:27:55
La aplicacion no me funciona ivanloco Firebird e Interbase 2 08-06-2007 20:33:26
Migración a 10g release 2 - Problemas con la aplicación de Delphi .NET SMTZ .NET 2 11-07-2006 09:58:20


La franja horaria es GMT +2. Ahora son las 03:06:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi