MONO Projesi

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Mono
Mono - Mono
Mono
Şirket/geliştirici: Novell
Depo: Ubuntu
Tür: Derleyici
Lisans: Açık Kaynak
Web sitesi: http://www.mono-project.com/

MONO Projesi

Önce Mono'nun sözlük anlamı nedir ona bakalım. Mono, İspanyolca'da maymun anlamına geliyor (maymunun doğuşu). Sanıyorum, Mono Projesi'nin, .NET'in evrimleşmiş hali olabileceği aklınızdan geçmiştir.

Şimdi de Özgür Yazılım Dünyası'nda bize neyi ifade ediyor, buna bakalım:

Mono Projesi Ximian tarafından desteklenen ve ECMA standartlarına dayanan bir projedir. Miguel de İcaza 19 Temmuz 2001’de sahip olduğu Ximian firmasında Mono'yu oluşturacak olan açık kaynak projesine başlayacaklarını duyurdu. İcaza, 1999'da Özgür Yazılım Vakfı FSF'den Özgür Yazılım Ödülü, Amerika'da bulunan dünyanın en iyi teknik üniversitelerinden biri olan MIT’den teknoloji alanında 'Yılın Yenilikçisi Ödülü', 2000 yılında da Time Magazin tarafından seçilen, 'Yüzyılın 100 Yenilikçisi' arasındaki bir Özgür Yazılım programcısıdır.

İcaza, Mono ile GNU/Linux, UNIX, Mac OS X ve Windows tabanlı makinelerde çalışabilen .NET uyumlu araçlar oluşturmayı amaçlamaktaydı. Yani Microsoft'un .NET teknolojisi ile geliştirilen bütün uygulamalarının çalıştırılabileceği, C# ile yazılmış olan kodların derlenebileceği bir framework alanı oluşturmak. Bu projenin gelişiminde Microsoft ve Novell mühendisleri aralarında dayanışma göstererek proje kapsamında öncelikli olarak Microsoft tarafından gelistirilmiş ve ECMA’ya sunulmuş teknolojilerle uyumlu uygulamaların geliştirilmesi üzere, birlikte çalışılmıştır. Mono, Microsoft .NET ile aynı teknik altyapıyla geliştirilmiş ve birbirleri tarafından derlenmiştir/derlenebilmekte. Zaten bu da yukarıda belirttiğimiz amaca hizmet etmektedir.

Mono'nun önemli diyebileceğiz birkaç önemli özelliğini sıralayacak olursak;

Mono, yazılım geliştirmede yüksek verim sağlar. Mono’nun çok küçük bir bölümü C ile, büyük bir bölümü C#’la yazılmıştır. Mono'da .NET ile derlenmiş uygulamalar yeniden derlenmesine gerek kalmaksızın çalıştırılıabilirler. Linux'te, Unix tabanlı FreeBSD ve Solaris'te, Windows işletim sistemlerinde (NT, 2000, XP, ME, 98, Vista, Windows 7), ve Mac OS X üzerinde çalışabilir. Bu da programcılar için büyük kolaylıklar sağlamaktadır. Mono'nun herhangi bir lisans ücreti yoktur. Açık kaynak kodlu .NET teknolojisini kullanılmaktadır. Mono sadece Windows üzerinde çalışan framework ve kütüphanelerin kopyası değil, aksine Mono'dan tam anlamıyla Cross-Platform amaçlanmaktadır. Çapraz platform; bir programcıya birçok platform için tek seferde programlar geliştirmeyi mümkün kılan programlama ortamıdır. Novell sadece Microsoft'un, geliştirdiği teknolojilerin ECMA için sunduğu standartları kullanır. Mono'nun, Windows'tan bağımsız kendine has oldukça iyi kütüphaneleri de mevcuttur. Monodoc, yapısı itibariyle MSDN’e yapısına benzeyen ve Mono hakkında birçok bilginin olduğu bir kütüphanedir ve sürekli olarak yenilenmektedir. Mono'da, 'System.Windows.Forms' kütüphanesinden faydalanmak için Wine programı kullanılmaktadır. Mono'da kararlı yazılımları daha kısa sürede geliştirmek mümkün hale gelmektedir. Kendi kendini (binlerce satırlık kodlar bütününü) sadece 1-2 saniyede derleyebilecek kadar hızlı olması da Mono'nun önemli özellikleri arasında gösterilir. Daha düşük bellek kullanımı ve daha yüksek I/O performansı sağlar. Her gün genişleyen bir toplulukla gelişimini hızla sürdürmektedir. Mono ve GNOME projeleri amaçlarından dolayı birbirini tamamlamaktadır.

Çıkış noktalarından bir tanesi de gönüllülerin GNOME projesi kapsamında geliştirilen kütüphaneleri C++, Python, Perl, PHP, Ruby, Haskell, Lisp gibi dillerde kullanma isteğinin neden olduğu iş yükü.

Hedefler arasında;

  • VB/Delphi/C# programcıları yazılımlarını istediği anda Linux'da sorunsuzca çalıştırabilmek,
  • Bu yazılımları geliştirmeyi Linux'te sürdürebilmek,
  • Kararlı sınıf kütüphanesi sayesinde Linux'daki geriye uyumluluk sorunlarını çözmek de yer almakta.
  • Mono Projesi birçok yazılım devinin birleşmesi ve gönüllülerin çalışması sonucu gelişmesine, Novell sponsorluğunda devam etmekte.
  • Icaza da şu anda Novell geliştirme grup başkan yardımcılığını sürdürmektedir.

Hemen burada birçok tartışmaları beraberinde getiren önemli bir noktanın altını çizmek istiyorum. Bu proje tamamen Ximian destekli serbest bir yazılımdır. Bilinenin aksine Microsoft'un bu projeye doğrudan bir katkısı yoktur ve tamamen bağımsızdır (ticari anlamda). Hatta isterseniz bütün Özgür Yazılımlar'da olduğu gibi bu projede sizin de katkınız olabilir.

Mono Projesi birçok anlamda büyük yenilikler getirmiştir. Birçok platformda çalışabilen bir program olması, Windows'tan Linux'e geçişi kolaylaştırması ve bunun temelinde insanlara yardım edilmesinin düşünülmesi, en önemlisi belki de var olan mevcut bilgiyi, tecrübeyi değerlendirmesi adına çok önemli bir projedir.

Bu gelişme bize, Özgür Yazılım ve GNU/Linux'un herzaman bir adım önde olduğunu/olacağını gösterir. Gönüllüler ve Özgür Yazılım bir de yardımlaşma bir anlamda özgürlüğün gerçek tanımıdır diyebiliriz. Amaca yakın olan öndedir!

MonoDevelop

Mono Projesinin yapı taşlarından biri de MonoDevelop'tur. Şimdi, MonoDevelop nedir, neyi amaçlamaktadır?, cevap vermeye çalışalım:

MonoDevelop.jpg

Tabii ki açık kaynak kodludur, yani yazılım geliştiricilerine ücretsiz yararlanma ve geliştirme imkânı sunar. bütün Özgür Yazılımlar'ın temelinde olduğu gibi. Popüler, esneklik, kolaylık ve güç bakımından tercih edilen C# ve .NET uygulamalarını, Linux ortamında geliştirmemize olanak sağlayan arayüz uygulamasıdır. MonoDevelop, C#, Visual Basic.Net, C/C++, .NET gibi programlama dilleri için bir tümleşik geliştirme ortamıdır. Mono'nun genel özelliklerinde söylediğimiz gibi Linux, Windows ve Mac üzerinde aynı arayüzle çalışabilmektedir. MonoDevelop yazı-kod düzenleme yeteneklerine sahiptir. C# için kod tamamlama desteği, örnekleri ve kod katlamaları sunmaktadır.

MonoDevelop'un kullanıcı arayüzünden de anlaşılacağı üzere Türkçe desteği de mevcut.

MonoDevelop'ta form tasarımı için Gtk# görsel tasarım aracı kullanılır. Yine Windows'taki gibi bir Tools menüsü de sürükle bırak mantığı ile çalıştırılabilir, bunun yanında konsol uygulamaları da tercih edilebilir seçenekler arasındadır. Mevcut uygulamalar Windows ortamındakilerle büyük benzerlik gösterdiği için deneyimi olanlar pek de zorlanmayacaklardır.

MonoDevelop1.jpg

Ayrıca ASP.NET uygulamaları için entegre debugger desteği mevcuttur.

Kurulumu

MonoDevelop'u kurmak için uygulama mağazasında örneğin mono sözcüğünü aratabilir ya da uçbirimde alttaki komutu kullanabilirsiniz:

sudo apt-get install monodevelop

Kaynakça