2009-07-01 11 views
12

Devo scrivere un'applicazione web e non sono sicuro quale tecnologia scegliere. L'interfaccia utente deve apparire come un'applicazione desktop. Dalla mia (limitata) esperienza con HTML, CSS e JavaScript, so che questo è tutt'altro che facile. Quello che mi piacerebbe essere in grado di programmare proprio come in C++, C# o Java, perché penso che questi linguaggi siano molto più adatti per l'implementazione di una GUI.Sviluppo Web senza l'utilizzo di HTML/CSS/JavaScript

La mia domanda è triplice:

  • è possibile?
  • Quali tecnologie possono essere utilizzate per questo?
  • E se è possibile, perché la maggior parte delle applicazioni Web è ancora realizzata utilizzando HTML e JavaScript?

Aggiornamento: Grazie per le numerose risposte!

+0

voto per chiudere a causa di questo essendo diventato una discarica per le raccomandazioni. –

risposta

8

Sì, è possibile utilizzare Silverlight o JavaFX (anche se richiederebbe un minimo di HTML come 4 tag ...).

Il problema con Silverlight o JavaFX e Flash allo stesso tempo è che fanno schifo a SEO, ovvero l'ottimizzazione dei motori di ricerca, dato che Google & non può guardare all'interno della tua app.

+0

+1 per JavaFX, che ho dimenticato di menzionare :-) –

+0

Sono sorpreso di essere l'unico a parlarne! Per quanto non apprezzi le app JavaFX, è un'alternativa valida e ben consolidata a Flash e Silverlight. –

+0

Google (non so su altri motori di ricerca) può guardare bene all'interno di Flash se comunichi a Flash/Flex/qualsiasi cosa per produrre "file SWF accessibili". –

3

La maggior parte delle applicazioni Web sono realizzate con HTML e JavaScript per la portabilità. Ma, se vuoi un'interfaccia utente davvero "ricca", potresti voler studiare Adobe Flash o Flex, o Microsoft Silverlight (con cui puoi programmare in C#). Ma chiederai ai tuoi utenti di avere il plugin appropriato.

+0

Il suggerimento di Gab di JavaFX è ugualmente valido. –

+0

flode Abode, dimenticato di questo. –

1

Silverlight sembra che sarebbe più vicino a quello che si sta parlando (C#, ecc)

Si potrebbe anche usare Flash per le applicazioni rich internet.

Onestamente, dovresti imparare almeno HTML di base prima di iniziare la programmazione web. Dovresti imparare molto di più, ma al minimo.

E per rispondere alla tua ultima domanda, perché le persone usano ancora HTML ...

Non tutti utilizzando il web è in un moderatamente potente computer desktop. Le persone accedono al web da telefoni, programmi per computer, ecc. Non tutti questi dispositivi supportano la RIA e quindi non ti resta che lasciarli fuori o mettere le cose in un mezzo che tutti possono vedere.

Inoltre, l'accessibilità (persone non vedenti, ad esempio) richiede lettori di schermo per aiutarli sul web. Per questo motivo, la capacità di leggere un documento per un utente è fondamentale.

Ci sono sicuramente più motivi, ma quelli sono un paio di esempi.

1
  • Silverlight/Flash/etc
  • sacco di motivi: l'accessibilità, SEO, portabilità
3

È possibile utilizzare Flex, Silverlight o Flash per la creazione di interfacce ricche.

Se non ti piace HTML e CSS, puoi usare framework CSS come blueprint, HAML, SASS. Se non ti piace javascript, puoi migliorare l'esperienza usando jquery o prototipo.

L'utilizzo dell'HT consente maggiore visibilità. Ad esempio, molti dispositivi portatili non gestiscono Flash e la maggior parte delle persone non dispone di Silverlight. Ci sono anche problemi di SEO. Anche se Google fa ora riferimento a contenuti Flash, è ancora molto indietro rispetto al riferimento HTML.

Infine, per me un'applicazione web non dovrebbe apparire come un'applicazione desktop. Ma se si vuole veramente fare così, ci sono modo per farlo:

alt text http://cappuccino.org/learn/tutorials/automatic-layout/images/280SlidesOverlay.png

(cappuccino)

+0

"un'applicazione web non dovrebbe apparire come un'applicazione desktop". Sono certamente d'accordo. Tuttavia, all'interno della mia azienda vogliono trasferire la nostra applicazione C++ in un'app web, quindi penso che vorranno vedere la funzionalità * all * porting :( –

4

non sono convinto quello che sembra un'applicazione desktop è la chiave del successo - e cosa significa in ogni caso?

L'interfaccia utente di Jquery fornisce un'idea di ciò che è possibile utilizzare con la combinazione standard html/css/js ed è facile da implementare.

1

Come ho visto la sintassi utilizzata in Java FX, penso che staresti meglio con una normale applet Java (essendo un po 'soggettiva, a ragione). Un'applet è un'applicazione Java (con alcune restrizioni) incorporata nel browser.

La ragione per cui HTML/CSS/Javascript sono utilizzati per le pagine Web è perché è ciò per cui sono destinati. Ti permettono di costruire documenti che sono ricercabili e flessibili per quanto riguarda il layout, ad es. Mettere un applet Java (per esempio) nel browser ti limita quando si tratta di aspetto, styling, SEO (come detto) +++ ...

Silverlight è anche un'alternativa, come suggerito. Anche questa è un'applicazione incorporata in esecuzione nel browser.

Se si padroneggia Java, un'applet sarebbe una scelta decente se si può vivere con questi aspetti negativi.

1

Dai uno sguardo allo Wicket. Puoi creare un'app Web con la codifica solo in Java in un modo molto simile con cui crei app desktop con Swing.

MODIFICATO: Ok, devo ammettere, è necessario un po 'di esperienza HTML (che si ha), ma Wicket fa la maggior parte delle cose ingannevoli di JavaScript e AJAX per te.

Anche GWT è simile: converte automaticamente il codice Java in JavaScript e genera la maggior parte dell'HTML.

9

È possibile utilizzare Python con Pyjamas, Objective-J (e un piccolo JavaScript) con Cappuccino o Java con GWT.

Se non vi dispiace essere dipendente dalle plugin del browser, è possibile anche guardare Adobe Air, Adobe Flex, Flash, Silverlight, o JavaFX (o semplicemente Java).

Per rispondere alla tua altra domanda, la maggior parte delle app Web sono scritte in HTML/CSS/JS perché sono quelle che la maggior parte dei browser può eseguire senza aiuto. Tutto ciò che ho menzionato sopra o si compila a quelli o si basa sull'utente che ha un plugin installato.

6

alcuni punti:

E 'impossibile avere una pagina web senza HTML.

Se si utilizzano plugin come Flash, altri hanno suggerito che è ancora necessario l'HTML, perché è la lingua del Web. HTML, CSS e Javascript sono ampiamente utilizzati perché i plug-in sono per lo più proprietari e non compresi dal browser.

Ad esempio, non è possibile copiare il testo normalmente dai plug-in e altre funzioni e scorciatoie del browser non funzionano. Dovrai valutare ciò che è più importante.

Se la vostra applicazione deve apparire come un'applicazione desktop, ne fanno un'applicazione desktop

perché non fare un'applicazione desktop, con capacità di connessione a Internet? È una specie di inganno che fa sembrare qualcosa che non è, e anche strano quando è in esecuzione in un'altra app (il browser).

E qualunque sia lo stile utilizzato, nella maggior parte dei casi non assomiglierà al sistema operativo dell'utente. Ogni sistema operativo è diverso e ognuno consente una grande personalizzazione. È possibile utilizzare un framework multipiattaforma per rimuovere o ridurre questi problemi.

+0

"Perché non creare un'app desktop": abbiamo già un client desktop per il nostro server, ma il nostro reparto vendite ora pensa che le web-app siano la strada da percorrere :-( –

+0

Quindi devi spiegare loro i pro e i contro di ciascun approccio e in che modo ciascuno è adatto al tuo progetto. è * più appropriato, ti consiglio di tenerlo "aperto" e accessibile utilizzando l'HTML tramite plug-in, e farlo funzionare come un'app Web, non come un'app desktop. – DisgruntledGoat

0

si può tentare di utilizzare Intraweb http://en.wikipedia.org/wiki/Intraweb http://www.atozed.com/intraweb/index.en.aspx

nessuna conoscenza js necessario - scrivere in puro pascal Delphi.

O se si preferisce una soluzione del freeware poi Morfik http://morfik.com/ Ha versioni per FreePascal, C#, e VisualBasic

0

È possibile avere una prova con ZK (http://www.zkoss.org/zkdem) un potente framework RIA,

Con questo freddo framework, puoi costruire la tua app ajax completamente con Java e xml.

0

visiva WebGUI

http://www.gizmox.com

È possibile programmare proprio come se si stesse costruendo un'applicazione WinForms desktop in C#, VB.Net o la vostra scelta di Net linguaggio di programmazione. Progettisti di moduli WYSIWYG come WinForms. Non sono necessarie competenze HTML, Javascript o CSS, a meno che non si desideri personalizzare i controlli fuori dalla scatola. Tuttavia questo non è veramente necessario se si desidera semplicemente un'applicazione di tipo WinForms, poiché Visual WebGUI supporta già la maggior parte dei controlli di WinForms che è possibile trovare in Visual Studio. Implementano solo tutti i controlli di stile di WinForms per il rendering di tutta la parte client nel browser web. Ci sono alcune piccole differenze nel modo in cui gestisci le finestre di dialogo modali o le caselle di messaggio come faresti normalmente in WinForms, ma a parte questo è come codificare un'applicazione WinForms.

1

Una buona alternativa è Vaadin. È possibile codificare le applicazioni Web utilizzando Java (o qualsiasi lingua per la JVM) senza dover scrivere HTML o JavaScript (ma è disponibile quando necessario).