Cumartesi, Temmuz 23, 2005

.NET nedir?

...



.NET tam olarak nedir?

.NET Framework, Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş komple bir "uygulama" geliştirme platformudur. Buradaki uygulama kavramının kapsamı çok geniştir. Bir masaüstü uygulamasından tutun, bir web tarayıcı uygulamasına kadar her şey bu platform içinde düşünülmüştür ve desteklenmiştir. Bu uygulamaların birbirleriyle ve geliştirildiği ortam farketmeksizin dünyadaki tüm uygulamalarla iletişimi için kolayca Web Servisleri oluşturulmasına imkan verilmiştir. Bu platform, işletim sisteminden ve donanımdan daha üst seviyede taşınabilir olarak tasarlanmıştır. Microsoft, üzerinde çok çalışılmış, düşünülmüş bir ürün ortaya sunmuştur ve görünen-beklenen o ki, ileride sunacağı tüm ürünler de bu yeni platformu hedef alacak ve yüksek ihtimal ismini de paylaşacaktır. (Mesela Windows .NET, SQL Server .NET, ..)

Belki temelinde yatan fikir olarak kimi teknolojilerin klonlandığı iddia edilebilir ki ediliyor da. Lâkin neticeye bakıldığında önümüzde çiçeği burnunda duran .NET : interneti hedef alan bileşen setiyle; programcıları özgürleştiren, diller arası etkileşime olanak tanıyan dil bağımsız mimarisiyle; donanım-bağımsız ara seviye derleme ve güvenli talimat icraatını güvence altına alan çalışma zamanı ortamıyla; web uygulamalarına getirdiği özgün ve radikal yaklaşımıyla; zengin ve mükemmel organize edilmiş sınıf kütüphanesi ve dokumantasyonu ile; sınırları ortadan kaldıran web servisi desteğiyle... ve daha da sayabilecğeimiz bir çok özelliğiyle benzetildiği teknolojileri geride bırakan inkar edilemeyecek seviyede özgün bir platformdur.


Bu platformu nasıl edineceğim? Paralı mı?

.NET platformu için uygulama geliştirmek istiyorsanız, işletim sisteminize .NET çalıştırma ortamını kurmanız gerekiyor. Bu ortamı, Java uygulamalarını çalıştırmak için gerekli olan Java Run-time Environment (JRE) gibi düşünebilirsiniz.

.NET platformu iki ayrı kurulum dosyası halinde, ücretsiz sunuluyor. Bunlardan ilki 21 mb .NET'in çekirdek kurulumu. Bu kurulum ile, bilgisayarınızda bir metin editörü açıp kodunuzu yazıp, gelen derleyiciler ile derleyip uygulamanızı sınayabilirsiniz. Ancak bu kurulum, geliştiriciler için değil, daha çok dağıtım sonrası uygulamanızın çalışacağı sistemler için uygundur. .NET uygulamaları için gerekli çalışma zamanı ortamını, web uygulamalarının sunulabilmesi için gerekli olan Web sunucu (IIS) eklentilerini ve desteklenen temel dillerin derleyicilelerini sunmaktadır. Bir yazılım geliştiricinin bunlardan daha fazlasına ihtiyacı vardır. Hele de uygulama geliştireceği ortamda herhangi bir deneyimi yoksa. Bu nedenle 134 mb'lik .NET Framework SDK kurulumu da ikinci bir seçenek olarak sunuluyor. SDK yani Software Development Kit, çekirdek kurulumu içereden daha kapsamlı bir kurulumdur. Peki 134 mb lik kurulumda fazladan neler kapsanmıştır? Faydalı araçlar: mesela assembly'lere ara dil seviyesinde göz atmanızı sağlayan ildasm.exe, hata ayıklayıcılar, SQL Server'in hafif versiyonu MSDE, hızlıca başlamanızı temin edecek QuickStart Tutorials, örnek uygulamalar.. ve asıl bomba ise devâsa dokümantasyon. Organizasyonu ve disiplini göz kamaştıran bir dokümantasyon olduğunu kullanmaya başladıkça çok iyi anlayacaksınız.

Bu iki kurulumu da bedelsiz olarak Microsoft'un sitesinden indirebilirsiniz


Hangi işletim sistemlerinde çalışıyor?

Şu anda .NET Framework istemci uygulamaları sadece Windows 98/Me/NT4/2000/XP işletim sistemlerinde çalışabiliyor. Ancak sunucu davranışı için üzerine sp2 kurulmuş Windows 2000 ve Windows XP gerekiyor. Bunun anlamı: ASP.NET sayfalarını (yani .NET'in tarayıcıları ve mobil cihazları hedef alan web uygulamaları) Windows 2000 ve XP dışında bir sistemden sunamıyor oluşunuz. (Elbette ki bu sunum, Internet Information Server da gerektiriyor.)

Teoride .NET Framework her hangi bir işletim sistemine taşınabilir. Ancak taşınacağı işletim sistemine özgü çalışma zamanı ortamının ve sınıf kütüphanesinin yazılması lazım. Şu anda Linux için bu tip bir çalışma sürüyor.


Teoriden kastınız?

Yazacağınız herhangi bir .NET uygulaması ortak bir run-time ortamda çalışacak ve ortak bir kütüphaneyi kullanacaktır. Run-time ortamının teknik adı Common Language Runtime (CLR) dir. CLR, kodunuzun başında duran bir şef gibidir. Yetenekleri ve görevleri çok fazladır ve platformun en önemli bölümüdür. Mesela kodunuzda kaygısızca oluşturduğunuz ve "heap" alanına yığdığınız nesnelerin kullanılmadığı andan itibaren otomatik olarak toplanması CLR'ın görevidir.

.NET uygulamalarının kaynak kodları çalışır hale gelebilmek ve CLR'nin muhatabı olabilmek için iki derleme aşamasından geçmektedir. Desteklenen herhangi bir dille (VB.NET, C#, ..) yazdığınız kaynak kodu, .NET'in çekirdek kurulumu ile gelen, komut satırı derleyicileri kullanarak derlediğinizde ilk aşama gerçekleşmektedir. Derleme sonucunda bir .exe veya bir .dll dosyası oluşsa bile, bu dosyaların yürütülebilmesi için ikinci bir derleme evresine girmeleri gerekir. İlk derlemede kaynak kodunuz, özel adı MSIL (Microsoft Intermediate Language) olan, Assembly (sembolik makine) diline yakın bir dile dönüştürülmektedir. Oluşan .exe ve .dll dosyalar yürütülebilir kodlar yerine ara dil içermektedir. Bu dosyaları çalıştırmak istendiğinde, devreye CLR girecektir. Bu ara dildeki talimatlar, just-in time (JIT) compilation denen ikinci derleme aşamasına girecektir ve doğal makine koduna dönüşecektir. Bu ikinci derleme, uygulamanın çalışacağı yerde olacağından oluşacak doğal kod o ortama özgü olacaktır. Örneğin farklı işlemciler için farklı talimatlar üretilecektir.

Öte yandan uygulamanızı geliştirirken bir çok hazır çağrılara ihtiyacınız olacaktır. .NET, programcının kullanımına hazır bir sınıf kütüphanesi sunmuştur. Bu kütüphane işletim sistemi ile uygulamanız arasında bir köprü görevi yapmaktadır. Siz bir dosyaya yazmak istediğinizde, işletim sisteminin dosya sistemi çağrıları yerine, bu kütüphanedeki hazır sınıfı kullanacaksınız. Yani muhatabınız işletim sisteminden daha üst seviyede duran .NET iskeleti olacaktır. Böylelikle teoride uygulamanızın bağımlı olduğu tek şey .NET Framework'tur ve işletim sisteminden, donanımdan bağımsız hale gelmektedir. Bunun en kısa ifadesi "taşınabilir"liktir.
Kaynak: Evcil.net

Salı, Temmuz 19, 2005

HTML Help Yardım Dosyası Hazırlama (*.chm)

...



Nedir bu html help dosyası ne işimize yarıyor?

Mesela bir program yazdık herşey tamam programı yaynlayacağız ancak bu progmın nasıl kullanılacağı, programın kim tarafından yazlıp çizildiği oluşabilecek sorunlarınların çözümleri ve buna benzer bir çok konu hakkında programla birlikte bir belge hazırlayıp son kullanıcıya summaız gerekmektedir. İşte tam bu sırada en ideal çözüm olan Microsft un yazılımı olan HTML Help programı devreye giriyor.

Diğer yandan bu programın kullanım amacı değişklik gösterebilir. Örnek veririsek piyasa bulunan kitapları bilgisayar ortamına taşımak için de (Adobe Acrobat Reader - .pdf ye altarnatif olarak) kullanılabilir.

Programı indirmek için

Öncelikle HTML Help Workshop programını kuralım.

Not: Resimleri Büyütmek İçin Üzerlerine Tıklayınız.






Yardım Dosyasının Hazırlanması

HTML Help Workshop?u çalıştırın.
File menüsünden New komutunu verin ve Project?i seçerek OK butonuna basın. Karşınıza New Project sihirbazı gelecektir, Next butonuna basarak bir sonraki sayfaya geçin.
Browse butonuna basarak projenizin kaydedileceği yeri ve projenizin ismini belirleyin. Yardım ile ilgili tüm dosyaların bir klasörde olması iyi olacaktır. Ben HTML Help isimli bir klasör altında topladım ve yardım dosyamın ismini de doviz verdim.





Bir sonraki ekranda size hangi dosyalarınızın hazır olduğunu sorulacaktır. Bizim şu anda sadece HTML dosyalarımız hazır, onun için HTML files (.htm) seçeneğini seçip Next butonuna basın.



Bir sonraki ekranda Add... butonuna basarak help dosyası için hazırladığınız HTML dosyalarını ekleyin. Ben yardım dosyası için 3 tane HTML dosyası hazırlamıştım, onları ekledim. Next butonuna basarak bir sonraki sayfaya geçin.





Şimdi yardım dosyamız için gerekli ayarları tamamlayacağız. Bunun için Change Project Options butonuna () tıklatın ve Options ekranını açın. Burda yapacağımız ayarlar şöyle :

Title : Yardım dosyasının başlığı
Default File : Yardım dosyası ilk açıldığında görüntülenmesini istediğiniz HTML dosyasını seçin.
Language : Bu kısımdan Turkish seçili olarak gelecektir eğer seçili değilse Turkish olarak seçin.
Font : Varsayılan fontlar yerine tercih ettiğiniz bir font varsa onu seçin. Mesela ben Lucida Sans daha hoş durduğu için onu seçtim. Character seti Turkish olarak seçin.





Yardım dosyasının görüntüleneceği pencerenin ayarlarını yapmak için Add/modify windows definitions butonuna () tıklatın.

?Karşınıza gelen ekrandan pencerenin ismini girin, ben site_window dedim.




Burda pencere ile çok detaylı ayarlar var ancak ben butonlar ile Title Bar Text ayarlarını yaptım gerisi çokta önemli değil şu an.
Title Bar Text kısmına pencerede görünecek başlığı girin.




Buttons sekmesindeki Buttons Type kısmından pencerede gözükecek butonları ayarlabilirsiniz. Standart butonların yanında 2 tane ekstra buton vardır. Bunları istediğiniz gibi ayarlayabilirsiniz. Ben bunlardan bir tanesine basınca web sayfamın açılmasını istiyorum. Onun için aşağıdaki gibi ayarlarını yaptım:
oButton Types kısmından Jump1 i işaretledim.
oJump1 Text kısmına elninooo.blogspot.com yazdım. Bu butonun ekranda gözüken etiketidir.




oFiles sekmesine geçip Jump1 kısmına açılmasını istediğim sayfamın adresini yazdım : http://www.elninooo.blogspot.com



Navigation Pane kısmındaki Windows with ... kısmını işaretleyin. Yardım dosyasında arama seçeneği olması için sayfanın altındaki Search Tab kısmını da işaretleyin.
OK butonuna basarak pencere ayarlarını bitirin.





Contents sekmesine geçin. İçerik dosyamızı belirtmediğimiz için bize yeni bir içerik dosyası oluşturmayı veya mevcut bir içerik dosyasını kullanmayı önerir. Siz yeni bir içerik dosyası oluşturu (Create a new contents file) seçin ve OK butonuna basın. Contents dosyasını proje dosyasıyla aynı klasöre kaydedin.




Bundan sonra içerik dosyamıza konu başlığı veya sayfa ekleyebiliriz. Ben ilk başta Insert a page butonuna () basıp ?Program Hakkında...? sayfasını ekledim. Entry Title kısmına ekranda gözükecek ismi girin. Add butonuna basarak projeye eklediğimiz ilgili HTML dosyasını seçin.




Bir konu başlığı eklemek için Insert a Heading butonuna () basın. Entry title kısmına ekranda gözükecek ismi yazın. Eğer isterseniz Advanced kısmına geçip, Image Index bölümünden başlık iconunu değiştirebilirsiniz.
Daha sonra istediğiniz kadar konu başlığı ve sayfa ekleyebilirsiniz




Index sekmesine geçin. Index dosyamız olmadığı için, bize yeni bir index dosyası oluşturmayı veya mevcut bir index dosyasını kullanmayı önerir. Siz yeni bir index dosyası oluşturu (Create a new index file) seçin ve OK butonuna basın. Index dosyasını proje dosyasıyla aynı klasöre kaydedin.



Insert a Keyword butonuna () basın, Entry title kısmına index kısmında gözükmesini istediğiniz etiketi yazın. Add... butonuna tıklayarak bu etikete tıklandığında hangi dosyanın açılacağını seçin ve OK butonuna basın.
Bu şekilde istediğiniz tüm indeksleri ekleyin.




Project kısmına geçip, change Project Options butonuna () basın. Default window kısmında ayarlarını yaptığımız pencereyi seçin. Ben örnekte doviz_window seçtim.



Add/modify windows definitions butonuna () basın. Files sekmesine geçip TOC ve Index kısımlarında hazırlamış olduğumuz dosyaları seçin.





İşte Mutlu SON. Compile HTML File butonuna () basıp HTML yardım (.chm) dosyasını oluşturun.