FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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! |
#2
|
||||
|
||||
¡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. |
#3
|
||||
|
||||
David,
Muchas gracias. Por tomarte el tiempo, por tu claridad y port u disposición. De verdad, muchas gracias. LineComment Saludos |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
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) |
#6
|
||||
|
||||
#7
|
|||
|
|||
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) |
#8
|
|||
|
|||
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) |
#9
|
||||
|
||||
Cita:
De momento no tenemos ningún método para hacerlo de otra manera. |
#10
|
|||
|
|||
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) |
#11
|
||||
|
||||
__________________
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. |
#12
|
||||
|
||||
Cita:
__________________
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. |
#13
|
|||
|
|||
Cita:
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. |
|
|
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 |
|