Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #41  
Antiguo 28-07-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por mamcx Ver Mensaje
Cualquier cosa que se le pueda instalar . En iOS/Android cuento a Obj-C, Java (los dos nativos que ademas incluye C/C++), C#/Mono, Lua, Python, Delphi, HTML/JS, y seguro hay otros por ahi.
Se nota que has estado experimentando y aprendiendo mucho, Mario. Hace unos días encontré algo llamado "Smart Mobile Studio". Entiendo que es Object Pascal "compilado" a JavaScript para correr en el navegador de cualquier dispositivo móvil. Pero, tú en lo personal, ¿qué opinión tienes de esta tecnología? ¿Qué ventajas y desventajas notas de Smart Mobile Studio sobre Delphi con FMX?

Extiendo estas mismas preguntas a los demás.

Un saludo.
Responder Con Cita
  #42  
Antiguo 28-07-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
No no... creo que no me he explicado bien... me refiero a aplicaciones que se puedan usar sin descargar ni instalar nada.
Hasta el html requiere un browser instalado y que se actualize. Pero basicamente el mismo efecto se logra usando un autoupdater para apps nativas (una funcion que cumplen las appstore).
__________________
El malabarista.
Responder Con Cita
  #43  
Antiguo 28-07-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
Entiendo que es Object Pascal "compilado" a JavaScript para correr en el navegador de cualquier dispositivo móvil.
Osea, es un "transpiler". La ventaja es que corre en html, la desventaja es que genera javascript, que es particularmente un pésimo lenguaje (como target de un compilador, aparte de lo demás) y que es solo al titanico esfuerzo en los runtime de Google/Apple/Mozilla que se ha puesto manejable. Solo Mozilla esta intentando algo para hacerlo mejor

Y ademas esto depende del soporte html en mobiles como un embebido, que no es muy optimo, no es nativo y carga todo el peso del navegador. Las app de phonegap y similares son muy poco fluidas y basicamente son para hacer apps nada pulidas pero "facil" para quienes manejan html/js.

En resumen: Si quieres hacer apps bien, html/js no es la opcion.
__________________
El malabarista.
Responder Con Cita
  #44  
Antiguo 28-07-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias, Mario. Creo que entre más avanza este hilo, más deberes se le acumulan a newtron.

Pero ha de valer la pena: Cuando el caso quede resuelto, podría servirle de ejemplo a miles de creadores de aplicaciones Delphi que seguramente están en una situación similar.
Responder Con Cita
  #45  
Antiguo 29-07-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Al González Ver Mensaje
Gracias, Mario. Creo que entre más avanza este hilo, más deberes se le acumulan a newtron.

Pero ha de valer la pena: Cuando el caso quede resuelto, podría servirle de ejemplo a miles de creadores de aplicaciones Delphi que seguramente están en una situación similar.
Pues no sé si esto se me quedará resuelto porque si no he entendido mal las opciones son las siguientes:

1-Terminal server: casi descartado por el problema con las impresoras.

2-Citrix: no lo he estudiado a fondo pero dicen por aquí que es caro

3-Programa de escritorio con base de datos en "la nube": bueno, es una opción aunque no acaba de convencerme por tener que descargar la aplicación en modo local y mantenerla actualizada y habría que hacer una aplicación para cada windows/android/ios...

4-Programa html: es la que más me atrae por la facilidad de poder ejecutarse en cualquier dispositivo que disponga de un navegador aun con los inconvenientes de que no es la mejor opción para desarrollar y por otro lado habría que desarrollarla desde cero.

O sea, todas malas opciones.
__________________
Be water my friend.
Responder Con Cita
  #46  
Antiguo 29-07-2014
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.233
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
Échale un vistazo a los productos (comerciales) que hay en esta web.

Alguna vez hemos hablado de alguno de ellos (en concreto de WebFMX -Livedemo-).
No son soluciones óptimas, pero tal vez sirvan como adaptación a aplicaciones ya hechas, que es lo que se está buscando.
__________________
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
  #47  
Antiguo 29-07-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Neftali Ver Mensaje
Échale un vistazo a los productos (comerciales) que hay en esta web.

Alguna vez hemos hablado de alguno de ellos (en concreto de WebFMX -Livedemo-).
No son soluciones óptimas, pero tal vez sirvan como adaptación a aplicaciones ya hechas, que es lo que se está buscando.
Ok, gracias.
__________________
Be water my friend.
Responder Con Cita
  #48  
Antiguo 31-07-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Hola a todos.

Estoy haciendo pruebas de lo siguiente : Programa en Delphi (o Lazarus) y base de datos en internet. La parte de la nube la hago el php (aunque podría ser en cualquier otro lenguaje): desde el programa envío los datos mediante REST, recibo los datos como JSON y los cargo en datasets en memoria para el manejo local. Para lo que yo hago va muy bien: tienes toda la potencia y la facilidad del uso local de delphi y la base de datos en la nube. La velocidad es como la de cualquier aplicación web con la usabilidad de una aplicación de escritorio, y puedo seguir usando todos los componentes, código, etc que ya tengo. En local tengo dos ejecutables: un lanzador, encargado de comprobar si está actualizado el programa o no y el programa en cuestión.
Esto me da en principio muchas posibilidades: La parte de datos está hecha, con lo que puedo ir haciendo la parte de presentación de lo que que considere más necesario en html5 (responsive) para la accesibilidad desde cualquier dispositivo.
Esta idea me vino de trabajar con aplicaciones que tienen un programa cliente ejecutable como Evernote o el mismo Spotify y a la vez tienen programas web que hacen más o menos lo mismo. Con poco esfuerzo adicional tienes casi todo. Mis aplicaciones son sencillas y el volumen de datos, salvo alguna puntual excepción no es demasiado alto, así que de momento creo que servirá.

De momento tengo hechas unas cosillas para uso administrativo personal y otra a medida para un cliente con un cierto volumen de datos y está contento. Tarda menos de 2 seg en cargar, generar el dataset y mostrar un grid con todo para 2493 registros.

Todas las opciones de hacer algo parecido que conozco pasan por poder acceder al lado del servidor para montar cgi, etc. y ésto me permite trabajar con cualquier hosting.
Desgraciadamente nunca tendré 50.000 usuarios, así que....
__________________
http://www.gestionportable.com
Responder Con Cita
  #49  
Antiguo 31-07-2014
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.233
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 pacopenin Ver Mensaje
La parte de la nube la hago el php (aunque podría ser en cualquier otro lenguaje)
Personalmente me interesa si puedes desarrollar un poco más esta parte.
No hace mucho hice una pequeña incursión en PHP (muy muy pequeña) para una entrada relacionado con aplicaciones móviles; Para ello desarrollé algo en PHP (está explicado en esta entrada y en las relacionadas con detalle)

¿Van por ahí los tiros?
¿Es algo similar lo que has desarrollado tú?
¿No puedes enviar algún ejemplo sencillo?
__________________
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
  #50  
Antiguo 31-07-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Neftali, lo mío es aún más sencillo, ya que prescinde de todo lo referente al webservice. La generación del JSON no es exactamente la misma que yo utilizo pero es parecida.

Código PHP:
echo json_encode(array('Usuarios' =v arrusers)); 
Esta instrucción ya devuelve el JSON que necesitamos. Si llamas al php desde Delphi con la instrucción HttpPostURL(URL, Params, Response) de synapse (yo no utilizo INDY), el último parámetro es un Stream que recibe el JSON.
__________________
http://www.gestionportable.com
Responder Con Cita
  #51  
Antiguo 31-07-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Realmente no hay demasiado que explicar. Un pequeño ejemplo :

Código PHP:
    $mysql = new mysql;
    
$mysql->server   $servidor;
    
$mysql->user     $usuario_base;
    
$mysql->pass     $password_base;
    
$mysql->connect();
    
$mysql->select($bd);
    
    
$sql"SELECT * FROM CLIENTES";
            
    
$query $mysql->query($sql);   
    
    
$rows = array();
    while(
$r mysql_fetch_assoc($query)) {
        
$rows[] = $r;
    }
    print 
json_encode($rows); 
Código Delphi [-]

  Response := TMemoryStream.Create;
  try
    TCli.EmptyTable;

    URL := 'http://localhost/test_json/test_json.php';
    Params := '';

{    Params := Params + '&nombre=' + EncodeURLElement('Francisco Penín');
    Params := Params + '&app=' + EncodeURLElement('1');
    Params := Params + '&id=' + EncodeURLElement('52b350356d63e');}

    if HttpPostURL(URL, Params, Response) then
     begin
      P:=TJSONParser.Create(StreamToString(Response));
      try
        P.Strict:=True;
        D:=P.Parse;
        TCli.disableControls;
        for i:=0 To D.Count-1 do
         begin
           T := D.Items[i];
           TCli.append;
           TCliID.asInteger := T.Items[0].AsInteger;
           TCliNombre.asString := QuitaComillas(T.Items[3].AsJSON);
           TCliDomicilio.asString := QuitaComillas(T.Items[9].AsJSON);
           TCliPoblacion.asString := QuitaComillas(T.Items[8].AsJSON);
           TCliTelefono.asString := QuitaComillas(T.Items[12].AsJSON);
           TCli.post;
         end;
      finally
        P.Free;
        TCli.enableControls;
      end;
    end;

  finally
    Response.Free;
  end;
__________________
http://www.gestionportable.com
Responder Con Cita
  #52  
Antiguo 01-08-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
En python, http://bottlepy.org/docs/dev/index.html es lo mas simple para hacer esto. Es trivial hacer REST (http://gotofritz.net/blog/weekly-cha...on-api-bottle/).
__________________
El malabarista.
Responder Con Cita
  #53  
Antiguo 01-08-2014
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.233
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 pacopenin Ver Mensaje
Realmente no hay demasiado que explicar. Un pequeño ejemplo :
Muchas gracias por la muestra.
__________________
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
  #54  
Antiguo 01-08-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por pacopenin Ver Mensaje
desde el programa envío los datos mediante REST, recibo los datos como JSON y los cargo en datasets en memoria para el manejo local
Además de tener pocos registros imagino que será una aplicación que solo hará consultas, ¿no? porque en caso de tener que grabar datos ya el tema se complicaría si usas tablas locales en memoria.
__________________
Be water my friend.
Responder Con Cita
  #55  
Antiguo 01-08-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Además de tener pocos registros imagino que será una aplicación que solo hará consultas, ¿no? porque en caso de tener que grabar datos ya el tema se complicaría si usas tablas locales en memoria.
En el ejemplo que puse se puede ver como definir parámetros que se pueden pasar a PHP

Código PHP:
    Params := '';

{    
Params := Params '&nombre=' EncodeURLElement('Francisco Penín');
    
Params := Params '&app=' EncodeURLElement('1');
    
Params := Params '&id=' EncodeURLElement('52b350356d63e');}

    if 
HttpPostURL(URLParamsResponsethen 
Desde PHP se pueden recibir parámetros http://php.net/manual/es/language.va...s.external.php es decir, según el ejemplo anterior

Código PHP:
   $nombre $_GET['nombre];

   aquí se puede hacer el insert, update, delete o lo que queramos. 
En definitiva el funcionamiento es similar a las aplicaciones web. HTML llama a PHP pasando valores. PHP hace operaciones con la base de datos y devuelve resultados. HTML recibe los resultados y los presenta. Cambiamos HTML por Delphi.

Y lo del volumen de datos es relativo, si haces consultas que devuelvan muchos miles de registros toca esperar. Para mi no tiene mucho sentido que si tienes 100.000 registros en una tabla los cargues todos y luego apliques filtros, busquedas, etc sobre memoria. El ejemplo que puse más arriba carga 2.500 registros en menos de 2 segundos, así que en la mayoría de los casos es más que suficiente. No se me ocurren demasiados casos en los que se necesiten tener cargados tantos registros a la vez. Pero vamos, eso va con la forma de trabajar de cada uno.
__________________
http://www.gestionportable.com
Responder Con Cita
  #56  
Antiguo 01-08-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Personalmente me interesa si puedes desarrollar un poco más esta parte.
No hace mucho hice una pequeña incursión en PHP (muy muy pequeña) para una entrada relacionado con aplicaciones móviles; Para ello desarrollé algo en PHP (está explicado en esta entrada y en las relacionadas con detalle)
Estuve echándole un vistazo al post completo que pusiste ya que ayer sólo había mirado la página 2 que habías enlazado, y veo que en la página 3 tienes exactamente lo mismo que yo comento, pero además muy bien explicado y con mejor código que el mío.
__________________
http://www.gestionportable.com
Responder Con Cita
  #57  
Antiguo 04-08-2014
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
Hola,

¿En qué sentido lo que comentan en los últimos mensajes es una aplicación en la nube? No es crítica, es ignorancia mía. Pero es que a mi me parece una aplicación de escritorio con una base de datos en internet y con una especie de intermediación de php, que no me queda claro para qué es o qué diferencia hay entre hacer directamente la consulta desde delphi. ¿O es que toda aplicación que use una base de datos en internet se considera un aplicación en la nube?

// Saludos
Responder Con Cita
  #58  
Antiguo 04-08-2014
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.233
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 roman Ver Mensaje
¿En qué sentido lo que comentan en los últimos mensajes es una aplicación en la nube?

Pero es que a mi me parece una aplicación de escritorio con una base de datos en internet y con una especie de intermediación de php, que no me queda claro para qué es o qué diferencia hay entre hacer directamente la consulta desde delphi.

¿O es que toda aplicación que use una base de datos en internet se considera un aplicación en la nube?
Tienes razón Román, eso no es más que una aplicación Delphi con la Base de Datos en Internet, pero tal y como ha dicho pacopenin (y creo que por ahí ha salido esta opción) es una situación "intermedia" que te da acceso a otras posibilidades.

Cita:
Empezado por pacopenin Ver Mensaje
Esto me da en principio muchas posibilidades: La parte de datos está hecha, con lo que puedo ir haciendo la parte de presentación de lo que que considere más necesario en html5 (responsive) para la accesibilidad desde cualquier dispositivo.
La idea, al menos lo que a mi me ronda, es que de una aplicación ya existente (desktop), con "poco" (o no tan poco...) podemos pasarla a este escenario. Y desde este escenario, podemos mantener la Base de Datos y la aplicación de escritorio y en paralelo ir desarrollando otras aplicaciones que funcionan en ese mismo ecosistema. Sea una página web, sea una aplicación web, sea un desarrollo móvil,...

Así que, no es que esa solución sea "una aplicación en la nube", pero parace un paso intermedio "asequible" entre:
Aplicación desktop Delphi actual <==> Desarrollo en la nube
(que al final era de lo que trataba la pregunta)

Al menos a mi me ha interesado por esta visió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
  #59  
Antiguo 04-08-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.457
Poder: 20
newtron Va camino a la fama
Pues después de todo este rollo yo pienso que un "programa en la nube" tiene que ir en un browser para poder ejecutarlo desde cualquier dispositivo y sin instalar ningún programa local, lo que decía unos cuantos mensajes atrás... que entres en una web que te pregunte tu usuario y contraseña y accedas a tu programa.

Neftali, los componentes que me comentas tienen buena pinta y darían ese resultado porque en teoría convierten tu programa de escritorio en un programa html pero yo no veo muy claro el tema del alojamiento de la base de datos, llamadas a la api y cosas así.
__________________
Be water my friend.
Responder Con Cita
  #60  
Antiguo 04-08-2014
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
Cita:
Empezado por newtron Ver Mensaje
Pues después de todo este rollo yo pienso que un "programa en la nube" tiene que ir en un browser para poder ejecutarlo desde cualquier dispositivo y sin instalar ningún programa local, lo que decía unos cuantos mensajes atrás... que entres en una web que te pregunte tu usuario y contraseña y accedas a tu programa.
Pues sí. Creo que es el concepto en sí lo que es confuso. Para mi, desde mi ignorancia, un programa en la nube es algo tipo Office361 o Google Drive. O bien, puedo considerar un servico como DropBox como parte de la nube pues me permite tener archivos disponibles desde cualquier parte; pero una base de datos no la consideraría parte de la nube, pues al menos en mi caso, siempre han estado ahí.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cacería de números primos en la nube nlsgarcia La Taberna 0 08-12-2013 21:01:04
Nube propia con Delphi mjjj Varios 19 22-09-2013 09:47:49
¿cómo realizar una nube de puntos? sarias24 Varios 5 05-10-2010 15:31:57
Triangulacion de Nube de puntos sarias24 Gráficos 0 28-09-2010 18:53:17
programa para ver en que direccion del registro de windows escribe un programa? JuanErasmo Varios 1 09-11-2006 21:42:05


La franja horaria es GMT +2. Ahora son las 22:58:39.


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