Silverlight | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar silverlight

Windows Phone 7 (WP7) ile programlamaya başlangıç

24 March 2012 2 yorum

Bu yazı dizisi ile birlikte Windows Phone 7 (WP7) uygulama geliştirme konusunu inceliyor olacağız.

WP7 uygulamalarını Visual Studio 2010, Expression Blend, Silverlight ve XAML gibi mevcut Microsoft araçları üzerine inşa ediyoruz.

WP7, uygulama geliştirmemiz için temel olarak iki framework sağlar;

  • Silverlight Framework
    Bu framework ile olay tabanlı (XAML sayesinde) uygulamalar geliştirebiliriz
  • XNA Games Framework
    Bu framework sayesinde, zengin 2D ve 3D oyunlar geliştirebiliriz

Windows Phone 7 Uygulama Geliştirme Gereksinimleri

Visual Studio 2010 kurulu bilgisayarımıza Windows Phone SDK 7.1 indirip kurmamız gerekiyor.

Windows Phone SDK 7.1 kurulumu sonrasında bilgisayarımıza aşağıdaki araçlar kurulmuş olacak;

  • Microsoft Visual Studio 2010 Express for Windows Phone
  • Windows Phone Emulator
  • Windows Phone SDK 7.1 Assemblies
  • Silverlight 4 SDK and DRT
  • Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
  • Microsoft Expression Blend SDK for Windows Phone 7
  • Microsoft Expression Blend SDK for Windows Phone OS 7.1
  • WCF Data Services Client for Window Phone
  • Microsoft Advertising SDK for Windows Phone

Ayrıca Visual Studio 2010 kurulumumuza, New Project dialog penceresinden erişebileceğimiz yeni proje şablonları da eklenmiş oluyor.

Not : App Hub – Developer Resources sayfasından, hem ihtiyacımız olacak araçlara, hem de faydalı dokümanlara ulaşabiliriz.

Windows Phone 7 Mimarisi

MSDN‘de yer alan Application Platform Overview for Windows Phone makalesine göre, mimari şu şekilde;

WP7 mimarisinin 4 temel bileşeni;

  • Runtimes
    Silverlight ve XNA framework, optimize edilmiş uygulama oluşturmak için geliştiriciler için mükemmel bir ortam sağlar
  • Araçlar
    Visual Studio 2010 ve Expression Blend araçları kullanıcıya zengin uygulamalar tasarlamak ve geliştirmek için geliştiricilere esnek bir ortam sağlar
  • Cloud Services
    Windows ve SQL Azure, Notification Services, Location Services ve diğer 3. parti servis desteği ile geliştiricilere esnek bir geliştirme ortamı sağlar
  • Portal Services
    WP7 Market Place geliştiricilere, uygulamalarını yükleme ve sertifika yönetimi imkanı sağlar

Silverlight ve Windows Phone 7
Silverlight, XAML (Extensible Application Markup Language) dili ile uygulamalar ve basit 2D oyunlar geliştirmek için kullanılır. Geliştiriciler kolaylıkla Visual Studio veya Microsoft Blend gibi araçlar sayesinde XAML kodları üretebilirler.

XNA ve Windows Phone 7
XNA, temelde zengin 2D ve 3D oyunlar geliştirmek için kullanılır.

Market Place Sertifikasyon Süreci

Windows Phone 7 için geliştirdiğimiz uygulamaları, Market Place‘e göndermeden önce kontrol etmemiz gereken, WP7‘ye özgü maddeler vardır.

Bu maddelere MSDN‘de yeralan Application Certification Requirements for Windows Phone sayfasından ulaşabiliriz.

Donanım

Şu anda piyasada bulunan Windows Phone cihazları tek bir ekran çözünürlüğüne sahiptir (480 x 800). Yakın gelecekte çıkacak yeni versiyonların birden fazla ekran çözünürlüğünü desteklemesi bekleniyor.

Windows Phone cihazların ortak yönlerinden biri, ön yüzlerinde aynı butonların bulunmasıdır;


Geri Butonu sayesinde uygulamalar ekranlar arası geri dönüş işlevlerini sağlayabilirler. İnternet tarayıcılarda bulunan Geri butonu ile aynı işleve sahiptir. Uygulamanın açılış ekranında kullanılması durumunda, ilgili uygulamanın kapatılmasına sebep olur


Windows Butonu kullanıcının telefonun başlangıç ekranına dönmesini sağlar


Arama Butonu sayesinde kullanıcılar telefonun arama özelliğini çağırabilirler

Sensörler
Windows Phone 7 telefonlarda geliştiriciler için en çok öneme sahip sensörler;

  • WI-FI : telefonların internete bağlanmak için kullandıkları bağlantı noktalarından biridir. WP7 telefonlarda Internet Explorer tarayıcısı gelmektedir
  • Camera : WP7 telefonlar en az 5MP kamera ve flaş desteğine sahiptir. Uygulamalar kamerayı veri giriş aracı olarak kullanabilirler
  • Accelerometer : İvmeölçer sayesinde uygulamalar telefonun 3 koordinat düzlemine göre (X-Y-Z) tutuluş bilgisini öğrenebilir
  • GPS : GPS sayesinde uygulamalar, telefonun dünya üzerindeki konum bilgisini alabilirler

Visual Studio 2010 ile New Project dialog penceresini açalım, Installed Templates kısmında yer alan proje şablon gruplarından Silverlight for Windows Phone‘u seçelim.

Sağ tarafa gelen proje şablonlarından Windows Phone Application‘ı seçip, projeye bir isim verelim ve OK butonuna tıklayarak projenin oluşturulmasını sağlayalım.

Eğer tüm güncellemeleri yaptıysak, proje oluşturulması sırasında Windows Phone 7 ve Windows Phone 7.1 (Mango) arasında seçim yapabileceğimiz bir dialog kutusu görmemiz lazım

Proje oluşturulduktan sonra çalıştıracak olursak eğer, ilk olarak Windows Phone Emulator yüklenecek, ardından ilk uygulamamız ekranda belirecektir.

Windows 8 Metro Style ilk uygulamamız

07 October 2011 1 yorum

Windows 8 Programlama makalelerinde ilk uygulamamızı geliştirmeye başlıyoruz.

Windows 8 Başlangıç Ekranımızda (Start Screen) Visual Studio 2011 üzerine tıklayarak, yeni bir Visual Studio 2011 başlatıyoruz.

File / New / Project menüsünden Windows Metro Style kategorisindeki Application proje şablonunu seçiyoruz ve MetroStyleIlkUygulama ismini vererek projemizi oluşturuyoruz.

Proje oluşturulduğunda Visual Studio 2011 varsayılan olarak MainPage.xaml dosyasını açıyor. Uygulamamızın başlangıç ekranı varsayılan olarak MainPage.xaml dosyasıdır.

Grid elementi içerisine bir button, bir de label eklemek için aşağıdaki satırları yazıyoruz;

<Button Content="Mesaj Göster" FontSize="28" Width="250" Height="80" HorizontalAlignment="Center" />
<TextBlock x:Name="MessageText" FontSize="48" Foreground="White" />

WPF ve Silverlight‘ta Label nesnesi oluşturmak için TextBlock nesnesi kullanmamız gerekiyor. Bu elementler ile ekranımıza Mesaj Göster metinli bir button ve metin içermediği için ekranda gözükmeyen bir textblock nesnesi koymuş olduk.

Fakat bu kontrolleri ekranda ortalayabilmek için bir StackPanel içerisine koymamız gerekiyor;

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
	<Button Content="Mesaj Göster" FontSize="28" Width="250" Height="80" HorizontalAlignment="Center" />
	<TextBlock x:Name="MessageText" FontSize="48" Foreground="White" />
</StackPanel>

StackPanel ve Button elemanlarına verdiğimiz Alignment özellikleri sayesinde elemanları ekranda ortalıyoruz.

Son olarak Button element’imize

Click="Button_Click"

özelliğini ekleyelim. Böylece butona tıklanma event‘i ile tetiklenen bir method‘umuz oluyor.

MainPage.xaml.cs dosyasına;

private void Button_Click(object sender, RoutedEventArgs e)
{
	MessageText.Text = "Windows 8 üzerinde çalışan\r\nilk uygulamamız!!";
}

method’unu ekliyoruz.

Son olarak F5 tuşuna basarak projeyi test amaçlı çalıştırıyoruz. Uygulama açılışında ilk önce bekleme ekranı ekrana geliyor.

Fakat çok kısa süre içerisinde ilk ekranımız açılıyor.

Butona tıkladığımızda TextBlock metin ile doluyor.

Kodların tamamı;

<UserControl x:Class="MetroStyleIlkUygulama.MainPage"
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	mc:Ignorable="d"
	d:DesignHeight="768" d:DesignWidth="1366">

<Grid x:Name="LayoutRoot" Background="#FF0C0C0C">
	<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
		<Button Content="Mesaj Göster" FontSize="28" Width="250" Height="80" HorizontalAlignment="Center" Click="Button_Click" />
		<TextBlock x:Name="MessageText" FontSize="48" Foreground="White" />
	</StackPanel>
</Grid>

</UserControl>

2011 Build Konferansı Birinci Gün Raporu

17 September 2011 Yorum yapılmamış

Blog’umun 200. yazısını beni kırmayarak sevgili Daron Yöndem yazdı. Aslında tek bir yazı yazacaktı, fakat Microsoft‘un Build Konferans‘ına katıldığı için bir yazı serisine dönüştü. Hergün izlenimlerini sizlerle paylaşıyor olacağım. Yazıların orjinallerini Daron Yöndem‘in kendi blog’undan da takip edebilirsiniz. Ayrıca twitter‘dan da takip etmenizi öneririm; @daronyondem

Söz Daron’da… Devamını oku…

Silverlight 4 TextTrimming özelliği

25 November 2009 Yorum yapılmamış

Silverlight 3 ve öncesi versiyonlarda, yazı alanına sığmayan metinleri, üç nokta ekleyerek trim etmek için, kendi kontrolümüzü yazmamız gerekiyordu.

Mesela, elimizde şöyle uzun bir yazı olsun;

Silverlight helps you create rich web applications that run on Mac OS, Windows, and Linux. Welcome to a new level of engaging, rich, safe, secure, and scalable cross-platform experience.

Bu yazıyı, 250px’lik bir metin alanında göstermemiz lazım, ama sığmayan kısımları yanyana üç nokta ile göstermemiz gerekiyor.

Silverlight helps you create rich web applications …

Silverlight 4 versiyonundan önce, bu isteğimizi yerine getirmek için, kendi TextBlock kontrolümüzü yazmamız gerekirdi.

Silverlight 4 versiyonla birlikte ise, TextBlock kontrolünün TextTrimming=”WordEllipsis” özelliğini kullanabiliyoruz.

Örnek kod:

<TextBlock FontSize="16" TextTrimming="WordEllipsis" Width="250"
Text="Silverlight helps you create rich web applications that run on Mac OS, Windows, and Linux. Welcome to a new level of engaging, rich, safe, secure, and scalable cross-platform experience." />

PDC 2009’da Silverlight 4 Beta yayınlandı

24 November 2009 Yorum yapılmamış

18 Kasım 2009 tarihinde, Microsoft PDC’09 (Microsoft Proffessional Developers Conference 2009) konferansında konuşmacı Scott Gutherie, Silverlight 4 Beta’nın yayınlandığını duyurdu.

Resmi sitesi silverlight.net‘te yer alan şu sayfadan ayrıntılı bilgiye ulaşabilirsiniz.

Channel9’da yeralan video‘dan yenilik olarak nelerin geleceğini izleyebilirsiniz.

Yeniliklerden kısaca bahsetmek gerekirse;

  • Yazdırma ile ilgili yenilikler
  • Zengin Metin Alanı kontrolünün eklenmesi
  • Datagrid üzerinde kolonlara otomatik genişlik verilebilmesi ve Kopyalama desteği
  • Fare tekerlerine gelen destek
  • Sağ tuş desteği
  • Windows’un panosuna erişim imkanı
  • Browser içerisindeki silverlight nesnesinin sürükle-bırak tekniğinde bırakma noktası olarak belirlenebilmesi
  • Webcamerası ve Mikrofon desteği
  • PNG dosya türünün tüm formatlarına tam destek
  • Out-Of-Browser moduna daha çok destek
  • WebBrowser kontrolü
  • İstemci bilgisayarın dosya sistemine erişim yeteneği
  • Google Chrome desteği
  • Multi-touch desteği

Listenin tamamına ve açıklamalarına buradan ulaşabilirsiniz.

Silverlight ekibi 4. versiyonun betasını yayınlarken, Expression Blend ekibi de boş durmamış ve Silverlight 4 çıktı üretebilen Expression Blend versiyonunun beta’sını yayınlamış.

Microsoft Download’da yer alan şu sayfadan Expression Blend Preview for .Net 4 versiyonunu indirebilirsiniz.