IronRuby - IronRuby

IronRuby
IronRuby Logo.png
Orijinal yazar (lar)Microsoft Dinamik Dil Çalışma Zamanı Takım
Geliştirici (ler).NET Vakfı
İlk sürüm31 Ağustos 2007; 13 yıl önce (2007-08-31)
Kararlı sürüm
IronRuby 1.0 / 12 Nisan 2010; 10 yıl önce (2010-04-12)
Önizleme sürümü
IronRuby 1.1.3 / 13 Mart 2011; 9 yıl önce (2011-03-13)
Depo Bunu Vikiveri'de düzenleyin
YazılmışC #
İşletim sistemipencereler, Linux, Mac os işletim sistemi
Platform.NET Framework, Mono
TürRuby programlama dili derleyicisi[1][2]
LisansApache Lisans 2.0
İnternet sitesiwww.ironruby.ağ

IronRuby bir uygulamasıdır Ruby programlama dili hedefleme Microsoft .NET Framework. Üstüne uygulanır Dinamik Dil Çalışma Zamanı (DLR), Ortak Dil Altyapısı dinamik diller için diğer şeylerin yanı sıra dinamik yazım ve dinamik yöntem gönderimi sağlar.

Proje şu anda etkin değil ve IronRuby'nin son sürümü (sürüm 1.1.3) Mart 2011'de olacak.

Tarih

30 Nisan 2007'de MIX 2007, Microsoft, Wilco Bauwer'in IronRuby projesiyle aynı adı izniyle kullanan IronRuby'yi duyurdu.[3] Halka açıklanması planlandı OSCON 2007.[4]

23 Temmuz 2007'de, söz verildiği gibi, John Lam ve DLR Tasarım Ekibi, OSCON'da IronRuby derleyicisinin Alfa öncesi sürümünü sundu. Ayrıca, IronRuby'nin açık kaynak topluluğuna daha fazla entegrasyonu için hızlı bir zaman çizelgesi duyurdu.[5]

31 Ağustos 2007'de John Lam ve DLR Tasarım Ekibi kodu kendi alfa öncesi RubyForge'da sahne.[6] Kaynak kodu, çekirdek Microsoft ekibi tarafından düzenli olarak güncellenmeye devam etti (ancak her biri için değil giriş ). Ekip ayrıca çekirdek için topluluk katkılarını kabul etmez. Dinamik Dil Çalışma Zamanı kütüphane, en azından şimdilik.[7]

24 Temmuz 2008'de IronRuby ekibi, ilk ikili alfa sürümünü yayınladı. OSCON 2008.[8] 19 Kasım 2008'de ikinci bir Alpha sürümünü yayınladılar.

Ekip, desteklemek için aktif olarak çalıştı Raylar IronRuby'de.[9][10] Bazı Rails işlevsel testleri çalışmaya başladı, ancak Rails'i bir üretim ortamında çalıştırabilmek için hala yapılması gereken çok şey vardı.[11]

21 Mayıs 2009'da, RailsConf 2009 ile birlikte 0.5 sürümünü yayınladılar. Bu sürümle, IronRuby biraz çalıştırabilir. Raylar uygulamalar, ancak yine de bir üretim ortamında değil.[12]

Sürüm 0.9, OSCON 2009 olarak duyuruldu.[13] Bu sürüm performansı artırdı.[14] Sürüm 1.0 RC1, 20 Kasım 2009'da kullanıma sunuldu.[15]

Sürüm 1.0, 12 Nisan 2010'da iki farklı sürümde kullanıma sunuldu:

  • .NET 4.0 üzerinde çalışan tercih edilen.
  • .NET 2.0 üzerinde çalışan daha sınırlı özelliklere sahip bir sürüm. Bu sürüm, uyumlu tek sürümdü Mono.[16]

IronRuby ekibi Ruby 1.8.6'yı sadece 1.0 puanlı sürümler için ve 1.9 sürümünü sadece gelecek 1.x sürümleri için desteklemeyi planladı ve Ruby 1.8.7 için desteği atladı.[17][18]

Temmuz 2010'da Microsoft bıraktı Jimmy Schementi, IronRuby çekirdek ekibinin kalan iki üyesinden biri ve projeyi finanse etmeyi bıraktı.[19][20] Ekim 2010'da Microsoft, Iron projelerini (IronRuby ve IronPython ) "harici" projelere dönüştürülüyor ve "topluluk üyelerinin Microsoft'un katılımı veya bir Microsoft çalışanının sponsorluğu olmadan katkıda bulunmasını" sağlıyordu.[21]

IronRuby'nin yayınlanan son sürümü 13 Mart 2011'de 1.1.3 sürümü olarak yayınlandı.[22]

Mimari

Mono desteği

IronRuby de çalışabilir Mono Microsoft'ta olduğu gibi Ortak dil çalışması (CLR),[23] ancak IronRuby ekibi bunu yalnızca CLR açıkken test ettiğinden pencereler.,[24] yapıya bağlı olarak Mono üzerine kurulmayabilir.[25][26][27]

.NET birlikte çalışabilirliği

IronRuby sınıfları ve normal sınıflar arasındaki birlikte çalışabilirlik .NET Framework pek çok Ruby sınıfı .NET sınıfı olmadığından, sınıflar çok sınırlıdır.[28] Ancak, dinamik diller için daha iyi destek .NET 4.0 gelecekte birlikte çalışabilirliği artırabilir.[29]

Silverlight desteği

IronRuby şu tarihte desteklendi: Silverlight. Tıpkı tarayıcıda bir komut dosyası motoru olarak kullanılabilir. JavaScript motor.[30] IronRuby komut dosyaları, basit istemci tarafı JavaScript komut dosyaları gibi aktarıldı. <script>-Etiketler. Daha sonra gömülü modifiye etmek de mümkündür XAML biçimlendirme.

Bunun arkasındaki teknolojiye Gestalt adı verildi.[31]

// DLR başlatma komut dosyası.<senaryo src="http://gestalt.ironruby.net/dlr-latest.js" tip="metin / javascript">// İstemci tarafı komut dosyası IronRuby ve Silverlight'a aktarıldı.<senaryo tip="metin / yakut">    pencere.Uyarmak("Ruby'den Merhaba")</senaryo>

Aynısı için çalıştı IronPython.

Test altyapısı

IronRuby entegre RubySpec Ruby programlama dili için eksiksiz, çalıştırılabilir bir belirtim yazma projesi olan. IronRuby Git deposu, MSpec test çerçevesi dahil olmak üzere RubySpec testlerinin bir kopyasını içerir.[32]

Lisans

IronRuby daha önce Microsoft Kamu Lisansı, hangisi OSI sertifikalı BSD tarzı lisans.

16 Temmuz 2010'da Microsoft, IronRuby'yi Apache Lisansı v2.0 altında DLR ile birlikte yeniden lisansladı.[33]

daha fazla okuma

  • Shay Friedman, "IronRuby Unleashed", Sam's, 2010, ISBN  0-672-33078-4
  • Ivan Porto Carrero ve Adam Burmister, "IronRuby İş Başında", Manning, 2010, ISBN  1-933988-61-4

Ayrıca bakınız

Referanslar

  1. ^ S. Somasegar. "IronRuby'ye erken bakış". Alındı 2007-07-25.
  2. ^ "RubyForge: IronRuby: Proje Bilgisi". Arşivlenen orijinal 2016-09-25 tarihinde. Alındı 2007-09-07.
  3. ^ Wilco Bauwer. "Microsoft'un Iron Ruby". Arşivlenen orijinal 2007-09-29 tarihinde. Alındı 2007-07-24.
  4. ^ John Lam. "Microsoft ve IronRuby". Arşivlenen orijinal 2007-06-12 tarihinde. Alındı 2007-06-18.
  5. ^ John Lam. "IronRuby'ye İlk Bakış". Arşivlenen orijinal 2007-07-26 tarihinde. Alındı 2007-07-23.
  6. ^ Lam, John. "Rubyforge'da IronRuby!". Arşivlenen orijinal 2007-09-03 tarihinde. Alındı 2007-08-31. Bugün, Rubyforge'daki IronRuby Subversion deposundan kaynak kodunu kontrol etmelisiniz. Bir Subversion istemcisine ihtiyacınız olacak; TortoiseSVN'yi öneririz. Kaynakları komut satırından oluşturmak için, bilgisayarınızda Ruby'nin de kurulu olması gerekir.c
  7. ^ Lam, John (2008/04/29). "IronRuby ile ilgili ... Bu blogdan kulağa ne kadar doğru geliyor". Arşivlenen orijinal 2009-03-16 tarihinde. Alındı 2008-05-25. DLR, topluluktan gelen katkıları kabul etmez (...) Bugün, her başarılı SNAP kontrolünde SVN'ye zorlamıyoruz
  8. ^ Lam, John (2008-07-24). "OSCON'da IronRuby". Arşivlenen orijinal 2008-08-07 tarihinde. Alındı 2008-08-04. İlk ikili sürümümüzü gönderiyoruz. Bu pakette, "piller dahil" yaklaşımını benimsiyor ve Ruby standart kitaplıklarını içinde gönderiyoruz
  9. ^ "Raylarda IronRuby". Alındı 2008-05-25.
  10. ^ Lam, John (2008-05-24). "IronRuby r112 çıktı". Arşivlenen orijinal 2009-03-16 tarihinde. Alındı 2008-05-25.
  11. ^ Lam, John (2008-05-25). "IronRuby / Rails Sorusu". Arşivlenen orijinal 2009-03-17 tarihinde. Alındı 2008-05-25. Henüz oyunun sonuna yaklaştığımızı sanmıyorum :) Şu anda Rails işlevsel testlerini zorlukla çalıştırabiliyoruz ve dağıtım hakkında düşünmeye başlamadan önce daha yapılacak çok kitaplık çalışması var
  12. ^ Schementi Jimmy (2008-05-25). "IronRuby, RailsConf 2009'da". Alındı 2008-05-25. IronRuby running Rails yeni değil, ancak bunu iyi ya da tamamen yapıyor - öyle. IronRuby artık sadece oyuncak-merhaba-dünya örnekleri yerine gerçek Rails uygulamalarını çalıştırabilir. Bu, IronRuby on Rails'in üretime hazır olduğu anlamına gelmez, ancak ileriye dönük ilerlemenin büyük bir ölçüsüdür
  13. ^ "IronRuby 0.9". 2009-07-23. Alındı 2009-08-03.
  14. ^ Cangiano, Antonio (2009-08-03). "Windows'ta IronRuby, Ruby 1.8 ve Ruby 1.9'un performanslarının karşılaştırılması". Alındı 2009-08-03.
  15. ^ "IronRuby 1.0RC1". 2009-11-20. Alındı 2009-12-29.
  16. ^ "IronRuby 1.0 sürüm notları". 2010-04-12. Alındı 2010-04-17. IronRuby artık iki türden geliyor - biri .NET 4.0 üzerinde çalışan ve diğeri .NET 2.0 SP1 ile başlayan herhangi bir önceki çerçevede çalışan. .NET 4.0 çeşidi, daha hızlı başlatma süresi, C # ’ın dinamik anahtar sözcüğüyle uyumluluk ve .NET 4.0’daki yeni özelliklere erişim sağlar. Bu nedenle, Microsoft .NET Framework 4.0 bugün itibariyle kamuya açık olduğundan, .NET 4.0 çeşidi şu anda tercih edilen indirmedir. Mono uyumluluğu için, 2.0 SP1 için zip dosyası sürümünü kullanın.
  17. ^ "MRI 1.8.7 uyumluluğu". 2010-02-12. Alındı 2010-03-06.
  18. ^ "MRI 1.8.7 uyumluluğu". 2010-02-14. Alındı 2010-03-06. IronRuby 1.0.x sürümleri: YALNIZCA ruby-1.8.6 uyumlu; IronRuby 1.x sürümleri: YALNIZCA ruby-1.9 uyumlu
  19. ^ "Sen değilsin, benim: Microsoft IronRuby'yi öldürüyor". InfoWorld. 2010-08-11. Alındı 2012-12-28.
  20. ^ Schementi Jimmy (2010-08-06). """Jimmy ve IronRuby'nin geleceği" haberini yaymaya başlayın. Alındı 2012-12-28. Genel olarak, IronRuby'ye ciddi bir bağlılık ve genel olarak .NET üzerinde dinamik bir dil eksikliği görüyorum. Ayrıldığım sırada Tomas ve ben, IronRuby üzerinde çalışan tek Microsoft çalışanıydık
  21. ^ Zander, Jason. "IronPython ve IronRuby için Yeni Bileşenler ve Katkıda Bulunanlar". Microsoft. Alındı 27 Aralık 2014.
  22. ^ "IronRuby 1.1.3". ironruby.codeplex.com. 2011-03-13. Alındı 2013-05-19.
  23. ^ Miguel de Icaza (2009-07-27). "Mono'nun .NET CLR ile uyumluluğunu geliştirme". Alındı 2009-08-03. Hatırladığımız kadarıyla, IronPython, IronRuby veya Dynamic Language Runtime'ın çoğu yeni sürümü, Mono'daki yeni eksik işlevselliği ortaya çıkardı.
  24. ^ Sanghyeon, Seo (2008-08-06). "IronRuby ve Mono". Arşivlenen orijinal 2009-03-16 tarihinde. Alındı 2008-09-13.
  25. ^ Vander Schelden, Wim (2008-09-04). "IronRuby ve Mono". Arşivlenen orijinal 2009-03-16 tarihinde. Alındı 2008-09-13.
  26. ^ Hall, Ben (2009/01/23). "DLR Günlük Yapılar (IronRuby dahil)". Arşivlenen orijinal 2009-03-15 tarihinde. Alındı 2009-01-23.
  27. ^ Porto Carrero, Ivan (2009-05-26). "mono yapılar". Arşivlenen orijinal 2012-02-23 tarihinde. Alındı 2009-06-05.
  28. ^ Hagenlocher, Curt (2008-12-16). "Xna + IronRuby + RubyNewb = baş ağrısı". Arşivlenen orijinal 2009-03-16 tarihinde. Alındı 2008-12-20.
  29. ^ Brotherus, Robert (2008-12-12). "Ruby nesneleriyle WPF veri bağlama". Arşivlenen orijinal 2009-03-25 tarihinde. Alındı 2008-12-13.
  30. ^ Tarayıcıda IronRuby - IronRuby.net
  31. ^ Schementin Jimmy (2009-07-22). "Gestalt: Ruby ve Python tarayıcıda tekrar". Alındı 2018-01-19.
  32. ^ "RubySpec". Alındı 2010-10-23. IronRuby GIT deposu, External.LCA_RESTRICTEDLanguagesIronRubymspec altında MSpec test çerçevesi dahil olmak üzere RubySpec testlerinin bir kopyasını içerir. Bu, mevcut testleri değiştirmeyi veya yeni testler yazmayı ve IronRuby kaynaklarındaki hataları düzeltmeyi, tümü tek bir IronRuby deposunda gerçekleştirmeyi kolaylaştırır.
  33. ^ "IronRuby Lisansı". 2010-07-16. Alındı 2010-07-27.

Dış bağlantılar