FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
DataSnap o LAMP
Compañeros, me encuentro en un dilema ahora. No sé que camino tomar. Quiero REdesarrollar una aplicación desde cero (me encanta reinventar la rueda ). La aplicación que existe ahora es cliente-servidor con Firebird. Tiene sus defectos por la arquitectura y además cuando la hacía no tenía mucha experiencia en cliente-servidor ni Delphi.
Por esa razón, quiero enmendar los problemas que esa pobre aplicación tiene volviéndola a hacer desde cero. Con su mejoras y funciones nuevas claro! Pero no me decido que arquitectura usar: DataSnap con o sin Intraweb, Cliente-Servidor o simplemente usar LAMP. Realmente más prefiero hacerla en LAMP (usando Django y PostgreSQL), sinceramente porque me gusta sentir que tengo todo bajo control y puedo incidir fácilmente sobre cada parte de la aplicación y su GUI. Lo que me detiene a hacerla de este modo es tener que empezar a lidiar con JavaScript, CSS y HTML. Hacerla con DataSnap o cliente-servidor me evitaría tener que aprender un nuevo lenguage, usar mucho del conocimiento ya adquirido en Delphi. Sin embargo, la aplicación heredaría inconvenientes que no los quiero, como no ser multiplataforma por ejemplo. En este sentido, vi que para el cliente se puede usar Intraweb, pero aún así el servidor estaría esclavizado a funcionar en Windows Server. En sintesis, estos son los pro y los contra que tengo: LAMP Pros:
Por el lado de DataSnap Pros:
Bueno, esos son los puntos que he considerado, aunque creo que alguno se me escapa. Realmente espero que me puedan brindar sus opiniones. Yo las consideraré y agradeceré. Quiero ya decidirme porque espero empezar el desarrollo en la próxima semana. De antemano, muchas gracias |
#2
|
|||
|
|||
Hola,
La verdad es que este es un dilema que yo también tengo. Debo actualizar una aplicación de escritorio, cliente/servidor. El servidor es un MySQL que está en un server de Internet, y la aplicación está escrita en Java, y todavía no sé por dónde tirar. En principio quería ir a lo fácil: Delphi + Firebird. Peeeero lo más fácil no es siempre lo más eficiente. Por un lado hay el inconveniente del "lag" en la comunicación aplicación <--> base de datos, y por otra parte hay el detalle de las actualizaciones. Si se convierte la aplicación a web, todos estos problemas se solucionan (incluso otro que tengo, de ajuntar una web Joomla con datos de esta aplicación). Las actualizaciones, pues nada más simple: se actualiza en el servidor, y el cliente ya lo tiene automáticamente, sin enterarse. Y el lag entre cliente y bbdd tambien desaparece, al correr todo en la misma máquina. Cual es, entonces, el auténtico problema? En mi caso, el cambio de filosofía de pasar a desarrollar web. Hasta ahora he programado cosas muy simples para página web (un pequeño "cms", algunas modificaciones a paquetes cómo Prestashop, etc). Pero el salto a toda una aplicación web entera es complicado... Realmente, no creo que haya ninguna respuesta "buena". Todo son ventajas e inconvenientes, por una parte y por la otra... Saludos, Marc P.D.: El tema imprimir es muy simple: generas un PDF y el usuario pulsa el botón "Imprimir". |
#3
|
||||
|
||||
Gracias mcs por tu opinión. También creo que el tema de las actualizaciones es uno de los puntos a favor que tendría hacerla en Web. Además comparto ese, lo que creo es, miedo natural al cambio. Pero no me gusta sentirme así, soy un desarrollador aún muy joven y no puedo estarme permitiendo negarme al cambio. Aún así, creo que me encantaría la experiencia que adquiriría, pero lamentablemente no sólo depende de mí, sé que tendré la presión encima y no sabía si mis jefes soportarán ir al paso de un inexperto como yo. Tomándome mi tiendo haría un clon de Facebook, pero no sólo depende de mí. No es que no me guste que me presionen, pero si lo llegan a ser, me sentiría impotente de hacer algo más rápido por mi falta de experiencia en este tipo de desarrollo.
"He allí el detalle" cómo decía Cantinflas. Incurriría en desarrollo extra convertir todos los documentos creados. Pero bueno, tengo que barajar las posibilidades. |
#4
|
||||
|
||||
Bueno Chris, en lo personal me inclinaría por la versión con Django, el framework "para perfeccioniscas con tiempo límite"
Haciendo un comparativo de los pros y contras que le ves a ambas soluciones es fácil darnos cuenta que los contras del ambiente web (que no sería LAMP) con Django no son nada comparados con los pros. Cita:
Cita:
Lo segundo en esta sentencia no lo he entendido. Cita:
Por último, arriba te escribí que no sería LAMP en esta situación, te lo explico: LAMP es el acrónimo de Linux + Apache + MySQL + PHP, y aunque al final PHP lo reemplazas por Python, la parte de MySQL la reemplazas por PostgreSQL, entonces ya no sería LAMP |
#5
|
||||
|
||||
Una pregunta: ¿por que cambiar de Firebird a Postgre? Si tu aplicación es tipo web también puedes usar Firebird ¿no?
Otra cosa sin importancia: creo que el término LAMP no es el más adecuado pues se refiere a Linux, Apache, MySQL, PHP. Edito: Se me adelantó D-MO con lo de LAMP // Saludos Última edición por roman fecha: 31-03-2011 a las 18:21:38. |
#6
|
||||
|
||||
Cita:
Saludos. |
#7
|
||||
|
||||
Muchas Gracias por tus observaciones D-MO
Lo de LAMP, pues decidí usar el termino por simpliciad, ya que muchos después podría ser que no entiendan de sus variaciones. Me entiendes? Cita:
Por otro lado, cuando trabajo con HTML y CSS suelo utilizar poco los editores visuales. Soy programador y me gusta trabajar a nivel de código. Además que tengo hasta el más mínimo control sobre lo producido. Es por eso que te digo que hacer una interfaz rica (así como Facebook) requiere de bastante código en HTML, CSS y ni mencionar Javascript, que en ése sí que estoy "crudo". Pero aún así estoy abierto a probar editores que me ayuden en el trabajo. Siempre y cuanto me hagan sentir en control. |
#8
|
||||
|
||||
Por apenas unos segundos...
Y hablando de lo mismo, la parte de la "P" podría referirse a Perl, PHP, Python y cualquier otro lenguaje que empiece por p, lo que si no encaja acá es la "M" que si es exclusiva de MySQL. Saludos |
#9
|
||||
|
||||
Cita:
Además quiero usar un motor algo más "popular", en caso de tener que mover el servidor o alquilar uno virtual o compartido al final -lo más probable sería compartido porque aquí son tacaños-. En ese sentido, nuestro apreciado Firebird aún no es ofrecido por muchos vendedores de servicios en la nube. Además, de Postgre me gusta lo de crear procedimientos almacenados en lenguajes de alto nivel. |
#10
|
||||
|
||||
Eso, DESCARTADO!
|
#11
|
||||
|
||||
Cita:
// Saludos |
#12
|
||||
|
||||
Cita:
Otra posibilidad sería que la agenda de clientes esté almacenada en un servidor, no en los clientes de correo. Una, de muchas soluciones de este tipo sería utilizar un servidor LDAP y configurar todos los clientes para que utilicen este como repositorio de contactos y a la vez a Django para que lea estos datos cada vez que lo necesite. Acá hay un poco de la sincronización de los clientes de correo con el LDAP: http://www.sudleyplace.com/LDAP/index.en.html Cita:
Saludos. |
#13
|
||||
|
||||
Lo que pasa es que se necesita tener la posibilidad de que el usuario revise y haga modificaciones al correo generado. Adjunte nuevos archivos o modifique el contenido del mensaje. :-/
|
#14
|
||||
|
||||
#15
|
||||
|
||||
No veo porqué del enojo. Puedo entender que no exista la opción pero negarse sólo por querer tomar el control total no me parece una buena razón.
Gran parte de las aplicaciones WEB requieren de un diseñador profesional. Dudo mucho, por ejemplo, que Facebook esté diseñado por un programador. // Saludos |
#16
|
||||
|
||||
Cita:
// Saludos |
#17
|
||||
|
||||
Cita:
Pero me gusta e interesa esa idea de la PlugIn que me has mencionado. :-/ Bueno, al final creo que podría prescindir de esta funcionalidad y mandar a todos a hacerlo a la antigua, que redacten sus correos manualmente a cómo lo hacían hasta hace unos años. |
#18
|
||||
|
||||
Cita:
|
#19
|
||||
|
||||
Hola Chris.
Dada tu situación y experiencia con Delphi, mi consejo en cuanto a las interfaces de usuario sería que hagas en Web lo que estrictamente hablando deba poder usarse desde cualquier computadora con navegador y conexión a Internet. El resto, mientras no haya reparos para usar Windows, en Delphi. Es un error común creer que toda la interfaz de usuario debe estar en una misma plataforma. En cuanto a las capas en la parte Delphi, si no hay una necesidad real de contar con un servidor de aplicaciones, entonces usa tres capas "lógicas": en un módulo de datos los componentes de acceso directo a la base de datos (recomiendo dbExpress) y sus proveedores, y en otro los objetos TClientDataSet; y las clases debidamente separadas en unidades .pas de lógica de negocios por una parte, y en otras unidades las clases, rutinas y manejadores de eventos que tienen que ver directamente con la interfaz de usuario. Todo compilado como una sola aplicación. Pero cuando sea inminente el establecimiento de tres capas físicas, divides tu aplicación Delphi en dos partes: tomando por un lado los elementos que son necesarios para compilar un servidor de aplicaciones y por otro lado lo que corresponde a la interfaz de usuario. Y agregas entonces los elementos DataSnap adicionales para lograr la comunicación entre las dos aplicaciones. Lo que no tengo claro del todo, y con este comentario me uno a tus inquietudes esperando alguna orientación de quienes ya lo han logrado, es cómo hacer que una interfaz de usuario Web tenga franca comunicación y aprovechamiento de un servidor de aplicaciones Win32 creado en Delphi. Es decir, que el servidor de aplicaciones (capa intermedia) sirva tanto a interfaces de usuario Windows, como a interfaces de usuario Web. ¿Han visto algún material por ahí que lo explique con claridad? Saludos. Al González. |
#20
|
||||
|
||||
Cita:
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Querys en DataSnap | juank1971 | Conexión con bases de datos | 10 | 15-07-2014 14:04:55 |
Error en insercion con Datasnap | rruffino | SQL | 3 | 16-03-2010 18:38:02 |
Comom saber si tengo instalado lamp | Faust | Linux | 3 | 16-01-2009 03:07:00 |
Turotial datasnap | Osorio | Providers | 2 | 20-09-2006 14:36:10 |
Midas y DataSnap | Toni | Providers | 1 | 09-07-2003 19:30:47 |
|