mono teknolojileri seminerim 2009
TRANSCRIPT
{ LinuX }Development .NET Technologywith Mono Framework on Linux
Mustafa Haluk YILMAZ[Seminars Online Version]
Mono Teknolojileri Seminerine
Seminerimiz Başlıyor
Mustafa Haluk YILMAZLKD – Linux Kullanıcıları DerneğiSeminer Görevlisi
E-posta Adresim:
Web Adresim:
www.halukyilmaz.net.tr
Bugün Neler Göreceğiz?• Kısaca Linux teknolojisi
• .net Teknolojisi ve Bileşenleri
• Nedir bu Mono ?
• Birde Monodevelop
• Neden C# Programlama Teknolojisi
• Cross-Platfrom Programlama Tekniği
• Mono bize ne kazandırır?
• Peki biz Mono’ya ne kazandırırız?
• Açık Kaynak işletim Sistemi
• Katılabileceğimiz Open Source Projeler
Linux Teknoloji
Kahramanımız Tux :) LinuX Neydi?
• İşletim Sistemimiz
• Ücretsiz
• Paket Programlarımızda öyle
• Hep Yanımızda
• Açık Kaynak
• Sınırsız Çoğaltma özelliği
• Kişiselleştirebilinir
• Geliştirebilinir
• .net yüklenebilinir
MONO FRAMEWORK
Neden .NET Teknolojisi
• Çok yeni bir teknoloji. Gelişen bir teknolojide
• Bir araya getirebilme özelliği Ada(A#), AsmL, Assemblyi VB.net, Boo, C, C++, Caml(F#), Fortran, Haskell, Java, Jscript, Lisp, Logo,Pascal, Perl, Php, Python(!) … 30+ Dahili Yazılım Geliştirme Dili
• İstediğini Geliştir. Özgürlük burada..
• Birkere yaz heryerde Çalıştır !
• Zengin .NET İşlevsel Kütüphaneleri
• Devasa kaynaklar; MSDN Libary ve OpenSource : Codeproject, Codeplex ..
.NET Nerede?
• .NET is Everywhere ( Sorry Java :)
• MultiMedia Platforms; XNA, Banshee, F-Spot
• Web Applications; Aspx, Blogs, engines DNN
• Cross Platform Technology; WinNt, Linux, Mac
• Visual Experience Web Applications; SL, Ajax
• Next Generation Platforms : WPF, WCF, CS
• Singularity %100 .NET Operating SyS (C#)
• Micro & Mobil Platforms : G. Android, IPhone
Mimarisi
Çekirdek Mimari
Mono Mimarisi
Mono CORE .NET CORE
Farklı Kültürler Zenginliktir
C# Programlama Teknolojisi
• MONO Framework , Mono CLR ve hatta Singularityİşletim Sistemi dahil birçok kompleks Projeler C# Programlama teknolojisi ile geliştirildi.
• Gelişen, Güçlü ve birçok yazılım geliştirme mimarisini destekler ( OOP, SOA, RIA vb..)
• Platform bağımsız olsa da bağımlı idi..
• Kolay, Hızlı & Eğlenceli..
• 3.0 ile Entegre database sorgusu..
• 4.0 ile Dynamic özelliği
Mono’da Özgür C#
• Mono 2.4 versiyonu ile C# 1.1 , 2.0 & 3.0 versiyonlarını desteklemektedir.
• Artık Mac PC ler hatta IPhone telefonlar için codeyazabiliriz!..
• Linq dahil tüm anonim tipler, metodlar, jenerikler kısacası tüm .NET kütüphanelerine sahip..
• Peki Performans?
– 10.000 Satır @ 2001 => 17 saniye
– 82.000 Satır şimdi 2.2 saniye
ve Mono Framework Teknolojisi
Neden Mono?
Platform Bağımsız
Özgür
PerformansYeni
Vizyonlar
Ekonomi
Mono• Proje Nisan 2001 Yılında Miguel de Icaza tarafından
başlatıldı. Destekci Firma Xiliman & Novell dir
• Tamamen C# ile geliştirildi ve ECMA özgür standartlarından dolayı sorun yaşanmadı..
• Mono Projesinin en güzel yanı önceki sunumlarda bahsettiğim teknolojileri zorluk çekmeden Linux Platformunda geliştirmek demek..
• Mono, Microsoft .NET ile aynı teknik altyapıyı kullanmaktadır ve birbirleri tarafından derlenmiş .NET binary birbirlerine ait CLR tarafından çalıştırılabilmektedir.
• Open Source, tüm versiyonların kodları mevcut..
Mono Platformları
• Mono projesi ile,– Linux, Unix , Solaris, MS Windows , MacOS işletim Sistemlerinde..
– Playstation III, XBOX 360, Wii Oyun Konsollarında..
– IPhone, Google Android gibi mobil ortamlarda sınırsız .net uygulamaları..
• Platform bağımsızlığı geliştiricilere teknoloji ve özgürlüğü beraberinde getirmektedir..
• Mono ile .net yeni bir vizyon.
• Performans
• Yeni Özellikler
Mono Framework işleyişi
• C# / .NET Compiler ile C# 3.0 dahil tüm .NET dillerini derleyebilme CLI sayesinde ortaklaşa çaluşabilme potansiyeli
• Mono Runtime Derlenen kodu Native( çalıştırabilinir ) makine koduna çeviren katman..
• Base ClassLibrary Mono çatısının geliştiricilere birbaşkasüprizi.. Bu sınıf mimarisi sayesinde geliştiriciler sorunsuz şekilde .net kütüphanelerini kullanabilmektedirler
• Mono Class Libary Mono sisteminin bir başka süprizi, .NET kütüphanelerinde olmayan özellik ve güçleri projelerimize entegre edebilme bu sayede özgür platformlarda geliştirebilmemiz dahil birçok yeniliği sunuyor!..Gtk+, Zip files, LDAP, OpenGL, Cairo, Mozilla vb..
MonoDevelop
• Geçtiğimiz ay 2.0 versiyonu çıkmıştır..
• C# Java ve diğer .NET dillerini derleyebilir..
• IntelliSense özelliğine sahip.
• Linux’ta Mevcuttur.
• Live CD versiyonları sayesinde gittiğimiz heryerde C# & .NET uygulamaları geliştirebiliyoruz!
• Gene Ücretsiz ve gene Kodlarımız Açık..
En Kolay Nerede Geliştirim?
• Linux (Debian) Ubuntu Dağıtımında
• OpenSuse Live Mono CD’si ile heryerde yanımızda
• Microsoft Platformunda Sharpdevelop 2.2 ile ve yakında Monodevelop ile geliştirebilme imkanı
• Microsoft Windows Platformu için gerekenler
– Mono 2.0 & GTK Paketleri
– SharpDevelop 2.2 Geliştirme Aracı
Mono Live
Mono Live-CD & Monodevelop 2.0
Mono Uygulamaları Nerde Çalışır?
Mono Framework
Desktop Web Mobile
Mono ile Geliştirilen Teknolojiler
• Mono Linux’un Artık Bir Parçası..
• Ödül Kazanan 3D geliştirme Ortamı
• MultiMedia Oynatıclar
• Takvim, UML, Yazılım geliştirme Uygulamaları.
• MS Teknolojolieri Linux Entegerasyon projeleri
– Bunlardan bazıları, MoonLight, MoonShine
Unity Technologies
Masaüstü Uygulamaları
Banshee Multimedia Oynatıcı
F-Spot
Web uygulamaları
• Mono @ Dinamik Web Uygulamaları
• En güzel yönü Ekonomi..
• Server’da Virüs, malware gibi sorun çıkartan yazılımlara yer yok
• Ağır .NET kütüphanesi yerine web için optimize edilmiş Mono kütüphaneleri
Zengin İçerikli Web Uygulamaları
MultiMediaMono
Mono “Dökümantasyon”
• MonoDoc ile yüzlerce örnek kod satırı sunan bir sistem sayesinde sıkıntı çekmeden Özgür Platformlar üzerinde yazılım geliştirebilme.
• MSDN Kütüphanelerini kullanabilme
• Mono Geliştiriciler Topluluğu Kaynakları
• Açık kaynak mono Projeleri SDK Dökümanları
Kişisel Gelişim İçin
• Mono Resmi Sitesi & Bloghttp://www.go-mono.com/monologue/
• Mono Online Kütüphane Servisi• http://mono-project.com/Monodoc
• Umarım İşinize yarar
APRESS Yayınlarından Pro C# 2008
&
Practical Mono
Mustafa Haluk YILMAZ
E-posta:[email protected]
Dernek Adresimiz:www.lkd.org.tr
Web Adresim:www.halukyilmaz.net.tr
Teşekkürler...
Soru - Cevap
Linux Kullanıcıları Derneği
Pamukkale Üniversitesi 2009
Mustafa Haluk YILMAZ© 2009 ..
www.HalukYILMAZ.net.tr