Ha intentado usar MVC o cualquier otro patrón de interfaz de usuario para el código de cliente GWT. ¿Cuáles son las trampas/ventajas que ha enfrentado en diferentes enfoques?¿Has probado utilizar MVC para el código de cliente GWT?
Respuesta
Creo que debe tratar a GWT como cualquier otro marco de interfaz de usuario, como Swing, Cocoa, etc. Todo lo que tiene sentido en esos marcos en términos de MVC (u otros paradigmas) hace sentido en GWT también. Creo que a veces las personas toman el MVC demasiado, y me gusta la forma en que funciona en Cocoa más que en la mayoría de los frameworks. Usted crea una vista, tiene un ViewController que controla todo el comportamiento de la vista, y luego tiene objetos modelo con todos sus datos. No creo que deba ser dogmático sobre dónde está toda la lógica de su negocio, solo tiene que estar donde tenga sentido.
En términos de dificultades, la principal con la que te encontrarás es que GWT es puramente una tecnología de front-end, por lo que técnicamente el back-end está ubicado en un servidor en alguna parte. No veo que esto sea tan diferente a escribir una aplicación swing de servidor cliente, que almacena sus datos en la nube en alguna parte. La diferencia es que GWT se compila en javascript y tiene todas las limitaciones de una aplicación web javascript, por lo que habrá algunas cosas que simplemente no se pueden hacer en el front-end. Digamos, por ejemplo, que desea crear un PDF y mostrarle al usuario que no puede hacer eso en GWT; debe llamar al servidor para que lo haga por usted. En una aplicación Swing, por otro lado, probablemente puedas usar itext y hacerlo en el lado del cliente.
El patrón MVC para GWT se trata en este question, que también tiene un enlace a este en profundidad blog post.
Lo único que agregaría es que el código del lado del cliente en su totalidad puede considerarse la "V" en "MVC", lo que puede alterar la forma en que lo mira. Pensando en el código del lado del cliente como su propio componente MVC anidado, bueno, es Java, está orientado a objetos, por lo que puede diseñarse como una aplicación Swing. Creo que es una ventaja para tirar todo el código del controlador fuera de la vista para manejar las cosas de GWT RPC. El Modelo a veces es más problemático, porque es posible que tenga que decidir si lo desea en el servidor en lugar de hacerlo en el cliente. O cree un proxy modelo, etc.
¿Has probado GWTruts (http://sourceforge.net/projects/gwtruts/)? También es un marco GWT MVC de código abierto que separa la Vista y el Controlador en GWT
http://code.google.com/p/gwt-mvc/ podría ayudarlo.
Las ventajas son:
- fácil de leer controlador de gestión
- Historia Fichas
- controladores son testble con JMock (pero no GWTTestCase)
- jerárquica MVC
- herencia simple para empezar a programar su vista, controladores y modelos.
El uso de algún tipo de patrón de tipo MVC/MVP es muy importante cuando las aplicaciones GWT van más allá del proyecto más pequeño, sino que simplemente pierde el control de lo que está sucediendo.
Aparte de lo que ya se ha mencionado también hay aplicación de GXT MVC que he mirado aquí: http://www.bristol-gtug.org/?p=45
Esta charla en Google IO año pasado comenzó a mucha gente de pensar en MVC/MVP en GWT: http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html.
poco me di cuenta de que también es ahora un tutorial sobre la arquitectura MVP en la documentación GWT que es un buen comienzo: http://code.google.com/webtoolkit/doc/latest/tutorial/mvp-architecture.html
Se puede echar un vistazo a JetPad-cartógrafos, un marco MVC minimalista desarrollado en JetBrains y utilizado en varios productos (actualmente inéditos).
exención de responsabilidad, estoy involucrado en el desarrollo de este marco.
- 1. Usuarios de @Rails: ¿has probado web2py? Pros? ¿Contras?
- 2. usando la biblioteca Gson en el código de cliente GWT
- 3. cliente en GWT
- 4. ¿Cómo puedo compartir una clase entre el código del cliente GWT y el código del servidor?
- 5. Registradores en el lado del cliente GWT
- 6. Enhebrado en GWT (Cliente)
- 7. ¿Alguien ha probado el lino?
- 8. Cliente de chat con GWT
- 9. redis para asp.net mvc, opciones del cliente?
- 10. Opciones de AOP del lado del cliente para aplicaciones GWT
- 11. GWT: Ningún código fuente está disponible para el tipo java.util.Calendar
- 12. Problemas al utilizar GWT ScrollPanel
- 13. GWT "base de datos" (lado del cliente)
- 14. ¿Has configurado ClickListener para el elemento giratorio?
- 15. Pasando MVC modelo de datos para el lado del cliente Código mecanografiado
- 16. ¿Cuál es la mejor manera de probar el código GWT
- 17. Cuándo usar afirmar en el cliente y código común de GWT
- 18. GWT y WebSocket/Datos push del servidor al cliente GWT
- 19. ¿Para qué has usado Object.clone()?
- 20. ¿Cómo usar las anotaciones de JAXB en el lado del cliente para GWT?
- 21. ¿Es ágil científicamente probado?
- 22. GWT JSR 303 validación del cliente
- 23. ¿Cómo se lee el archivo local (Cliente) con GWT?
- 24. ¿Cómo descargar un archivo usando el cliente GWT?
- 25. Caché del lado del cliente en GWT
- 26. ¿Cómo enviar archivos XML para el cliente en ASP.NET MVC
- 27. aplicación GWT refrescante en el lado del cliente
- 28. Implementaciones de cliente y servidor GWT de la misma clase
- 29. pjax o cliente lado MVC?
- 30. diseñador GWT no funciona con el proyecto Maven-GWT