.NET'e bağımlılığımı nasıl sonlandırabilirim? [kapalı]


10

Uzun yıllardan beri Windows GUI uygulamaları geliştiriyorum ve 2005'in başlarında .NET'e atladım. .NET şüphesiz olağanüstü bir platform ve hala kullanıyorum, ancak orada çeşitli teknolojilerle kalmak istemiyorum bu kampa adanmış. GUI uygulamaları geliştirebileceğim yeni diller öğrenmek istiyorum.

Ruby öğreniyorum ve Python'u yeni kurdum. Windows GUI uygulaması geliştirmek için bir çerçeve olan WxRuby hakkında okudum. Ruby içinde. Python için benzer bir çerçeve arıyorum.

Bunun dışında üretim seviyesinde bir GUI uygulaması için hangi dilin daha uygun olduğunu bilmek istiyorum. Ruby'nin cazibe Ruby on Rails ile Web platformuna daha fazla odaklandığından şüpheliyim.

Bu zengin .NET sınıflarını ve etkileyici Visual Studio IDE'sini alamayacağımı biliyorum, ama yine de daha az seyahat edilen yolu takip etmek istiyorum. IronPython ve IronRuby ile gitmek istemiyorum, ancak bir süre sonra onları keşfetmek için elimi daldırabilirim.


5
Microsoft'un IronPython ve IronRuby'yi rastgele atmaya karar vermesinden utanç verici. Bunu yaparken endüstriye / topluma ne tür rahatsız edici mesajlar gönderdiklerini gerçekten anladıklarını sanmıyorum.
Rei Miyasaka

2
@Mahmoud Para harcamayı bıraktılar; sadece topluluğun onu çalıştırmasına izin veriyorlar. Baş geliştirici Jim Hugunin artık Microsoft'tan üzerinde çalışamadı, bu yüzden doğal olarak şirketi de terk etti: hugunin.net/microsoft_farewell.html
Rei Miyasaka


9
@Thomas Hala terk edilmiş. Kız arkadaşımı terk ettiğim için artık var olmadığı ya da artık yaşayamayacağı anlamına gelmiyor ... ikincisi ne anlama gelirse gelsin.
Rei Miyasaka

2
@Rei, endişelendiğiniz kadarıyla artık yok :) Ditched, MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython ve IronRuby ile takılabilir ve anlatabileceğiniz tekli bar için tek yönlü bir bilet. eski günlerde ne kadar aşk var hikayeleri.
gbjbaanb

Yanıtlar:


14

Kontrol Qt.

muhtemelen .NET kadar zengindir ve IDE (QtCreator) basit ama oldukça güçlüdür. Tabii ki, doğal C ++ üzerinde daha iyi kullanılır, ancak Python bağlaması tam ve güncel tutulur.

Üstelik, gerçekten çapraz platform ve şimdi de mobil platformları içeriyor :-)


1
Onunla inşa etmeden önce ayrı bir derleyiciye ihtiyaç duyması nedeniyle Qt'yi yerel bir C ++ sistemi olarak adlandırmak zordur. Yine de kötü bir sistem değil.
Billy ONeal

1
"doğal" olarak "doğrudan makine diline derlenir, bayt kodu / VM / JIT yok", ayrıca: "platform öykünme katmanı yok, sonuçta kod işletim sistemine özgüdür". ön mocderleyici bazı belirli köşelerde (çoğunlukla sinyal işleme) daha basit görünen kod yapmak için bazı sözdizimi şekerinden başka bir şey değildir; derleme zincirine kabaca C ön işlemcisiyle aynı yere sığar. Çoğunlukla, belirli C ++ özellikleri derleyiciler arasında dengelenmeden önce API sabitlemesinin tarihsel bir eseridir
Javier

Adil olmak gerekirse, moc, bu günlerde bile C ++ eksik olduğu bir dinamizm katıyor.
Tamás Szelei

6

WxRuby, harika bir çapraz platform GUI araç takımı olan wxWidgets için sadece bir Ruby bağlayıcısıdır . Python için wxPython adı verilen benzer bir bağlamanın yanı sıra diğer birçok dilde de bağlamalar var.


Widget'lar var ama çekirdek dil ile ne kadar sorunsuz entegre oluyorlar? Topluluk desteği ne kadar aktif?
RPK

1
@RPK - Python veya Ruby ile herhangi bir GUI araç setini kullanan oldukça küçük bir topluluğunuz olacak. wxPython topluluğu Ruby'den daha büyük olsa da; Ruby'nin topluluğuna şimdi Rails hakimdir, ancak Python'un daha fazla çeşitliliği vardır.
Jeremy

@Jeremy Ruby'nin topluluğuna Rails hakim değil, ancak bunun bir utanç olduğu algısını veriyor.
alternatif

5

Sorunuzun Ruby veya Python'un daha iyi olup olmadığını belirlemekle sınırlı olup olmadığından veya genel olarak Windows GUI uygulamaları geliştirmeyi öğrenmek istediğiniz diğer soruları sorup sormadığınızdan emin değilim. Ben ikincisini varsayıyorum.

Java, Delphi veya yerel Win32 programlama da vardır. Bunlardan herhangi biri Windows'ta GUI uygulamaları geliştirmek için uygundur. Yerel Win32 kodu yine de Visual Studio aracılığıyla yazılabilir, ancak .NET bağımlılığı yoktur.


4
Delphi için +1. .NET'in bagajı olmadan hızlı, yerel 32 bit Windows uygulamaları oluşturun. 64-bit sürümü muhtemelen 2011'de geliyor.
tcrosley

1
Java GUI'leri yavaş mı? Bu nerede kanıtlandı?
Tim Williscroft

9
@Tim Williscroft - SWT hızlı ancak çoğu Swing uygulaması biraz çok halsiz. Bunu kanıtlamak için bile hayal bile edemiyorum.
Jeremy

1
@Jeremy Üstün bilginize boyun eğiyorum. Çok utandım, yıllardır yanlış yapıyorum ama şimdi biliyorum.
Tim Williscroft

2
Yerel win32 gayet iyi. Hızlı gelişim için harika değil, ama çok zor değil.
Paul Nathan

5

HTML5 ve JavaScript.

Keşke şaka yapsaydım, ama değilim .

Yarım yıl önce hiç kimsenin bu cevaba sahip olmadığını düşünmek korkutucu.

Üzgün...


Bir yıl kadar önce, Programcılar'a Microsoft'un VB6'yı banyo suyuyla birlikte attığını ve aynısını .NET ile yapabileceğini yorumladım. Birisi bana cevap verdi ve MS'in .NET'i asla terk etmeyeceğini yazdı. Sürpriz, sürpriz! Bu yüzden özgürlük yazılımına ve açık kaynak topluluklarına bağlı kalmayı tercih ediyorum. .NET açık kaynak olsaydı, MS'in davranışı bu kadar önemli olmazdı, çünkü topluluk çerçeveyi ileriye götürebilirdi.
systemovich

1
Mono büyük ölçüde yakalandı. Sorun şu ki, etrafındaki damgalama ve politika diğer şirketlerin bunu rahatça benimsemesini imkansız kılıyor. Aynı hikaye Java, geçerli olan Güneş Google'ı dava etmeye çalışırken, açık kaynak. Aradaki fark, Google'ın Sun'ın dava açmasını beklememesi. Herkes Microsoft'un onlara dava açmasını bekler ve bu yüzden buna söz vermedikleri halde insanlar .NET / Mono / ECMA C # 'dan kaçınırlar. Gerçekten, bu herhangi bir şeyle açık kaynak değil; MS'in kafasını tamamen kaybetmesi ile ilgili. Hemen hemen tüm yazılımlar, ana katkıda bulunanların çılgın ya da sıkıcı, açık ya da değil olma riskini taşır.
Rei Miyasaka

+1 çünkü HTML5 ve JS'yi doğrudan tarayıcıdan yerel bir masaüstü uygulamasına taşımak harika. Şimdi web, mobil ( PhoneGap kullanarak ) ve Windows 8 hepsi bir açık kaynak platform altında!
Raynos

1
Bağladığınız makalenin sonu, MS'in büyük geliştirici tabanlarını terk etmeyeceğini ve / veya HTML5 + JS'deki tüm kodları yapmayacağını ve bunun her şeyden daha fazla bir PR gaff olduğunu öne sürüyor.
Scott Whitlock

@ScottWhitlock, mevcut herhangi bir araç için desteği bırakmadan veya desteği bırakmadan kullanabileceğiniz araçları genişleten microsoft. Daha fazla geliştiriciyi microsoft eco sistemine çekmek için harika bir yol.
Raynos

4

Sabit çekirdekli microsoft olmayan elma olmayan kişilerin komut satırı güdümlü olduğunu ve GUI tasarımının orada oldukça yararsız olduğunu unutmayın. Bir dereceye kadar, HTML'deki GUI'leri tarayıcılar tarafından tüketileceklerinden ödün verecekler ve yapacaklar, ancak bu istemcileri için değil, kendileri için değil.

GUI dünyasında kalmak için varsayalım, Apple'a bakmak veya Windows'ta .NET ile kalmak isteyebilirsiniz.

Mantıklı?

HTH


4
Bu kesinlikle doğru değil. * Nix dünyasında, GUI'leri oldukça kapsamlı olarak kullanıyoruz.
greyfade

@Christopher: Biliyorum ve kesinlikle farkındayım. Mesela Oracle. Çok yavaş olan HTML GUI ile ortaya çıktılar. Sadece negatiflere bakmıyorum, muhtemelen Oracle komut satırı üzerinden çok iyi yönetilebilir.
RPK

@RPK: IIRC, Oracle 9i'nin GUI masaüstü uygulaması olan harika bir yönetim aracı vardı. Komut satırı yönetimine tercih ettim. Oracle 10g bunu bir web sayfası olarak uyguladı, ki bu neredeyse hiç hoş değildi.
David Thornley

1
GTK, Linux masaüstlerinde oldukça popülerdir ve başka GUI araç setleri de vardır. Terminali bir çok görev için kullansanız bile GUI'siz bir masaüstü çalıştırmak hiç de yaygın değil; * nix sunucularında ise genellikle her şeyi bir komut satırı üzerinden yaparsınız.
Jeremy

2
+1 çünkü bu açıklamaya benziyorum. Genellikle, yaptığım GUI programlama web uygulaması ile ilgilidir. Tasarım derecesini sezgisel, basit ve açık hale getirmek için bilinçli bir çaba harcıyorum, ancak kendi bilgisayar deneyimim% 80 Emacs,% 15 tarayıcı,% 6 diğer (% 1 hata payı ile) .
Inaimathi

3

Durumunuzda Java'yı öneriyorum.

Nedenleri:

  • .NET'i biliyorsanız, Java ile nispeten rahat edersiniz (C # büyük ölçüde Java'dan ilham aldı ve birçok kongre ve hatta kütüphane adı çok benzer)
  • Java'nın etkileyici GUI yetenekleri vardır (çok fazla kabul edilmeseler bile). En iyi çapraz platform GUI araç takımları bence Swing (tamamen çapraz platform, tutarlı bir görünüm ve his ile) ve SWT (ayrıca Eclipse tarafından kullanılan doğal bileşenleri de kullanan). JavaFX 2.0 da gelecek için umut verici görünüyor.
  • Her ikisi için de çok sayıda "GUI oluşturucu" türü araç vardır (genellikle NetBeans veya Eclipse için IDE eklentileri olarak kullanılabilir)
  • Muhtemelen kişisel bir tercih meselesidir, ancak Netbeans veya Eclipse'in genel olarak Visual Studio'dan daha iyi IDE'ler olduğunu ve kesinlikle diğer diller veya platformlar için gördüğünüzden daha yetenekli olduğunu iddia ediyorum.
  • Java platformu / ekosistem, genel olarak olmak için harika bir yerdir - özellikle açık kaynaklardan hoşlanıyorsanız çok çeşitli kütüphane ve araçlar.

Alternatif olarak, maceraperest hissediyorsanız Scala veya Clojure gibi yeni yenilikçi JVM dillerinden birini deneyebilirsiniz ...


3
Ayrıca Java geliştiricileri, yazılım yazmanın doğru yolunda daha hızlı olma eğilimindeyken, daha birçok .NET adamı tasarım desenleri, SOLID, vb. Uygulamadan kod sling yapıyorlar
Wayne Molina


-4

IronRuby ve IronPython gibi .Net çalışma zamanı ile çalışan diğer programlama dillerine bakın. Ardından, mono projeye göz atın .

Bu adımlar sizi .Net konfor alanınızdan çıkaracak ve Linux üzerinde geliştirecektir. Oradan, tam UNIX tarzı gelişime küçük bir sıçrama.


5
-1 çünkü "IronPython ve IronRuby ile gitmek istemiyorum"
sorusunda belirtiyor
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.