Vantaggi e svantaggi dell'utilizzo delle app XAML / C # o HTML5 / JavaScipt per Metro? [chiuso]


19

Mi stavo solo chiedendo se ci fossero grandi vantaggi o svantaggi nell'utilizzo di XAML / C # o HTML5 / JavaScript per le app Metro.

Risposte:


18

Come sfondo ho creato l'app per Windows 8 di American Airlines in HTML5. Devo dire che è stato fantastico.

Innanzitutto, elimina tutte le tue idee su HTML5 in relazione alle app mobili. In Windows 8, JavaScript è una lingua madre di prima classe. Hai accesso a tutte le funzionalità hardware di un'app XAML. Esistono anche fantastici modelli integrati in Visual Studio 2012 per le applicazioni WinJs.

WinJs non è solo un'implementazione webview pensata per metà. Microsoft sta finalmente mostrando a JS il rispetto che merita.

Suggerirei di aggiornarmi con le ultime novità di IE10. Onestamente, questo è il framework principale per tutte le cose di WinJs. È potente e veloce! Ecco un esempio di cosa puoi farci: http://www.cuttherope.ie/ .

Inoltre, ecco un ottimo posto per iniziare con WinJs: http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx

Il futuro sembra brillante per JS come lingua madre per Windows.


4
Innanzitutto JavaScript è un linguaggio di script non una lingua madre. (A meno che non mi sia perso qualcosa e ora sia compilato direttamente nel codice macchina). In secondo luogo, non è un linguaggio di prima classe in Win8, poiché è pensato per lo sviluppo di app Metro, non di app (app desktop, giochi DirectX 11 ecc.).
Den,

3
'Cut the Rope' è un bambino poster accuratamente selezionato. Si noti che ha una quantità relativamente piccola di cose che accadono contemporaneamente. Se avesse centinaia di sprite come tendono i moderni giochi desktop, farebbe fatica a mostrare FPS decenti su JS.
Den,

2
Ehi Den - i tuoi commenti non sembrano aggiungere alla discussione. Lo stai dicendo perché non è compilato nel codice macchina che non sarebbe utile usare per le app della metropolitana? Al tuo secondo commento su Cut the Rope, non scriveresti un "gioco desktop moderno" con molti FPS in javascript o XAML, quindi penso che sia irrilevante per la discussione.
Phillip Burch,

1
Phillip, hai detto "non scriveresti un" gioco desktop moderno "con molti FPS in javascript o XAML", è possibile creare un gioco moderno per dispositivi Windows 8? E se è così, i giochi moderni saranno limitati ai dispositivi Intel poiché i dispositivi ARM supportano solo WinRT?
Ein Doofus,

1
@PhillipBurch: il mio punto è che "nativo", "di prima classe", "potente e veloce" è una scelta fuorviante di parole. E certamente prenderei in considerazione l'uso di C # + SharpDX / MonoGame (ovviamente non XAML) per lo sviluppo di giochi ad alte prestazioni per Metro (ARM è una storia diversa però).
Den,

4

Tutti e due. Poiché entrambi sono stati adottati dagli sviluppatori (anche se non allo stesso tempo, ciò che intendo è che alcuni sviluppatori usano XAML / C #, altri usano HTML / JS). Per coloro che provengono da uno sfondo di sviluppo di app Web, è più semplice passare a HTML / JS. E per coloro che hanno già familiarità con XAML tramite WPF e Silverlight, avrebbe senso trasferire le competenze su XAML + C #. E per quanto riguarda i risultati, entrambe le tecnologie stanno mostrando buoni risultati. Quindi la mia ipotesi è che entrambi sarebbero ugualmente buoni negli anni a venire.


3

Le app Metro create utilizzando le API HTML5 / JS saranno probabilmente classificate come "più semplici", rispetto alle loro controparti C # / XAML. Mentre il primo sarà sicuramente in grado di creare app funzionali e ben progettate, ci sarà senza dubbio un limite alle capacità di un'app integrata in HTML5. Il rovescio della medaglia, mentre C # potrebbe essere più capace, è anche più complicato. Un'app HTML5 sarà molto facile da progettare e gestire, relativamente.

Almeno, questa è la mia ipotesi migliore stimata. Non ho ancora esperienza nello sviluppo di app Win8.


3
Non penso che sia così. Entrambi hanno accesso esattamente alle stesse API in WinRT.
Ian,

2

Entrambi verranno eseguiti su WinRT (ovvero versione ridotta di Windows 8 che viene utilizzata sul dispositivo MS Surface ).

Dipenderà totalmente dalle preferenze degli sviluppatori . Pertanto, gli sviluppatori con esperienza HTML5 / JS saranno ugualmente potenziati per sviluppare Windows 8.


WinRT NON è "noto anche come" Windows 8. È una versione ridotta del sistema operativo Windows 8 completo che esegue solo l'interfaccia utente / app della metropolitana e funziona su tablet basati su ARM.
treecoder,

Sì, Windows 8 non è un Win RT. Tuttavia, se questo era il significato che si ottiene leggendo la mia risposta, ho reso più esplicita tale affermazione.
Yusubov,

1

Non un programmatore MS - Dal punto di vista dei programmatori, varrebbe la pena investire il tuo tempo e le tue energie in una piattaforma agnostica, standard aperto come JS + HTML 5. Le conoscenze acquisite possono essere riutilizzate altrove.

Win 8 supporta JS in modo nativo , quindi non ci sarebbe molto che non puoi realizzare usando.


0

Sì, nella maggior parte dei casi JavaScript è una lingua madre. A seconda di dove è in esecuzione, viene compilato (stile JIT) in codice macchina.

Ad esempio, se stai utilizzando il browser Chrome, il motore V8 fa esattamente ciò che è menzionato sopra. Comprendo che IE 10 stia facendo lo stesso, come con gli altri browser prevalenti che supportano lo standard ECMAScript 262.

Entou, nella maggior parte dei casi JavaScript non è più un linguaggio interpretato. È un linguaggio di programmazione completo, orientato agli oggetti, basato su prototipi, lato client / server, onnipresente.

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.