Ora il discorso principale è capire se Echo2 ha il "difetto" di GWT: non essere bloccante.
E' una cosa che ho fatto un po' fatica a capire anche io, non tanto capire la cosa in se, ma capire i problemi ad esso correlati. In pratica noi avremmo l'esigenza che l'applicazione creata possa essere "bloccata" nel momento in cui si richiede l'interazione con l'utente.
Tipicamente con le applicazioni AJAX, questo non si può fare (non per nulla la A di Ajax sta per asincrono).
Quale è il problema:
Se siamo in una maschera e l'utete clicca un pulsante per un "cerca", noi vorremmo che tutto nell'applicazione si blocchi in attesa della risposta... ma co al logica dell'essere asincrono no è così... il resto dell'applicazione se ne va avanti indipendentemente da cosa fa l'utente con la nuova finestra.
Anche con GWT esiste la possibilità di inserimento di una finestra modale, come quelle di avviso (classico segnale di errore con il tasto ok) e un'altra alert modale (con tasti ok e cancel) e queste bloccano di fatto l'applicazione, ma non si può fare nulla di più di una finestrella con due tasti.
Con Echo si potrà avere una logica bloccante? Nella documentazione letta al volo si parla di finestre modali, e questo "modale" può significare bloccante
Staremo a vedere
Aggiornameno alle ore 11:33
Dal sito di Echo2 (http://echo.nextapp.com/site/) non capisco bene come procedere per capire le basi dello sviluppo con questa applicazione.
Fortunatamente nel wiki trovo un link che pare interessante: www.pathf.com/echo2/Echo2-Part1.pdf
Pare che spieghi come integrare echo e eclipse, cosa installare, come iniziare
Quello che fa per me
Aggiornamento alle ore 15:35
Mannaggia, più di 3 ore su ste cavolo di tutorial, semplicissimo, ma non andava
dopo un po' di incavolatura (prima c'era un altro server sulla porta 8080, trovato come chiuderlo, dava ancora problemi, un errore 505) ho trovato con google (potere google) la soluzione
in pratica nel tutorial c'era un piccolo errore, nel file web.xml la riga
è errata e va sotituta con
argh... problemi di case sensitive..
cmq ora va
ma ovviamente non era abbastanza, troppo breve come tutorial
trovo il blog dell'autore... che non hai mai fatto la parte numero 2 di quel tutorial, comunque eccola: http://blogs.pathf.com/agileajax/echo2/index.html
e anche queste due pagine sembrano interessanti: http://ensode.net/echo2_review.html
http://ensode.net/echo2_closer_look.html
Aggiornamento delle 17:02
Ancora un ora persa per cercare di far partire uno dei tutorial "ufficiali", in number guess
non mi andava... continuavano ad esserci errori
metto qui i passaggi così se in futuro devo usare altri source simili so cosa fare
- in eclipse creo un nuovo progetto, New (dall'icona, non dal menu), Web, Dinamic web project. Scelto tomcat come server
- in base alla logica dei package che trovo nei file "java" del source che voglio usare, creo in eclipse i relativi package e ci sbatto dentro i file source java... ovviamente rispettando la logica dei package
- in eclipse, cerco la cartella webcontent->Web-Inf->Lib; clicco con il destro e poi "import". Scelto File System. Cerco in "browse" la cartella di installazione di echo due, poi la sottocartella binary libraries. Nel mio caso "C:\Programmi\NextApp_Echo2\BinaryLibraries". Scelgo quindi questi jar: Echo2_App.jar, Echo2_WebContainer.jar, Echo2_WebRenderer.jar e
EchopointNG.jar - nella cartella "WebContent" creo un file "index.html" così composto
<!DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<meta http-equiv="Refresh" Content="0; URL=app">
</head>
<body>Redirecting to application.</body>
</html> - nella cartella Web-Inf dentro WebContent modifico il file "Web.xml" fino a renderlo simile a questo
<?xml
version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>provaecho2</display-name>
<servlet>
<servlet-name>NumberGuessServlet</servlet-name>
<servlet-class>echo2tutorial.numberguess.NumberGuessServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NumberGuessServlet</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
importanti queste due righeNumberGuessServlet echo2tutorial.numberguess.NumberGuessServlet
Che devono avere il nome e la struttura dei package del servlet creati (cioè il file source java che si chiama "nomeapplicazione.Servlet.java") - Fatto tutto questo dovrebbe essere pronta per "partire"
Seleziono con il destro il progetto in eclipse, seleziono "RunAs" e "Ron On Server", seleziono il server tomcat e tutto dovrebbe partire
Nessun commento:
Posta un commento