Metro uygulamaları için XAML / C # veya HTML5 / JavaScipt kullanmanın avantajları ve dezavantajları? [kapalı]


19

Metro Uygulamaları için XAML / C # veya HTML5 / JavaScript kullanmanın herhangi bir önemli avantajı veya dezavantajı olup olmadığını merak ediyordum.

Yanıtlar:


18

Küçük bir arka plan olarak, American Airlines Windows 8 uygulamasını HTML5'te oluşturdum. Harika olduğunu söylemeliyim.

İlk olarak, HTML5 ile ilgili tüm fikirlerinizi mobil uygulamalarla ilgili olarak bırakın. Windows 8'de JavaScript birinci sınıf bir yerel dildir. Bir XAML uygulamasının yapabileceği tüm donanım özelliklerine erişebilirsiniz. WinJs uygulamaları için Visual Studio 2012'de yerleşik harika şablonlar da vardır.

WinJs olduğu değil sadece bazı yarım düşünce webview uygulanması. Microsoft nihayet JS'ye hak ettiği saygıyı gösteriyor.

IE10 en son ve en büyük ile hız almak öneririz. Dürüst olmak gerekirse, tüm WinJ'ler için temel çerçeve budur. Güçlü ve hızlı! İşte onunla neler yapabileceğinize bir örnek: http://www.cuttherope.ie/ .

Ayrıca, WinJ'lerle başlamak için harika bir yer: http://msdn.microsoft.com/en-us/library/windows/apps/br211385.aspx

Gelecek, JS için Windows için yerel bir dil olarak parlak görünüyor.


4
Öncelikle JavaScript yerel bir dil değil, bir betik dilidir. (Bir şeyi kaçırmadım ve şimdi doğrudan makine kodunda derlenmedikçe). İkincisi, Win8'de birinci sınıf bir dil değildir, çünkü herhangi bir uygulama (masaüstü uygulamaları, DirectX 11 oyunları vb.) Değil Metro uygulamaları geliştirmek için kullanılır.
Den

3
'Cut the Rope' ipi özenle seçilmiş bir poster çocuğudur. Aynı zamanda nispeten az miktarda şey olduğuna dikkat edin. Modern masaüstü oyunları gibi yüzlerce sprite olsaydı, JS'de çalışan iyi FPS'yi göstermek için mücadele ederdi.
Den

2
Hey Den - yorumlarınız tartışmaya eklenmiyor gibi görünüyor. Bunu, makine kodunda derlenmediği için metro uygulamaları için kullanmanın iyi olmayacağını mı söylüyorsunuz? Cut the Rope ile ilgili ikinci yorumunuza, javascript veya XAML'de çok sayıda FPS içeren bir "modern masaüstü oyunu" yazmazsınız, bu yüzden bu tartışmayla ilgisiz olduğunu düşünüyorum.
Phillip Burch

1
Phillip, "javascript veya XAML'de çok sayıda FPS ile" modern bir masaüstü oyunu "yazmazdınız" dediniz, o zaman Windows 8 cihazları için modern bir oyun yapmak mümkün mü? Eğer öyleyse, ARM cihazları sadece WinRT'yi desteklediğinden modern oyunlar Intel cihazlarıyla sınırlı olacak mı?
Ein Doofus

1
@PhillipBurch: Demek istediğim, "yerli", "birinci sınıf", "güçlü ve hızlı" kelimelerinin yanıltıcı bir seçim olduğu. Ve kesinlikle Metro için yüksek performanslı oyunlar geliştirmek için C # + SharpDX / MonoGame (elbette XAML değil) kullanmayı düşünürüm (ARM farklı bir hikaye).
Den

4

Her ikisi de. Her ikisi de geliştiriciler tarafından kabul edildiğinden (aynı anda olmasa da, bazı geliştiriciler XAML / C # kullanırken, bazıları HTML / JS kullanıyor). Bir Web uygulaması geliştirici arka planından gelenler için HTML / JS'ye geçmek daha kolaydır. Ve WAMF ve Silverlight aracılığıyla XAML'ye aşina olanlar için, becerileri XAML + C # 'a taşımak mantıklı olacaktır. Sonuçlar söz konusu olduğunda, her iki teknoloji de iyi sonuçlar vermektedir. Yani tahminimce önümüzdeki yıllarda her ikisi de eşit derecede iyi olacak.


3

HTML5 / JS API'leri kullanılarak oluşturulan Metro Uygulamaları, C # / XAML muadillerine kıyasla muhtemelen "daha basit" olarak sınıflandırılacaktır. Birincisi kesinlikle işlevsel, iyi tasarlanmış uygulamalar oluşturabilecek olsa da, şüphesiz HTML5'te yerleşik bir uygulamanın yeteneklerinde bir sınır olacaktır. Flip tarafında, C # daha yetenekli olsa da, daha karmaşıktır. Bir HTML5 uygulamasının tasarımı ve bakımı nispeten kolay olacaktır.

En azından tahmin ettiğim en iyi tahmin bu. Henüz Win8 uygulamaları geliştirme konusunda deneyimim yok.


3
Ben öyle düşünmüyorum. Her ikisi de WinRT'de tamamen aynı API'lara erişebilir.
Ian

2

Her ikisi de WinRT'de ( MS Surface cihazında kullanılan Windows 8'in kesilmiş sürümü) çalışacak .

Tamamen geliştiricilerin tercihine bağlı olacaktır . Böylece, HTML5 / JS deneyimine sahip geliştiriciler, Windows 8 için geliştirmek için eşit derecede güçlendirilecektir.


WinRT Windows 8 "Olarak Bilinen" DEĞİLDİR. Yalnızca metro kullanıcı arabirimini / uygulamalarını çalıştıran ve ARM tabanlı tabletlerde çalışan tam teşekküllü Windows 8 işletim sisteminin soyulmuş bir sürümüdür.
treecoder

Evet, Windows 8 bir Win RT değildir. Ancak, cevabımı okurken elde ettiğiniz anlam buysa, bu ifadeyi daha açık hale getirdim.
Yusubov

1

Bir MS programcısı değil - Programcıların bakış açısından, zamanınızı ve çabanızı JS + HTML 5 gibi agnostik, açık bir standarda yatırmaya değer.

Win 8 yerel olarak JS'yi desteklediğinden , bunu kullanarak başaramayacağınız çok fazla şey olmaz.


0

Evet, çoğu durumda JavaScript yerel bir dildir. Nerede çalıştığına bağlı olarak, makine kodunda derlendi (JIT Style).

Örneğin, Chrome tarayıcısını çalıştırıyorsanız, V8 motoru tam olarak yukarıda belirtileni yapar. Anladığım kadarıyla IE 10, ECMAScript 262 standardını destekleyen diğer yaygın tarayıcılarla aynı şeyi yapıyor.

Entou, çoğu durumda JavaScript artık yorumlanmış bir dil değildir. Tam teşekküllü, Nesneye Yönelik, Prototip tabanlı, istemci / sunucu tarafı, her yerde bulunan programlama dilidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.