İçeriğe atla

XAML

XAML (IPA /ˈzæməl/), (Extensible Application Markup Language) genişletilebilir uygulama biçimlendirme dili. Microsoft'un uygulama arayüzlerinin oluşturulmasını sağlayan tanımlama dili. XAML, geliştiricilerin XML kullanarak tüm .NET kullanıcı arayüz elemanlarının (button, textbox … gibi) çizimlerini (İngilizcelayout) kontrol edebilmelerini sağlar. Her XAML etiketi (tag), özellikleri XML attributeleriyle kontrol edilen bir .NET Framework sınıfına birebir karşılık gelir.

Örneğin <Button> elemanını ele alalım. <Button> tag’i doğrudan System.Windows.Controls.Button sınıfına karşılık gelir. Read-only olan özellikler (Properties) XAML tarafından erişilemez; sadece public, get ve set methodları olan özellikler XAML ile erişilerbilirdir. Event’ler ve handler'ler de XAML attributeleri ile belirtilebilir ve event’in gerçekleşmesi sonucu çalışacak kod da code behind tarafına C# ya da tercihe göre VB.NET ile yazılabilir. Nasıl ki ASP.NET’te kodu ister codebehind sayfasına ya da aspx sayfasına yazılıyorsa burada da codebehind ya da XAML dosyasına yazılabilir.

XAML sayfasına kodu gömülürse, çalıştırmak için önce uygulama derlenmeli. Fakat XAML sayfasına kod yazılmadıysa XAML dosyasına çift tıklayarak Vista üzerinde HTML'de olduğu gibi doğrudan görülebilir.

Windows XP’de ise sonucu görebilmek ya da tarayıcıya yükleyebilmek için XAML sayfalarının önce derlenmesi gerekir.

XAML ağaç modeli

Nasıl ki HTML nesneleri DOM ağaçını oluşturmak için pars edilirse, XAML elemanları da ElementTree ağacını oluşturmak için de pars edilir.

XAML’ın nesneye dayalı methodolojiye dayandığını söylenebilir. Bir XAML elemanından türetilen başka bir eleman ebeveyninin özelliklerini alır. XAML’dan tam anlamıyla faydalanabilmek için kalıtımın doğasını anlaşılmalıdır. Custom controller, alt sınıflar oluşturularak kullanıcı arayüzü tasarımında kullanılmak üzere XAML geliştiricilerine sunulabilir.

XAML, WPF tarafında tanımlanan nesnelerin XML görünümü olduğu için, XAML elemenları nesne-tabanlı programlama tekniklerini kullanan geliştiriciler tarafından genişletilebilir.

XAML, bir programlama dili değildir. Uygulamaları çalıştırmak için tasarlanmamıştır. XAML dosyaları uygulamalar için kullanıcı arayüz tanımları içerir. Uygulama mantığı ve event handler’ler, codebehind sayfalarında bulunur.

Uygulama ve sayfa tanımı

Uygulama tanımı (İngilizceapplication definition) kendi dosyası içinde tanımlanır. Ayarlanması gereken iki özelliği vardır: aduzay (İngilizcenamespace) ve başlama URİ'si (İngilizcestartup URI). URI, uygulama çalıştığında yüklenmesi gereken ilk sayfayı belirtir. XAML eleman tanımında ya her eleman için bir aduzaya ya da Avalon aduzayının kök elemanına referans verilmelidir.

Kökün tanımı

Herhangi bir XAML dosyasında tanımlanan ilk eleman kök (İngilizceroot) elemanıdır. Kök elemanı mutlaka tanımlandığı aduzay referansını içermelidir. Kök elemanlar, diğer XAML elemanları içeren konteynerlerdır. Uygulama tanımı için en yaygın kök (root) eleman NavigationWindow’dur. Window elemanıysa oldukça az kullanılmaktadır.

Sayfa tanımı (İngilizcepage definition) için en yaygın kök eleman Panel ve onun alt sınıfı olan DockPanel ve StackPanel elemanları ve de Page elemanıdır.

İki çeşit XAML uygulaması vardır: doğrudan çalışan (İngilizceexpress) ve yerleştirilmiş (İngilizceinstalled) uygulama. Doğrudan çalışan uygulama bir Web tarayıcısında koşar. Yerleştirilmiş uygulamalarsa bilinen geleneksel masaüstü uygulamalarıdır.

Tüm XAML özellikleri (İngilizceattribute) kod tarafında düzenlenebilir. Zaten bu özellikler, CLR sınıf özelliklerinin XML görünümleridir. Başka bir ifâdeyle geleneksel Windows uygulamalarında olduğu gibi bir düğmenin (İngilizcebutton) arka plan rengini, yüksekliğini ya da posizyonunu kod içinden de kolayca değiştirmeyi sağlar.

XAML dosyalarında da <x:Code> elemanını belirterek kod barındırılabilir. Yalnız tüm kod <CDATA[...]]> elemanı (tag) içine yazılmalıdır. <CDATA[...]]> elemanı, derleyici bu eleman içindeki kod satırlarını yorumlamasını engeller.

Örnek

<x:Code>
  <![CDATA 
     void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs)
        {
          MyButton.Width = 100 ;
          MyButton.Content = "Thank you! ";
        }
   ]]> 
</x:Code>

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Windows NT, Microsoft tarafından geliştirilen ve ilk sürümü 27 Temmuz 1993'te yayımlanan bir işletim sistemi ailesidir. İşlemciden bağımsız, çoklu işlem ve çoklu kullanıcı desteği sunan bir işletim sistemidir.

<span class="mw-page-title-main">XML</span> W3Cnin veri kodlamak için kullandığı işaretleme dili

XML, hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmaya yarayan bir işaretleme dilidir. W3C tarafından tanımlanmış bir standarttır. Bu özelliği ile veri saklamanın yanında farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür. SGML'in basitleştirilmiş bir alt kümesidir.

<span class="mw-page-title-main">Windows Vista</span> 2007de piyasaya sürülen Windows sürümü

Windows Vista, kişisel bilgisayarlar için geliştirilen Microsoft Windows işletim sistemleri ailesinin sürüm olarak altıncı üyesidir. 22 Temmuz 2005'te gerçek adı duyurulmadan önce Longhorn kod adıyla tanınıyordu. Windows Vista, 30 Ocak 2007'de dünya çapında piyasaya sürülmüştür. Microsoft Türkiye, 24 Ocak 2007 tarihindeki tanıtımıyla Vista'nın resmî lansmanını yapan ilk Microsoft şubesi olmuştur. Windows Vista eski sürümle oranla birçok yeni özellik ve değişikliğe sahiptir. Bu değişim geliştirilmiş grafiksel kullanıcı arayüzü, görsel stil, yeniden tasarlanmış arama fonksiyonları, multimedya araçları, yeniden tasarlanmış ağ iletişimi, görüntü ve yazıcı gibi çeşitli fonksiyonları kapsamaktadır.

Tasarım desenleri, tasarım kalıpları, tasarım örüntüleri veya tasarım şablonları, çok rastlanan, birbirine benzer sorunları çözmek için geliştirilmiş ve işlerliği kanıtlanmış genel çözüm önerileridir.

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

Kaynak Tanımlama Çerçevesi, metadata model olarak tasarlanmış bir World Wide Web Consortium (W3C) spesifikasyonu olmasına rağmen, çeşitli sözdizim biçemlerinde bilgi modellemek için kullanılan genel bir metoda dönüşmüştür.

DTD, belge sözdizimi kurallarını tanımlayan işaretleme kuralları kümesidir.

<span class="mw-page-title-main">Code::Blocks</span>

Code::Blocks, özgür açık kaynak kodlu bir C++ tümleşik geliştirme ortamıdır. wxWidgets tabanlı tamamen özelleştirilebilir arabirimiyle, GNU/Linux, Microsoft Windows, MacOS platformlarında sorunsuzca kullanılabilmektedir. Gelişmiş plugin desteğiyle kod yazımı esnasında ihtiyaç duyabileceğiniz birçok yardımcı fonksiyon sunar ve kod üzerinde tam bir hakimiyet kurmanıza olanak tanır.


Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

<span class="mw-page-title-main">Qt (çalışma alanı)</span>

Qt, birden çok platformu destekleyen bir grafiksel kullanıcı arayüzü geliştirme araç takımıdır. Genellikle GUI programları geliştirmek için kullanılsa da gelişmiş kütüphanesi GUI bileşenlerinin dışında birçok araç içermektedir. Qt, en çok KDE masaüstü ortamında, Opera ağ tarayıcısında ve Skype anlık mesajlaşma programlarında kullanılmasıyla bilinir.

<span class="mw-page-title-main">Takvim (Windows)</span>

Windows Takvim Microsoft tarafından yapılan kişisel bir takvim uygulamasıdır. Microsoft Exchange Server, Outlook.com, Apple'ın iCloud takvim hizmeti ve Google Takvim'i kullanarak takvimin senkronizasyonunu sunar. Popüler iCalendar biçimini destekler. Microsoft, Windows 3.1'e bir Takvim uygulaması ekledi; Windows Vista'ya kadar bir sonraki Windows sürümüne geçemedi. Takvim, Windows Vista'nın Beta 2 tarafından oluşturuldu.

ReSharper [ˈɹiːˌʃɑːɹpɚ] yahut R# JetBrains tarafından Microsoft'un geliştirme ortamı Visual Studio için yayımlanan bir uzantısıdır. Şu anda desteklenen ReSharper sürümleri Visual Studio 2010, 2012, 2013, 2015 ve güncel yayın öncesi sürüm "15"'tir.

<span class="mw-page-title-main">Interface Builder (uygulama)</span>

Interface Builder Apple'nın Mac OS X işletim sistemi için bir yazılım geliştirme uygulamasıdır. Bu, Xcode'nin araç setinin bir parçasıdır. Arayüz Oluşturucu, Cocoa API ve Carbon API geliştiricilerine grafik kullanıcı arayüzü kullanarak uygulamalar için arayüzler oluşturmasına olanak tanır.

Windows Arama Windows XP ve Windows Server 2003'te daha önce Windows Masaüstü Araması (WDS) olarak bilinirdi, Microsoft tarafından oluşturulan dizine eklenmiş bir masaüstü arama platformudur. İlk kez 2006-da Windows Vista-da bulundu.

Aynı kök politikası web uygulamaları güvenlik modelinde önemli bir unsurdur. Bu politikaya göre, bir web tarayıcısı, bir web sayfasında yer alan betiklerin ikinci bir web sayfası üzerindeki veriye erişimine sadece bu iki sayfa aynı köke sahipse izin vermektedir. Bir kök, URI şeması, hostname ve port numarasının bir kombinasyonu olarak tanımlanmaktadır. Bu politika, bir sayfada bulunan kötücül betiğin başka bir sayfada bulunan hassas verilere erişimini, o sayfanın Belge Nesnesi Modeli aracılığıyla engellemektedir.

<span class="mw-page-title-main">Geri Bildirim Merkezi</span>

Geri Bildirim Merkezi , (İngilizce:Feedback Hub) Microsoft tarafından geliştirilen ve 2016 Yıldönümü Güncellemesi'nden itibaren Windows 10 ve Windows 10 Mobile işletim sisteminde bulunan bir iletişim forumudur. Öneriler ve sorunlar gönderebilmek için bir geribildirim panosu, yeni Windows ve Geliştirici İçeriği Önizlemeleri ile ilgili yapılan duyurular, yeni iş akışlarını test etmek için "görevler" ve Geri bildirim Merkezi'ndeki başarıları izlemek için bir kontrol paneli bulunmaktadır. Geri bildirim, daha önceki iki uygulamanın birleşmesinden, Windows Feedback ve Insider Hub'dan oluşturuldu. Çoğunlukla sunucu tarafındaki değişikliklerle güncellenir, ancak bazen Windows Mağaza aracılığıyla güncelleme alır ve tam işlevsellik için İnternet bağlantısı gerektirir.

Cocoa, masaüstü işletim sistemi macOS için Apple'ın yerel nesne yönelimli programlama ve uygulama programlama arayüzüdür (API).

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

Bilgi işlemde, dosya kısayolu bir kullanıcı arayüzünde tutamaçtır. Kullanıcının kısayolun bulunduğu yerden farklı bir dizini, ayrıca klasörde bulunan bir dosya veya kaynağı bulmasına olanak tanır.