Supponiamo che sto lavorando per esporre alcune delle mie classi lato server a un'applicazione GWT, ma alcune parti potrebbero essere eseguite molto meglio utilizzando componenti specifici di GWT (come JSNI, ad esempio).Come fornire specifiche implementazioni GWT
Quali sono alcune tecniche per farlo senza essere troppo hacky?
Ad esempio, sono a conoscenza dell'uso di un pacchetto secondario e dell'utilizzo del tag <super-source/>
, ma ciò richiede che i nomi dei pacchetti siano diversi, il che fa sì che eclissi si lamenti. La soluzione generale nella community è di dire a eclissi di usarlo come una cartella sorgente, ma eclipse si lamenta che esistono due classi con lo stesso nome.
Idealmente, ci sarebbe solo un modo per tenere tutto in un unico albero di sorgenti, e in realtà avere classi diverse che applicano le implementazioni alternative. Questo sembrerebbe un approccio più OO.
Vorrei aggiungere un suffisso ad una classe come _gwt che lo compie automaticamente, e so che potrei scrivere uno script per fare questo tipo di trasformazione, ma questo è sicuramente un kludge.
Ho preso in considerazione l'utilizzo delle librerie GIN/GUICE di Google per i miei progetti in generale e penso che potrebbe esserci una soluzione in questo caso, ma non sono sicuro perché non l'ho studiato a fondo.
Quali sono alcune soluzioni che hai provato in passato sui progetti GWT?
+1 per il riferimento alla soluzione di Google. Sembra la migliore scommessa. Posso utilizzare questo percorso di origine alternativo come progetto separato, che dipende dal progetto principale, e su base uno per uno sovrascrive varie classi, idealmente in modo tale da ottenere un codice duplicato minimo. –