Platformlar arası GUI araç kitleri için bir eğilim var mı? [kapalı]


12

Şu anda platformlar arası GUI çerçevelerinin kullanımındaki eğilim nasıl ? Platformlar arası çerçeveleri (GTK +, Qt ve wxWidgets gibi) kullanmaya başlayan daha fazla kişi mi yoksa daha fazla platforma bağlı çerçeve (örneğin Kakao veya WPF) kullanan daha fazla kişi mi var? Az çok durgun mu? Bir rollercoaster gibi mi? 5 yıl sonra trendin nasıl olacağını düşünüyorsunuz?

İşletim sistemi ortamı Windows kullanan daha az kişiyle değişiyor (kişisel gözlem). Bu, platformlar arası araç kitlerine olan talebi arttırmalıdır, değil mi?

Düzenleme: Ayrıca, hangi (çapraz platform) araç kitleri en büyüyor, eğer öyleyse?

Yanıtlar:


11

Neredeyse platformlar arası kitlere karşı bir eğilim var gibi görünüyor. İnsanlar bir kez yazmak istiyorsa, herhangi bir yerde çalıştırın, HTML kullanma eğilimindedirler - bir web sitesi yapın. İnsanlar, örneğin iPhone'da, platform araç kitlerini yalnızca yerel bir görünüm ve his çok talep edildiğinde kullanıyor. Web dışı uygulama ile rahatsız olmanızın nedeni yerel görünüm ve his elde etmekse, platformlar arası bir kit kullanmak mantıklı değildir.

Çapraz platform araç takımları hiç bu kadar iyi çalışmadı; masaüstü platformları çok benzer değil ve onları gerçekten soyutlamak zor. Karışıma telefon ve tablet eklemek daha da zorlaşıyor. Sonunda çok sızdıran bir soyutlama ile sonuçlanırsınız (bkz. Http://www.joelonsoftware.com/articles/LeakyAbstractions.html ). Genellikle "motorunuzu" kullanıcı arayüzünüzden güzel bir şekilde ayırmak ve kullanıcı arayüzünü platform başına ayrı ayrı yazmak daha kolaydır.

Mac'in daha popüler olma eğilimi, platformlar arası kitleri daha çok değil, daha az popüler hale getirebilir. Çoğu zaman insanlar, platformlar arası onay kutusunu teorik olarak kontrol etmek için tüm platformlarda gerçekten iyi sonuçlar elde etmekten daha çok çapraz platform kiti kullandılar. Aslında birden fazla platformu önemsediğinizde ... çapraz platform kitlerinin nasıl bir dezavantajı olduğunu görmeye başlarsınız.

İşte bu olumsuz taraflarda Alex Payne'in bir blog yazısı: http://al3x.net/2011/01/15/user-hostile-platforms.html

Büyük, popüler çapraz platform uygulamalarının çoğunun kendi platformlar arası yaklaşımlarını icat ettiğini söylüyor (Firefox, Chrome, Eclipse, OpenOffice.org akla gelen örneklerdir). Çerçeveye sahip olduklarında, gerektiğinde soyutlamayı delebilirler. Ayrıca bu uygulamaların tümü tüm platformlarda aynı görünme eğilimindedir (ve özellikle doğal değildir).

Bütün bunlar, gerçek istatistiklerim ya da hiçbir şeyim olmadığını söyledi. Ancak GTK + üzerinde çok çalıştım ve Firefox, Chrome ve Eclipse gibi kod tabanlarına aşina oldum. Burada teknik zorlukları ilk elden gördüm.


2
Bunu "Platformlar arası araç kitleri için eğilim başarısızlığa doğru" şeklinde ifade ederdim.
ohmantics

14

Nitekim son yıllarda platformlar arası bir kullanıcı arayüzü araç takımına doğru bir eğilim olmuştur. Bu araç seti HTML / CSS / JavaScript'tir.

Sadece bir kez geliştirmek çok basit ve neredeyse her yerde aynı şekilde çalıştığını gördüm.

Ve evet, gelişmeler büyük ölçüde masaüstünden web'e taşınıyor. Sen kendin gör.


+1 Büyüyen bir kullanıcı arayüzü eğilimi olarak web için, ancak bunun OP'nin sorusunu ele aldığını sanmıyorum.

Kesinlikle katılıyorum. IPTV uygulamamızı Settop kutusunda tamamen HTML5 / CSS3 / JavaScript kullanarak geliştiriyoruz. Gelecek, henüz başka bir büyük, tam
gelişmiş

1
İyi bir söz, ama aslında platformlar arası masaüstü araç takımlarıyla ilgileniyorum . Hala oy kullanıldı.
Anto

@Anto - bunu sorunuza eklemek isteyebilirsiniz. Okumadan "masaüstünden" hiç almadım. Tabii ki, ben bir web programcısıyım ve bahsettiğiniz çerçevelerin çoğunu tanımadım :)
Marcie

@Anto, sorunuzda masaüstünden bahsetmek isteyebilirsiniz.
JBRWilkinson

7

Platformlar arası araç setlerini kullanma eğilimindeyim çünkü platformlar olmaya çalıştığım için değil, daha iyi tasarıma sahipler. Örneğin, yalnızca Windows platformunu hedefleyen C ++ ile yazılmış projeler üzerinde çalışıyorum. Win32 veya MFC kullanıyorum, neredeyse yerel araç seti için SADECE seçenekler var mı?

Kutsal fsck hayır! Onlar şimdiye kadar gördüğüm en kötü spagetti çöp yığınları! Olay sisteminin, temel işletim sisteminin "mesajlar" sistemine doğrudan bağlanması inanılmaz derecede sezgisel değildir ve hızlı bir şekilde kullanıcı arayüzü programları oluşturmak için gereken ifadeden yoksundur. Şu anda yalnızca çapraz platform araç kitleri tarafından sağlanan daha yüksek düzeydeki soyutlamalar görev için kesinlikle gereklidir.

Bu da sadece bir örnek. Platformlar arası araç kitleri tarafından daha iyi yapılan şeyler üzerinde ve listesinde sallandırabilirim. Gerçek şu ki, grafik arayüzler birbirinden farklı olmaktan çok benzerdir. Windows'taki bir pencere programı ile Linux'taki bir pencere programı arasında çok az fark vardır. UI programları yaparken yaptığınız şeyler, hangi işletim sistemini hedeflediğinize bakılmaksızın neredeyse her zaman aynıdır ... ve telefon / avuç içi ve masaüstü gibi mimariler arasındaki küçük farklılıklar. Alan sadece platformlar arası metodolojilere odaklanmıştır çünkü a) birçok insan için gereklidir ve b) hepsi aynıdır!


0

Bir platformlar arası çerçeve üretmeye karşı bir argüman, her zaman en düşük ortak paydaya hedefleneceğidir - çerçevenin müşterileri sadece bir kez kod yazmak ister ve desteklenen 'her yerde' çalışır. Yani harika bir donanım platformu, platforma özgü özelliklerden yararlanamayacağınız için bu çerçeveyi çalıştıran diğer platformlara benzeyecektir.

Zamanla, bu maalesef en popüler platformlarına doğru uzanan çerçevelere ve diğer platformlar için desteği bir araya getirmeye ya da sadece bütçe / popülerlik bittiğinde onları durdurmaya neden olur.

Platforma özgü yeteneklerden faydalanmanın bir yolu #if PLATFORM_FEATURE_X, kod blokajı ile sonuçlanan tüm spesifik kod veya eşdeğer çalışma zamanı kontrolleri etrafında bir yapı gibi bir şeye sahip olmaktır . Aynı platformun varyantlarının özel işlem görmesi gerekeceğinden, bu oldukça hızlı bir şekilde yorucu hale gelir. Örneğin, bazı XBox v1'lerde sabit sürücü yoktu, bu nedenle çapraz platform araçlarını kullanan oyunlar, sabit sürücüyü garanti edebileceğiniz bir PC sürümüne kıyasla önbellekleme için kullanamadı.

Masaüstü / Üretkenlik uygulamaları için, platform görünüm ve hissi önemli gibi gözükmektedir, ancak birçok uygulamanın kendi tarzı vardır, bu nedenle 'AIR ile oluşturulan uygulamalar gibi tüm platformlarda aynı görünmek sorun değildir.

Apple, Sony, Nintendo ve Toshiba gibi donanım satıcıları, ürünlerinin kendilerini rakiplerinden ayıracak bir şey yapmasını sağlamak isteyeceklerdir, örneğin Touch, Accelerometers / Gryoscopes, Blu-Ray, 3D display. Tüm rakiplerin tüm özelliklerinin bir araya getirildiği (maliyet ve karmaşıklık nedeniyle) bir platform olması pek olası değildir, bu yüzden biri kazanacaktır.

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.