Vantagens e desvantagens do uso de aplicativos XAML / C # ou HTML5 / JavaScipt for Metro? [fechadas]


19

Eu queria saber se existem vantagens ou desvantagens importantes no uso de XAML / C # ou HTML5 / JavaScript para Metro Apps.

Respostas:


18

Como pano de fundo, criei o aplicativo Windows 8 da American Airlines em HTML5. Eu tenho que dizer que foi fantástico.

Primeiro, descarte todas as suas idéias de HTML5 no que se refere a aplicativos para dispositivos móveis. No Windows 8, o JavaScript é um idioma nativo de primeira classe. Você tem acesso a todos os recursos de hardware que um aplicativo XAML teria. Também existem modelos fantásticos incorporados ao Visual Studio 2012 para aplicativos WinJs.

O WinJs não é apenas um meio de implementação da webview. Finalmente, a Microsoft está mostrando à JS o respeito que merece.

Eu sugeriria me familiarizar com o melhor e o mais recente do IE10. Honestamente, essa é a estrutura principal de todas as coisas do WinJs. É poderoso e rápido! Aqui está um exemplo do que você pode fazer com isso: http://www.cuttherope.ie/ .

Além disso, aqui está um ótimo lugar para começar a usar o WinJs: http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx

O futuro parece brilhante para o JS como idioma nativo do Windows.


4
Em primeiro lugar, o JavaScript é uma linguagem de script e não uma língua nativa. (A menos que eu tenha perdido alguma coisa e agora ela esteja diretamente compilada no código da máquina). Em segundo lugar, não é um idioma de primeira classe no Win8, pois deve ser usado para desenvolver aplicativos Metro, não aplicativos (aplicativos para desktop, jogos DirectX 11 etc.).
21412 Den

3
'Cut the Rope' é um garoto-propaganda cuidadosamente escolhido. Observe que há uma quantidade relativamente pequena de coisas acontecendo ao mesmo tempo. Se tivesse centenas de sprites, como os modernos jogos de mesa tendem a se esforçar para mostrar FPS decente rodando em JS.
Den

2
Hey Den - seus comentários não parecem adicionar à discussão. Você está dizendo isso porque não está compilado no código da máquina que não seria bom usar para aplicativos de metrô? No seu segundo comentário sobre o Cut the Rope, você não escreveria um "jogo de desktop moderno" com muitos FPS em javascript ou XAML, então acho que isso é irrelevante para a discussão.
22412 Phillip Burch

1
Phillip, você disse: "você não escreveria um" jogo de mesa moderno "com muitos FPS em javascript ou XAML"; é possível fazer um jogo moderno para dispositivos Windows 8? E, nesse caso, os jogos modernos serão limitados aos dispositivos Intel, já que os dispositivos ARM suportam apenas o WinRT?
Ein Doofus

1
@PhillipBurch: meu argumento é que "nativo", "primeira classe", "poderoso e rápido" é uma escolha enganosa de palavras. E certamente consideraria o uso de C # + SharpDX / MonoGame (não é XAML, é claro) para o desenvolvimento de jogos de alto desempenho para o Metro (embora a ARM seja uma história diferente).
21412 Den

4

Ambos. Como ambos estão sendo adotados pelos desenvolvedores (embora não ao mesmo tempo, o que quero dizer é que enquanto alguns desenvolvedores estão usando XAML / C #, outros estão usando HTML / JS). Para aqueles que têm experiência em desenvolvimento de aplicativos da Web, é mais fácil fazer a transição para HTML / JS. E para aqueles que já estão familiarizados com o XAML através do WPF e Silverlight, faria sentido transferir as habilidades para o XAML + C #. E no que diz respeito aos resultados, ambas as tecnologias estão apresentando bons resultados. Então, meu palpite é que ambos seriam igualmente bons nos próximos anos.


3

Os aplicativos Metro criados usando as APIs HTML5 / JS provavelmente serão classificados como "mais simples", em comparação com os equivalentes em C # / XAML. Embora o primeiro certamente seja capaz de criar aplicativos funcionais e bem projetados, sem dúvida haverá um limite para os recursos de um aplicativo criado em HTML5. Por outro lado, embora o C # possa ser mais capaz, também é mais complicado. Um aplicativo HTML5 será muito fácil de projetar e manter, comparativamente.

Pelo menos, esse é meu melhor palpite estimado. Ainda não tenho experiência no desenvolvimento de aplicativos Win8.


3
Eu não acho que esse seja o caso. Ambos têm acesso exatamente às mesmas APIs no WinRT.
31712 Ian

2

Ambos serão executados no WinRT (também conhecido como versão reduzida do Windows 8, que é usada no dispositivo MS Surface ).

Depende totalmente da preferência dos desenvolvedores . Assim, os desenvolvedores com experiência em HTML5 / JS terão o mesmo desenvolvimento para o Windows 8.


O WinRT NÃO é "também conhecido como" Windows 8. É uma versão simplificada do sistema operacional Windows 8 completo que executa apenas os aplicativos / interface do usuário do metro e funciona em tablets baseados em ARM.
precisa saber é o seguinte

Sim, o Windows 8 não é um Win RT. No entanto, se esse foi o significado que você obteve ao ler minha resposta, tornei essa declaração mais explícita.
Yusubov 05/12

1

Não é um programador de MS - Do ponto de vista de programadores, vale a pena investir seu tempo e esforço em um padrão aberto e independente de plataforma, como JS + HTML 5. O conhecimento que você obtém pode ser reutilizado em outros lugares.

O Win 8 suporta JS nativamente , portanto, não haveria muito que você não possa realizar usando-o.


0

Sim, na maioria dos casos, o JavaScript é um idioma nativo. Dependendo de onde está sendo executado, ele é compilado (estilo JIT) no código da máquina.

Por exemplo, se você estiver executando o navegador Chrome, o mecanismo V8 fará exatamente o que é mencionado acima. Entendo que o IE 10 está fazendo o mesmo, como nos outros navegadores predominantes que suportam o padrão ECMAScript 262.

Entretanto, na maioria dos casos, o JavaScript não é mais uma linguagem interpretada. É uma linguagem de programação onipresente, completa, orientada a objetos e baseada em protótipos, do lado do servidor / cliente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.