Programlama yapalım ve Öğrenelim. - Microsoft .NET Rakip
  Ana Sayfa
  => Microsoft .NET Kodlarını Açtı.
  => Microsoft .NET Rakip
  => VS.NET Nedir?
  => C# ile Tanışalım
  => C# ve OpenGL
  => ADO.NET
  => ASP.NET
  => ASP.NET ile MySQL
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  İletişim
Merhaba arkadaşlar.Bu yazıda .NET ve Mono projesi üzerinde duracağız.

Bilindiği gibi .NET, Microsoft firması tarafından yaratılmış olan yeni bir geliştirme ortamıdır. Ama Microsoft .NET'i tasarlarken, sadece bir geliştirme ortamı olarak kalmasına razı olmamış ve .NET'i büyük bir değişim olarak hazırlamış ve lanse etmiştir.

.NET, Windows platformunda ki programcılar için gerçekten büyük bir değişimdir. Özellikle Web Services, kullanışlı ve yararlı bir sistemdir. Ama şuda var ki, Microsoft'un bize yeni sunduğu Web Services, *Nix dünyasında XML-RPC ismi ile zaten bizimle beraberdi. XML-RPC Web Services mantığında çalışmakta olan bir sistemdir. Bu konuda daha fazla şey söylenebilir ama yazımızın konusu bu değil.

Peki sizce *Nix dünyası .NET'e nasıl yaklaşıyor? Microsoft'un savunduğu büyük değişimin *Nix dünyasında etkisi nedir? *Nix dünyasını takip eden arkadaşların bildiği gibi, .NET *Nix dünyasındada yankılar oluşturmuştur. Bazıları .NET'i değersiz olarak görürken , bazılarıda .NET'i benimsemiş ve .NET benzeri bir sistemin *Nix dünyasında kullanabilmek için çalışmalara başlamıştır.

İşte bu çalışmalardan biri Mono projesidir. (Mono ispanyolca 'da maymun anlamına gelmektedir. Sanırım yazının başlığını şimdi daha iyi anlayabiliyorsunuz eki )

Mono projesi (http://www.go-mono.com), Ximian tarafından desteklenen ve ECMA .NET standartlarına dayanan bir projedir. Herşeyden önce bu proje tamamen Ximian desteklidir. Microsoft bu projeye doğrudan bir katkıda bulunmamaktadır.

Mono projesi, .NET'in *Nix implementasyonudır. Mono projesi sayesinde, .NET destekli bir dilde yazdığınız kodun , *Nix platformlarındada çalışması mümkün olacaktır.

Projeyi genel olarak inceleyelim:

- Bir Common Language Infastructure (CLI) sanal makinesi hazırlanmaktadır. Bu Microsoft'un sanal makinesi gibi class yükleyicisine, Just-in time compiler'a ve çalışma zamanı çöp toplayıcıya sahiptir

- CLR destekleyen herhangi bir dilde kullanılabilecek bir sınıf kütüphanesi hazırlanmaktadır

- C# dili için bir compiler yazılmaktadır. İlerde CLR destekleyen diğer diller için compiler üretimi düşünülmektedir.

Şimdi projeyi biraz daha detaylı inceleyelim.

Mono'da şu anda 2 tane runtime sanal makinesi bulunmaktadır.
mono: Just-in Time compiler (Şu anda sadece x86 desteği vardır)
mint: Mono interpreter

Mono projesinin sınıf kütüphanelerinin tamamen .NET uyumlu olması için çalışılmaktadır. Corlib, System, System.Xml, System.Data, System.Drawing, System.Web , System.Web.Services üzerinde çalışmalar yapılmaktadır.

Mono projesi, .NET'in aksine arabirim sisteminde WinForms yerine GTK# kullanmaktadır. Gtk#, gtk+ araç kitinin, C# implementasyonudur.

Mono projesi dahilinde daha önce belirttiğim gibi bir C# compiler üzerinde çalışılmaktadır. Bu compilerın adı MCS: The Ximian C# compilerdır. Bu compiler şu anda self hosting durumundadır. Yani bu compiler şu anda kendi kodlarını sorunsuzca derleyebilir.

Projenin son durumuna bakalım:
Şu anda:

* C# compiler, kendi kendini derleyebiliriyor. Büyük ölçüde çalışmaları bitirildi

* JIT Linux/x86'da çalışıyor. Şu anda büyük ölçüde fonksiyonel, hızını arttırmak için çalışmalar yapılıyor

* mint şu anda çoğu .NET programını çalıştırabiliyor.C# sharp compilerı mint üzerinde çalıştırabilirsiniz ve bu durumda compiler sorun çıkarmıyor.

* Sınıf kütüphanelerinin çalışmalarına devam ediliyor

Mono projesinin ilerdeki planları ise şöyle:

* ADO.NET implementasyonu

* ASP.NET dahilinde Web Forms ve Web Services implementasyonu

* Mono projesinde Java diline destek verilmesi düşünülüyor

Mono projesi serbest yazılım bir projedir ve tamamen Microsoft'tan bağımsızdır. Eğer isterseniz sizde projeye dahil olabilirsiniz. Ama şöyle ilginç bir durum var. Eğer .NET'in source code'una bakmışsanız, Mono'ya katılamazsınız. Bu Microsoft'un ilerde copyright sorunları çıkarmasını engellemek için düşünülen bir önlem.

Bu yazıda size Mono projesini genel olarak tanıtmaya çalıştım. Proje hakkında daha fazla bilg için http://www.go-mono.com adresine bakabilirsiniz. Ayrıca sorularınızı bana email ilede gönderebilirsiniz.

Bu arada Mono C# compiler ve Mono sınıfları kullanan ilk Gtk# programı yazıldı!
http://www.atoker.com/phonic/ adresinde daha fazla bilgi bulabilirsiniz.

Birdahaki yazıda görüşmek üzere.
http://www.go-mono.com/
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol