27 Nisan 2016 Çarşamba

XAML Nedir ? (XAML’in açılımı Extensible Application Markup Language şeklinde olup “zammel” diye telaffuz edilir!)

                                                                                    XAML NEDİR
XAML nesnelerin ve özelliklerinin tanımlandığı XML tabanlı bir dildir. XAML yazım kuralları daha çok WPF (Windows Presentation Foundation) için arayüz (UI) tanımlamaya yönelik olduğundan program kodundan ayrı olarak bulunur.
Bununla beraber hali hazırda XAML sadece Windows platformalarında kullanımda olup WPF/E (Windows Presentation Foundation/Everywhere) girişimi XAML diğer platform ve aletlerde de kullanılabilinir hale getirecektir.
XAML Hakkında Bilinmesi Gerekenler
Bazen konuşurken veya bir şeyleri ifade ederken XAML ile WPF birbirlerine karıştırılıp, birbirlerinin yerlerine kullanılabilirler ama bunlar aynı değillerdir. XAML, XML tabanlı bir dildir. WPF ise grafik API (Application Protocol Interface) dir.
XAML, SVG(Scalable Vector Graphics) farklıdır. W3C’in tanımlamasına göre SVG, “2 boyutlu grafikler için bir platformdur ve 2 kısımdan oluşur: bir XML tabanlı dosya ve grafik uygulamaları için bir programlama API’sinden oluşur” Bununla beraber XAML ise XML tabanlı bir bir dosyadır ama API değildir. XAML ayrıca 3D ve kontrollerini de destekler ki bunu SVG yapamaz.
XAML en büyük avantajlarından biriside dizayn ve geliştirmeyi (kod yazımı) birbirinden ayırmasıdır ki bu yazılım ve grafik arayüzü geliştiricilerinin işbirliğini arttırmasına yardım etmesidir. Programın arayüzünün geliştirilmesi XAML olduğundan programın arayüzü, programın kodlama ayrıdır ve birbirlerinin gelişim süreçlerine engel olmazlar.
XAML dokümanlarının uzantıları .xaml şeklindedir.

XML (Extensible Markup Language) Nedir ?

Birbirinden Farklı tipteki verileri (resim,metin vb.) asıl formatlarında bir arada tutabilen XML, bilgiyle hızlı, kolay ve ortamdan bağımsız olarak erişebilme imkanı sunmaktadır. Eticaret sitelerinde xml' in kullanım amacı genellikle ürün, müşteri kaydı, sipariş, resim transfer etmektedir. Eticaret siteleri arasındaki bu entegrasyonlar genellikle xml formatındaki dosyalar üzerinden gerçekleştirilirler.

Bağımsız bir kuruluş olan W3C (World Wide Web Consortium) organizasyonu tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan XML (Extensible Markup Language); kişilerin ya da kurumların kendi sistemlerine, kendi yapılarına göre standardize edebilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir meta programlama dilidir.

XML verileri standart bir şekilde yapılarını bozmadan tanımladığından internet üzerinde siteler arasındaki veri alış verişini kolaylaştırmaktadır. Buna göre XML; hem bir teknolojidir hemde bir programlama dilidir.

Expression Blend ve WPF

Expression Blend, .Net 3.0 teknolojisini kullanarak yapabileceğimiz uygulamaları XAML projelerinin içerisine entegre ederek oluşturabileceğimiz editör olarak karşımıza çıkıyor. XAML ve .Net 3.0 ile aramıza katılan WPF ile vista Aero tarzı tasarımlar yapmamıza olanak tanıyor. Oluşturduğumuz tasarımların ve projelerin sonucunda karşımıza çıkacak sonuçlar karşısında kendi kendinize bunu benmi yaptım demeye başlıyorsunuz. Sonra ise yaptığınız projenin büyüsüne kapılarak kendinizi .Net 3.0 ile XAML' in gücüne ve hayal gücünüze bırakmış olarak buluyorsunuz.

Expression Blend' in Expression Studio içeresinde yer almasının sebebi nedir diye biraz araştırdığımızda Expression Studio' nun tamamiyle aslında bir bütün olduğunu başka hiç bir yazılıma gerek kalmadan bütün isteklerimizi karşılayabilmesi sonucuna ulaşabiliyoruz.

Expression Blend' i Expression Studio ile bütünlüğünü sağlayan etkenler ise Expression Desing ile oluşturduğumuz tasarımları XAML formatında kaydederek Blend içerisinde kusursuz kullanabilmemiz olması Zaten çalışma ortamı incelediği zaman Expression Desing ve Expression Media ile aynı olduğu gözden kaçmamaktadır.

Eğer Expression Blend ile temel tema olarak gelen Koyu siyahı beğenmemeniz durumunda Expression Light adı verilen gri ye yakın bir rengi olan temayı seçebilirsiniz.Ulaşabilmeniz için Tool-->Options...-->Workspace-->Theme yolunu takip ederek değiştirebilirsiniz.

26 Nisan 2016 Salı

DirectX Nedir ? Ne İşe Yarar?

DirectX, Microsoft' un oyunlar ve çoklu ortam yazılımları için geliştirdiği yazılım programlama Arayüzü(API)'dür. Aslında bir çok API' den oluştuğunu söylesek yanılmayız. DAha iyi bir oyun deneyimi, görsel ve ses deneyimi vermesinin dışında üstün uyumluluk sağlayan API' nin önemi tartışılmaz bir gerçek. Aslında  Microsoft DirectX'i Windows 95 döneminde oyun programcılarını kendine yani Windows'a çekmek için geliştirmiştir. Ayrıca Microsoft'un Xbox konsolunda DirectX kullanılmaktadır. Firma DirectX Özelliğini popüler hale getirmek ve var olan kullanıcıları konsola yöneltebilmek için konsol adına "X" takısını eklemiştir.

Genel olarak baktığımızda DirectX bir tamamlayıcı görev, üstlenmektedir. Yani bilgisayarınızın donanımı ve uygulama arasındaki bağlantıyı sağlar. DirectX'in gelişimi sürekli devam etmektedir ve genel olarark ekran kartlarının gelişimi ile paralel olarak takip eder. Oyunlarda ki Gerçekçiliğe katkı sağlayan yazılım sayesinde bugün oyunlarda çevre ile etkileşime geçebilmemizin tabanı sağlanmıştır. DirectX'in rakibi var mı derseniz elbette var. Bunlardan en önemlisi AMD'nin geliştirdiği Vulkan'dır. Vulkan hakkında da ilerleyen zamanlarda yazımız olacaktır. Dilerseniz DirectX'in içerdiği bileşenlere geçelim.

DirectInput; Fare,Klavye,joystick gibi aygıtların giriş,çıkış ve verilerini yöneten arabirimdir.

DirectSound; İki ve üç boyutlu sesler için kullanılır. Ayrıca ses kartlarının arayüzünde de kullanılır.

DirectMusic; Etkileşimli ses bileşeni diyebiliriz. Windows altında aklınıza gelen ses ile ilgili her şeyle ilgilidir.

Direct3D; En önemli API'lerden biridir. Ekrana 2 veya 3 boyutlu görüntülerin aktarılmasını sağlar. ATI ve NVIDIA'nın katıkıları ile geliştirilmiştir.Alternatifi OpenGL'dir.

DirectPlay; Modem, Internet ve ağ üzerinde ki oyun bağlantılarını sağlar. Gerek oyunlar içindeki sesli sohbet gerekse oyun verilerinin kaybolmamasını sağlar. TCP/IP, IPX, Bluetooth ve doğrudan modem bağlantılarını destekler.

DirectDraw; Video bağdaştırıcısının özelliklerine hızlı bağlantı sağlar. API, render ve grafik uygulamalarını hızlandırır tam ekran pencere ve gömülü ekranların çalışmasını sağlar. 2D API olup, 3D işlerde verimsizdir ki zaten Direct3D o açığı çözüyor.

DirectShow; API sayesinde bilgisayarda, internette yer alan çoklu ortam  dosyalarını yakalama ve oynatma imkanı sağlar. ASF, AVI, DV, MPEG, MP3, WMA, WMV, WAV gibi çeşitli ses ve video biçimlerini destekler.

                                                  DİRECTX SÜRÜMLERİ


Criag Eisler, Alex St.John ve Eric Engstrum tarafından geliştirilen DirectX (Bu bilgiyi başta vermek gerekirdi) ilk sürümüne 1994‘te kavuştu. Ardından 2, 3, 4 sürümleri geldi ancak 4.sürüm piyasaya sürülmedi ve aynı yıl 5. sürüm piyasaya sürüldü. Ancak DirectX 5 ile birlikte Microsoft beklediği ilgiye ulaşabildi.

Ardından DxDiag destekli DirectX 6 (1998) geldi. One izleyen 7 ve 8 sürümler optimizasyona önem verirken gelişmeyi DirectX 9 getirdi. 2002 yılında çıkıp 2004 yılına kadar farklı sürümlere kavuştu ve 2006 yani DirectX 10’a kadar yaşam sürdü. Ardından Windows Vista ve DirectX 10,  DirectSound ve DirectInpu API’leri ile birlikte geldi ve grafik tarafında iyileştirmeler yaptı.

Hemen ardından Windows 7 ile birlikte halen kullanımda olan DirectX 11 yenilikler ile tanıtıldı. DX11 Tessellation özelliği ile çok daha fazla poligon seviyesine ulaşmıştır ve ekranda görünen detay seviyesi üst seviyeye çıkmıştır.

Tesellation Nedir ?

Şimdilerde Windows 10 ile gelecek olan DirectX 12 konuşuluyor. DX12 ile birlikte inanılmaz bir poligon artışı yaşanacak ve PC donanımında ki yük azaltılacak. Bununla birlikte donanımın gücü çok daha iyi kullanılacak. Öyle ki %40 civarında ki bir performans artışından bahsediyoruz. Tabi ekran kartınız DX12 sürümünü destekliyorsa.

DirectX 12 Destekli Ekran Kartları

Yazımızın sonuna gelmiş bulunmaktayız. Size geçen hafta kısa bir yazı yazacağımı söylemiştim ancak yine uzun bir yazı oldu.  Eğer aklınıza takılan bir soru veya merak ettiğiniz bir bilgi var ise yorum olarak belirtin ve adınızın geçtiği yazımızda bilgiyi Dijitaller ailesine aktaralım. Bir sonraki yazımıza kadar esen kalın.