Perché HTML, CSS e JavaScript non vengono utilizzati per le app desktop? [chiuso]


17

HTML, CSS e JavaScript possono essere usati per creare meravigliose (e utili) UI (specialmente ora abbiamo HTML5 e CSS3), e molte persone le conoscono già. Sebbene sia ancora molto al di là della mia portata, quanto può essere difficile portare l'intera cosa dell'app Web nelle app desktop? Testiamo già le app sui nostri server locali prima di ospitarle.

A mio avviso, è un'idea semplice e piacevole che creerà un boom delle app desktop. Inoltre, dato che queste app condivideranno già così tanto codice con le app Web, potrebbero essere in grado di offrire una migliore connettività.

Perché non viene fatto?


15
Non è stato appena annunciato come Windows 8?
ChrisF

sry, non molto un appassionato di Windows, quello che sto esattamente chiedendo è un framework open source per lo sviluppo di applicazioni desktop basate su db che possono connettersi alla rete, e sì, finalmente qualcosa di
rivoluzionario

Perché la carta non viene utilizzata per costruire automobili? (sì, è tempo di cattiva analogia :))
haylem

@ChrisF È mai uscito per Windows 8 o era solo un clamore?
developerwjk,

Risposte:


30

Adobe lo ha già fatto con Adobe Air , e anche Mozilla con Prism . Google ha anche cercato di colmare il divario tra desktop e web con Google Gears .

Ma in generale, le tecnologie web non sono adatte a molti tipi di applicazioni desktop, ecco alcuni motivi per cui:

  • Nessun accesso hardware completo immediatamente disponibile.
  • Nessun accesso al sistema di basso livello.
  • Nessun accesso al filesystem facilmente disponibile (le tecnologie che ho menzionato sopra ti consentono di ottenere l'accesso a fs ma ognuna di esse come propria soluzione diversa).
  • Prestazione. Un'applicazione compilata nativa è generalmente più veloce di un'applicazione Javascript.
  • Facile per un concorrente rubare il codice sorgente
  • Nessuna libreria disponibile per attività specializzate. Ex. elaborazione delle immagini, codifica audio, accesso al database, programmazione di rete ecc ...

Per essere onesti, non tutte le applicazioni richiedono hardware completo o accesso di basso livello. I linguaggi VM come Java sicuramente funzionano bene senza quel tipo di accesso
TheLQ

6
Bene, conosci molte app Java desktop?
Yoni Roit,

che dire di javascript su v8 di google, ho letto molto velocemente (veloce come java), riesco a vedere la differenza da solo quando eseguo un'animazione js pesante in Chrome e altri browser. E con la crescita di api's per html5, js porta davvero molto sul tavolo, con le cose su tela, puoi fare l'elaborazione delle immagini e tutto ... quindi non penso che js abbia davvero quel brutto set di strumenti, come un vantaggio, è più un linguaggio di programmazione funzionale, (le funzioni sono oggetti di prima classe)
kapv89

1
ho appena controllato il prisma (ora WebRunner) e gli ingranaggi di google, belle cose con cui armeggiare, grazie
kapv89,

3
@YoniRoit: Eclipse, Vuze, il sistema di ordini del mio farmacista ...
haylem

2

Il framework che viene in mente è Adobe Air. Consente agli sviluppatori Web di utilizzare Javascript / HTML per sviluppare applicazioni desktop. Javascript / HTML da solo non è adatto per applicazioni desktop poiché spesso un'applicazione desktop necessita dell'accesso ai servizi forniti dal sistema operativo, ad es. Apertura di file, avvio di altre applicazioni, ecc. Javascript da solo non consente l'accesso a tali servizi quindi hai bisogno di qualcosa in più e quadri come Adobe Air forniscono quella colla extra.



1

IMO, non adotto HTML e CSS come un modo per GUI di layout perché non esiste un compilatore che conosco per queste lingue. Se ho un errore nel codice, devo andare a cercarlo da solo o potrei anche non notarlo (o andare al sito HTML per testarlo).

In c ++ mi piace che non mi permetta di compilare a meno che il codice non sia corretto (tranne che per rilevare problemi di runtime).

Inoltre, non credo che CSS e HTML giochino ancora molto bene insieme, come usare float in CSS - a seconda del codice HTML e dell'uso - il risultato di float avrà esiti diversi - una mancanza di coerenza rispetto all'utilizzo del posizionamento assoluto in win32 o i grandi gestori di layout di Java Swing.


3
Validatori HTML e CSS che faranno sostanzialmente ciò che il compilatore C ++ sta facendo: controlli di sintassi e controlli di tipo. Credo che alcuni potenti IDE siano dotati di tali validatori.
Arnaud Le Blanc,

1
Per quanto riguarda il posizionamento, anche il CSS ha un posizionamento assoluto e HTML5 ha molto più dei gestori di layout di Swing. Alcuni editor ti permetteranno anche di progettare la tua GUI in modo WYSIWYG.
Arnaud Le Blanc,

0

Uno dei motivi principali è che se non desideri che la tua app venga rubata e copiata facilmente, dovresti anche creare un'applicazione che contenesse un WebControl collegato direttamente ai tuoi file impacchettati in qualche modo.
In effetti, ci sono applicazioni che lo fanno. Titanium Appcelerator è uno di questi. Non sto raccomandando di usarlo perché l'ultima volta che l'ho visto era pieno di bug ed era scarsamente supportato. Dovrai fare la tua ricerca per valerne la pena.


0

Un po 'tardi, ma se usi AsYouWish in Firefox (o crei componenti aggiuntivi per Firefox se non ti dispiace comprimere i tuoi file e testarli con i loro strumenti), puoi creare app in HTML con privilegi desktop. Se si utilizza WebAppFind (attualmente solo Windows), è anche possibile aprire i file del desktop dal desktop direttamente in un'app Web (senza necessità di trascinamento della selezione).

Dichiarazione di non responsabilità: questi componenti aggiuntivi (open source) sono stati creati da me.


1
Devi rivelare la tua affiliazione con il prodotto che stai pubblicizzando.
Rob W,

0

È possibile utilizzare Javascript, HTML e CSS per creare app per Windows Store, Windows Phone e - presumo - XBox tramite "Universal Apps". (Per essere chiari, a partire da Visual Studio usando File | Nuovo progetto ...)

Questo sta usando quanto sopra per costruire la tua UX e il codice dell'applicazione contro un'implementazione delle API native .

Naturalmente, invece di essere visto come un tentativo da parte di Microsoft di aprire la piattaforma a più sviluppatori, è stato visto come un deprezzamento degli sviluppatori basati su C # e XAML - cosa che ovviamente non erano ma non è una storia altrettanto buona ... a prescindere mentre questi non sono necessariamente i tipi di app desktop che la domanda considera nativi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.