Wicket and Play son dos tipos de marcos muy diferentes.
Play es un framework MVC con el que probablemente se sienta familiar desde Django. Al igual que Django, ofrece algo más que solo los bits web y proporciona un marco ORM basado en JPA, herramientas de andamios y probablemente mucho más (no tengo experiencia práctica con él). Tienen un gran tutorial en su sitio, y probablemente veas las similitudes de Django allí.
Wicket es un marco orientado a componentes (como JSF y Tapestry) y se centra principalmente en el diseño orientado a objetos. También es MVC, per se, pero las páginas generalmente se crean componiendo componentes autocontenidos y reutilizables (Vista y Controlador, Modelos conectables). Estos componentes se pueden extender por herencia y composición estándar y el marcado se separa muy limpiamente del código y se modifica fácilmente.
Wicket puede gestionar las devoluciones de eventos y el estado de forma automática, de modo que no se tenga para pensar en las urls, sin importar cuán compleja sea su página. Un ejemplo rápido de un botón que se pulse que va un lejos cuando se hace clic (muy útil):
// In a page constructor
add(new Link("link") {
public void onClick() {
setVisible(false);
}
});
quiero hacer hincapié en que no tiene que utilizar el estado del lado del servidor, y que es perfectamente posible utilizar Wicket como un marco MVC "normal" si lo desea (y sí, es fácil obtener URLs bonitas).
El proyecto Wicket se centra solo en el marco web central y no hay "detalles" adicionales como soporte especial de ORM o andamios.Personalmente, estoy de acuerdo con la filosofía del proyecto Wicket aquí, pero para los nuevos desarrolladores que llegan al marco, hacer cosas "simples" como una tabla ordenable y ordenable puede ser un poco desalentador ya que los componentes preconstruidos son un poco escasos. La curva de aprendizaje y productividad para Wicket puede ser un poco abrupta, pero lo bueno es que una vez que ha creado los componentes (y "comportamientos", una historia más larga) que se ajustan a sus necesidades, son extremadamente reutilizables.
Aunque personalmente amo Wicket, tengo la corazonada de que probablemente sea mejor con Play. Su pregunta indica que desea un "Django" con acceso a libs de Java, y en ese caso creo que Play (o algún otro Java MVC) es la opción segura. Por otro lado, tal vez has estado usando Django porque no sabías cuán increíblemente poderoso es Wicket. ;) Si proporciona más información sobre su proyecto, podremos dar una respuesta más calificada.
Como un nodo lateral: como Play no es muy común (al menos por ahora), también consideraría Grails que tiene un fuerte respaldo comercial y aún más módulos listos para usar.
¿Cuáles son sus requisitos? – Mot