[Php-avanzado] Blogs
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Jul 23 03:04:38 ART 2009
Hola Matías!
Lo que son las cosas: recién al recibir tu mail y el de Gustavo caí que
el blog era de Uds y no que enviabas un enlace a algo que habías
encontrado.
Esto explica bastante la reacción, pero obvio que era sin ánimo de
ofender. Me toca estar del lado purista de la cosa.
Te respondo intercalado:
El mié, 22-07-2009 a las 14:57 -0300, Matías Emiliano Alvarez Durán
escribió:
> Hola Leo!
>
> Te respondo algunos de los puntos que comentaste:
>
> > JavaFX está bueno para construir RIAs. Sin embargo para cosas chiquitas
> > las bibliotecas de JS se la bancan.
>
> Yo creo que JavaFX no tiene comparación en ningún punto con JS. Ya que esta
> tecnología nueva no fue desarrollada con el objetivo de reemplazarla ni
[..]
> solo para la web, sino para aplicaciones en diferentes plataformas y
> dispositivos.
De acuerdo con que no tiene comparación, ya que de una RIA no se espera
lo mismo que de un think client.
Lo único que dije es que para cosas simples no vale la pena usarla,
porque si no estamos matando moscas a cañonazos.
> > Para variar, debo matizar un par de cosas: MVC no es un pattern, sino
> > una arquitectura, y según estos chicos acá:
> > http://webooksfx.blogspot.com/2009/07/servicio-web-webooks-php-si-bien-el.html
>
> El tema de si MVC es o no un patrón me parece algo banal. Existen diferentes
> autores que lo clasifican como un patrón y otros no, lo importante para mí
> es entender el concepto.
> Martin Fowler en su libro "Patterns of Enterprise Application Architecture",
> comienza el capítulo 14 (Web Presentation Patterns) explicando el patrón
> MVC:
> "Model View Controller (MVC) is one of the most quoted (and most misquoted)
> patterns around."
> Estoy de acuerdo en que es un patrón de arquitectura de software, pero
> detenerse solo en ese detalle me parece algo sin sentido. En los siguientes
> links hay diferentes definiciones y puntos de vista.
> http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
> http://java.sun.com/blueprints/patterns/MVC.html
> http://martinfowler.com/eaaDev/uiArchs.html
No sé si es tan banal: fijate como suena "patrón de diseño
cliente-servidor". Una arquitectura es una cosa, y un pattern es otra.
En lo personal, Fowler me parece un genio, o más bien un vivo, que
inventó el término "patrones empresariales" y salió a venderlo. Pero si
te fijás en las OOSPLA, resulta que los patterns de Fowler fueron casi
todos rechazados. La comunidad científica sigue las ideas de Gamma.
Después seguro que encontraremos gente alineada con unos y otros.
De todas formas, la discusión es interesantísima!
La cuestión importante para mi es: lo diga Fowler, lo diga Gamma o lo
diga cualquiera: "El MVC es un patrón de diseño" Estás de acuerdo? Estás
en descuerdo? y lo más importante: por qué?
> > la GUI interactúa directamente con el Controler y no con la View... un
> > pifie feo...
>
> Un pifie feo según tu punto de vista del patrón (o arquitectura) MVC.
> Existen diferentes implementaciones y adaptaciones del mismo (dependiendo de
> la plataforma, lenguaje o tipo de aplicación), lo cuál no significa que esta
> mal o es un pifie. En el caso del servicio php que desarrollamos (por si no
> lo llegaste a leer) todas las peticiones llegan a un controlador frontal, el
> cuál delega el procesamiento de la respuesta a un controlador específico.
Momento!
Llegan a un controller frontal, pero quíen las envía?
Lo pregunto de otra manera: el usuario interactúa con la Vista o
directamente con el Controller???
En el gráfico, el usuario, se comunica con el Modelo interactuando con
el Controller y no con la Vista!!! De hecho, en el gráfico la vista no
es tocada por el usuario...
Esto significa que tenés un Controller en la Interfaz del Usuario???
Creo que no, y que más bien es un desliz en el gráfico.
> Todas las respuestas son en formato XML. Entonces yo te pregunto ¿Como se
> comunica una GUI (que es solo en formato XML) con la controladora?.
La GUI es XML??? Si asumimos que mayormente la Vista es la GUI, debe
tener algún medio para interactuar con el usuario y no ser mero XML.
A mi me parece que el XML juega el papel de una capa de DTOs, pero que
la vista será una GUI con botones y cajitas para manipular.
La verdad es que estoy un poco perdido, pero la Vista no se restringe
solo a la GUI, y si bien se puede afirmar que una GUI va en la Vista de
la aplicación, la inversa no es cierta.
> En una
> aplicación web clásica el HTML es la GUI, a partir de esta GUI nos
> referenciamos a la controladora.
Sip... en la web se resume a eso.
> El enfoque que le dimos a la arquitectura del servicio web, esta basado en
> la implementación MVC del Framework Symfony.
> http://www.symfony-project.org/get/pdf/book-1.2-en.pdf
> GUI: Graphic User Interface
Pero en la pag 20 de esta guía, fijate que no está el usuario, sino el
cliente, que tiene un usuario subido encima.
Además, fijate como la Vista es la que le responde al cliente, ergo, en
el cliente hay una vista stateless que enviará los mensajes al
Controller, pero no el usuario.
Lo mismo en la página 27...
> > Lo importante de todo esto es que JavaFX se comunica con el backend en
> > XML, así que el backend puede estar escrito en cualquier lenguaje.
>
> Es una pena que esto sea lo único bueno que hayas encontrado. En mi opinión
> hay un par de cosas que estan interesantes también.
No dije "bueno", dije "importante".
Estaba resaltando que JavaFX al usar un standar de comunicación de
datos, soporta cualquier lenguaje como backend.
(llegado a este punto me parece que me leiste con "mala voz")
> > No quiero seguir leyendo, porque dentro de un rato me voy a encontrar
> > con un diseño de DAO en vez de DTO... pero esta dicusión ya la
> > tuvimos ;-)
>
> Lastima que no quieras seguir leyendo, porque la idea de esto era compartir
> lo que tanto tiempo estuvimos investigando y desarrollando. Nosotros hicimos
> este proyecto para una cátedra de la facultad, y la idea de compartirlo y
> crear el blog fue nuestra. Creo que como moderador de esta lista tendrías
> que apoyar estas iniciativas (aunque no estes del todo de acuerdo con
> algunos conceptos) e incentivarlas.
> Ya[..]inyección de dependencia, etc.
Como te decía al principio, lo leí como un enlace enviado, no como una
producción propia. Fijate que tu post no hace referencia alguna al
origen. Yo no leí sus nombres a la izquierda en el blog.
Te repito mis disculpas si te ofendí, porque fue de veras sin
intención. Lastima que no captaste la ironía de los DTO vs DAO, incluso
haciendo referencia a una conversación que tuvimos.
Sabés por otra parte que apoyo las iniciativas, sobre todo las que
tengan que ver con expandirse y usar nuevas tecnologías, pero entiendo
que apoyar no es igual a hacer silencio cuando hay errores conceptuales
expresados como afirmaciones. Obvio que como a todos, tengo meteduras de
pata, por esto siempre atrás de la observación va la explicación, para
que sea evaluada sopesada.
También sabés que no estoy en la lista con la camiseta de moderador.
Creo que 3 o 4 veces en todos estos años de curso y listas de la facu me
paré como moderador, y fue para dirimir entre terceros... me llama la
atención tu referencia a esto.
> Saludos! Nos vemos
=mente Matías!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado