Masaüstü uygulamaları için neden HTML, CSS ve JavaScript kullanılmıyor? [kapalı]


17

HTML, CSS ve JavaScript güzel (ve kullanışlı) kullanıcı arayüzleri oluşturmak için kullanılabilir (özellikle artık HTML5 ve CSS3'ümüz var) ve birçok kişi bunları zaten biliyor. Hala benim ulaşamayacağımın çok ötesinde olsa da, web uygulamasının tamamını masaüstü uygulamalarına getirmek ne kadar zor olabilir? Yerel sunucularımızdaki uygulamaları barındırmadan önce zaten test ediyoruz.

Bence, masaüstü uygulamalarında bir patlama yaratacak güzel ve basit bir fikir. Ayrıca, bu uygulamaların zaten web uygulamalarıyla çok fazla kod paylaşacağı göz önüne alındığında, daha iyi bağlantı sunabilirler.

Neden yapılmıyor?


15
Bu sadece Windows 8 olarak açıklanmadı mı?
ChrisF

sry, pek bir pencere meraklısı değil, tam olarak sorduğum net bağlanabilir db tabanlı masaüstü uygulamaları geliştirmek için açık kaynaklı bir çerçeve ve evet, nihayet ms'den yol kırıcı bir şey
kapv89

Kağıt neden otomobil yapmak için kullanılmıyor? (evet, kötü analoji zamanı :))
haylem

@ChrisF Bu hiç Windows 8 için pan mı yoksa sadece hype mı?
developerwjk

Yanıtlar:


30

Adobe zaten Adobe Air ve Mozilla'yı Prism ile de yaptı . Google ayrıca Google Gears ile masaüstü ve web arasındaki boşluğu kapatmaya çalıştı .

Ancak genel olarak, web teknolojileri birçok masaüstü uygulaması türü için uygun değildir, burada bazı nedenler:

  • Hemen kullanılabilir tam donanım erişimi yok.
  • Düşük seviyeli sistem erişimi yok.
  • Kolayca kullanılabilir dosya sistemi erişimi yok (yukarıda bahsettiğim teknolojiler fs erişimine izin veriyor, ancak her biri kendi farklı çözümü olarak).
  • Verim. Yerel, derlenmiş bir uygulama genellikle bir Javascript uygulamasından daha hızlıdır.
  • Bir yarışmacının kaynak kodunu çalması kolay
  • Özel görevler için kullanılabilir kitaplık yok. Ör. görüntü işleme, ses kodlama, veritabanı erişimi, ağ programlama vb ...

Adil olmak gerekirse, tüm uygulamaların tam donanıma veya düşük seviyeli erişime ihtiyacı yoktur. Java gibi VM dilleri bu tür bir erişim olmadan kesinlikle iyi çalışır
TheLQ

6
Pek çok masaüstü Java uygulaması biliyor musunuz?
Yoni Roit

google'ın v8 javascript hakkında ne, ben gerçekten hızlı okudum (java kadar hızlı), ben krom ve diğer tarayıcılarda ağır bir js animasyon çalıştırdığımda kendimi fark görebilirsiniz. Ve html5 için büyüyen api ile js gerçekten masaya çok şey getiriyor, kanvas malzeme ile görüntü işleme ve her şeyi yapabilirsiniz ... bu yüzden js'nin bu kötü araç setine sahip olduğunu düşünmüyorum, artı olarak, daha işlevsel bir programlama dilidir (işlevler birinci sınıf nesnelerdir)
kapv89

1
sadece prizma (şimdi WebRunner) ve google dişlileri, ile
tamir

3
@YoniRoit: Eclipse, Vuze,
eczacımın

2

Akla gelen çerçeve Adobe Air'dir. Web geliştiricilerinin masaüstü uygulamaları geliştirmek için Javascript / HTML kullanmalarını sağlar. Javascript / HTML tek başına masaüstü uygulamaları için uygun değildir, çünkü çoğu zaman bir masaüstü uygulamasının işletim sistemi tarafından sağlanan hizmetlere, örneğin dosya açma, diğer uygulamaları başlatma, vb. Erişime ihtiyacı olacaktır. bu yüzden ekstra bir şeye ihtiyacınız var ve Adobe Air gibi çerçeveler bu ekstra yapıştırıcıyı sağlıyor.


1

Bunu şimdi yapmanın birkaç yolu var. Orada Mozilla Uygulama Çerçevesi genellikle Firefox gibi web tarayıcıları tarafından kullanılır, aynı zamanda, ActiveState'nın örneğin tarafından kullanılan Komodo IDE .

Ayrıca Qt Quick'da CSS ve Javascript benzeri bir dile sahip olan Qt var.


güzel, Mozilla uygulama çerçevesine bakacağım
kapv89

1

IMO, HTML ve CSS'yi GUI'leri düzenlemenin bir yolu olarak benimsemiyorum çünkü bu diller için bildiğim bir derleyici yok. Kodda bir hata varsa, kendim aramaya gitmek zorunda ya da ben fark bile olmayabilir (veya test etmek için HTML sitesine gidin).

C ++ kodu doğru (sürece çalışma zamanı sorunları yakalamak dışında) sürece derlemek izin vermeyecektir.

Ayrıca, CSS ve HTML'nin birlikte çok iyi oynadığına inanmıyorum, CSS'de şamandıra kullanmak gibi - HTML kodunuza ve kullanımınıza bağlı olarak - şamandıra sonucu farklı sonuçlara sahip olacak - win32'de mutlak konumlandırma kullanmaya kıyasla tutarlılık eksikliği veya harika Java Swing mizanpaj yöneticileri.


3
Temel olarak C ++ derleyicinizin yaptıklarını yapacak HTML ve CSS doğrulayıcıları: sözdizimi denetimleri ve tür denetimleri. Bazı güçlü IDE'lerin bu tür doğrulayıcılarla geldiğine inanıyorum.
Arnaud Le Blanc

1
Konumlandırma bölümü için, CSS'nin de mutlak konumlandırması vardır ve HTML5, Swing'in düzen yöneticilerinden çok daha fazlasına sahiptir. Bazı editörler ayrıca GUI'nizi WYSIWYG tarzında tasarlamanıza izin verecektir.
Arnaud Le Blanc

0

Bunun önemli bir nedeni, uygulamanızın kolayca çalınmasını ve kopyalanmasını istemiyorsanız, bir şekilde paketlenmiş dosyalarınıza doğrudan bağlanan bir WebControl içeren bir uygulama oluşturmanız gerektiğidir.
Aslında, bunu yapan uygulamalar var. Titanyum Appcelerator biridir. Son baktığımda hatalarla doluydu ve zayıf bir şekilde desteklendiğinden kullanmanı tavsiye etmiyorum. Buna değer olup olmadığı konusunda kendi araştırmanızı yapmanız gerekecek.


0

Biraz geç, ancak Firefox'ta AsYouWish kullanıyorsanız (veya dosyalarınızı sıkıştırmayı ve araçlarını test etmeyi düşünmüyorsanız Firefox eklentileri oluşturursanız), HTML'de masaüstü ayrıcalıklarına sahip uygulamalar oluşturabilirsiniz. Eğer kullanırsanız WebAppFind (şu anda yalnızca Windows), ayrıca masaüstü dosyaları doğrudan (sürükle ve bırak için bir ihtiyaç olmadan) bir web uygulaması içine masaüstünden açmak için elde edebilirsiniz.

Yasal Uyarı: Bu (açık kaynak) eklentiler benim tarafımdan oluşturuldu.


1
Reklamını yaptığınız ürünle olan ilişkinizi açıklamanız gerekir.
Rob W

0

Windows Mağazası, Windows Phone ve - sanırım - XBox için "Evrensel Uygulamalar" üzerinden uygulamalar oluşturmak üzere Javascript, HTML ve CSS kullanabilirsiniz. (Açıkça söylemek gerekirse, Visual Studio'da Dosya | Yeni Proje'yi kullanarak başlıyor ...)

Bu, yerel API'lerin uygulanmasına karşı UX'inizi ve uygulama kodunuzu oluşturmak için yukarıdakileri kullanır .

Doğal olarak, bunun Microsoft tarafından platformu daha fazla geliştiriciye açma girişimi olarak görülmesi yerine, C # ve XAML tabanlı geliştirmeyi reddetmek olarak görülüyordu - elbette öyle değildi ama bu neredeyse iyi bir hikaye değil ... bunlar sorunun yerel olarak kabul ettiği türden masaüstü uygulamaları değildir.

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.