İlkay İlknur

just a developer...

C# 5.0 Asenkron Programlama Özelliklerini .NET Framework 4.0, Windows Phone 7.5 & 8.0 ve Silverlight 4.0 & 5.0 Platformlarında Kullanın

Blogda bulunan C# 5.0 Asenkron programa ilgili makaleleri okuyanlardan zaman zaman "Acaba bu özellikleri .NET 4.0 veya Windows Phone 7.5 gibi platformlarda kullanabiliyor muyuz ? " gibi mailler alıyorum. Tabi .NET 4.0 kullananlar için projenizi .NET 4.5'e yükseltip kullanın demek verilebilecek en kolay cevap :) Ama tabi projeyi yükseltin demek her zaman söylendiği kadar kolay olamayabiliyor :) Çok kapsamlı çalışmaların, testlerin yapılması gerekebiliyor. Bu nedenle tabi ki insanlar projeyi yükseltmekten ziyade daha kolay yoldan bu özellikleri kullanabilmeyi tercih edebiliyorlar. Windows Phone veya Silverlight tarafına geçtiğimizde ise tabi ki C# 5.0 compilerının yanında compilerın arka planda kullandığı yapılarında bu platformlara taşınmış olması gerekiyor. Neyse çok fazla uzatmayalım ve şöyle Visual Studio 2012 ile .NET Framework 4.0 'da bir Console uygulaması yaratalım ve duruma bir bakalım :)

Şimdi basit bir async metot yazmaya çalışalım ve bakalım nasıl bir durumla karşı karşıya kalacağız.

Çok basit bir şekilde C# 5.0 ile yapabildiğimiz, bir işlemi arka planda çalıştırma olayını .NET Framework 4.0 ile gerçekleştirdik. Şimdi projemizi derleyelim ve bakalım bir sorun ile karşılaşacak mıyız ?

Mesaj aslında oldukça net :) Async ve await keywordlerini C# 5.0 compilerını kullandığımız için kullanabilmekteyiz. Ancak compilerın arka planda kullanacağı tipler haliyle .NET Framework 4.0 içerisinde bulunmuyor ve compiler da haliyle kodu arka planda yeniden yazmak için bu tiplere ihtiyaç duyuyor . Peki compilerın ihtiyacı olan bu tipleri acaba dışarıdan bir library aracılığıyla versek :) kısayoldan sonuca ulaşabilir miyiz ?

Microsoft.Bcl.Async

Microsoft.Bcl.Async nuget paketi Microsoft tarafından geliştirilen ve .NET Framework 4.0, Windows Phone 7.5 / 8.0 ve Silverlight 4.0/5.0 platformları için compilerın arka planda ihtiyaç duyduğu tipleri içerisinde barındıran bir paket. Bunun yanında ilgili platformlarda bulunan bazı tiplere task-based asenkron metotlar da extension metot olarak bu paket sayesinde gelmekte. O zaman bu package'ı projemize ekleyelim ve bakalım nasıl bir değişiklik olacak.

Microsoft.Bcl.Async paketini proye ekledikten sonra projemiz sorunsuz bir şekilde derlendi. Bunun yanında eğer WebClient tipi gibi içerisinde asenkron metotlar bulunan tiplere bakarsak bu tipler içerisinde de task-based asenkron metotların extension metotlar olarak eklendiğini görüyor olacağız.

Gördüğünüz gibi artık C'# 5.0 özelliklerini .NET 4.0, Silverlight ve Windows Phone'da kullanmak oldukça kolay :)  Yapmanız gereken tek şey proje solutionınızı Visual Studio 2012'ye yükseltemek. Evet yanlış okumadınız :) Şu ana kadar yaptıklarımız sadece Visual Studio 2012 içerisinde geçerli. En azından sizi framework upgrade'inden kurtardım ;) Umarım sizler için faydalı bir yazı olmuştur.


Silverlight 4 RC, Expression Blend 4 Beta veee Windows Phone Üzerinde Silverlight Uygulama Geliştirme İmkanı

Merhaba Arkadaşlar,

Uzun süredir heyecanla beklediğim MIX'10 konferansı başladı. Birkaç hafta önceden twitterda MIX'te birçok yeniliğin açıklanacağını belirtmeye çalışmıştım(Ancak maalesef yeniliklerin içeriğini bildiğim halde paylaşma imkanım yoktu Smile). Neyse , az önce MIX'10 konferansında ilk gün keynote oturumu sona erdi ve beklediğim gibi son derece efsanevi hareketlere sahne oldu. İlk olarak duyurulan Silverlight 4 RC oldu. Silverlight ile artık Visual Studio 2010 RC ortamında geliştirme yapabilir durumdayız. Silverlight 4 RC ile beraber tasarım tarafında da Expression Blend 4 Beta duyuruldu ve indirilmeye sunuldu. İlgi çekici bir haber de Expression Blend 4 'e Expression Blend 3'ten yükseltmenin ücretsiz yapılacağıydı. Silverlight 4 RC sürümü ile beraber bir takım yeni özellikler de gelmiş durumda. Ayrıca bir takım değişiklikler de yapılmış durumda. Tüm bu yeniliklere Silverlight Program Manager Tim Heuer'in yazısından ulaşabilirsiniz.  Silverlight 4'ün final sürümüne ise gelecek ay muhtemelen Visual Studio 2010'un çıkış tarihinden sonra ulaşabileceğiz. Dikkat etmemiz gereken noktalardan biri de Silverlight 4 RC ile de go-live lisansının gelmemesi. Tüm yeniliklere aşağıdaki linkleri kullanarak ulaşabilirsiniz.

Silverlight 4 Tools for Visual Studio 2010 RC

Expression Blend 4 Beta

Silverlight Toolkit March 2010 Release 

MIX'10'da açıklanan en efsanevi hareket ise hiç şüphesiz Windows Phone üzerinde Silverlight ile uygulama geliştirme imkanı idi. Windows Phone üzerinde aynı klasik silverlight uygulaması geliştirir gibi aynı kod ve aynı toolları kullanarak uygulamalar geliştirebileceğiz. Visual Studio 2010 ve Expression Blend üzerinde designerlar yardımıyla uygulamayı tasarlayabilir ve yine bu uygulamalar içerisindeki emulatorü kullanarak uygulamayı çalıştırabiliriz. Aynı zamanda uygulamayı elimizdeki Windows Phone'a bağlayarak ta anında çalıştırabilir durumda olacağız. Windows Phone tarafında uygulama geliştirme araçları şuan CTP sürümünde ve biz uygulama geliştiricilerin kullanımına sunulmuş durumda. Windows Phone üzerinde uygulama geliştirme için gereken toollara aşağıdan ulaşabilirsiniz.

Windows Phone Developer Tools CTP

Expression Blend 4 Add-on for Windows Phone Development

Expression Blend 4 Windows Phone SDK

Ne diyelim herkese iyi eğlenceler ve uykusuz geceler Smile



Expression Studio 4 Yayınlandı ve Silverlight 4 Theme Pack

Merhaba Arkadaşlar, Uzun süredir gerek teknik blog yazılarım olsun gerekse nedirtv de yayınlanan görsel dersler olsun biraz uzak kaldım. Bunların nedeni maalesef okulun sonlarına doğru yapmayı sürekli ertelediğim bitirme projem ve finallerim. Bugün itibariyle finallerim biterken geriye sadece 2 ödevim ve bir de tezim kaldı. Onları da verdikten sonra ufak bir tatilin ardından bomba gibi geri döneceğimin müjdesini verebilirim. Smile Ayrıca yakında çok daha güzel haberler veriyor olacağım. Takipte kalın... Neyse hazır biraz boş zaman bulmuşken birkaç yenilikten de bahsetmeden yazıyı bitirmek istemedim. Expression Studio 4 Yayınlandı Microsoft daha önce duyurduğu üzere 7 Haziran'da Expression Studio 4'ü yayınladı. Özellikle Silverlight developerların vazgeçilmezi olan Expression Blend 4'te en sonunda kararlı sürümüne erişmiş oldu. Expression Blend 4 ile beraber birçok yenilik gelmekte. Bunlardan bazıları
  • MVVM Desteği
  • Visual Studio 2010 proje uyumluluğu
  • Windows Phone 7 uygulama geliştirme imkanı
          Not: Bu yazının yazıldığı sırada heniz Expression Blend 4'ün nihai sürümü üzerinde çalışacak olan Windows Phone 7 geliştirme toolları release olmamıştı. Bu nedenle Windows Phone 7 development yapanların şuan için Expression Blend 4 RC'de kalmaları gerekmekte.
  • Gelişmiş Adobe Photoshop Import
  • Sketchflow için mockup kontrol
  • ve daha fazlası...
Tabi ki Expression Studio'nun diğer üyelerinde de pekçok yenilik bulunmakta.
Expression Studio 4'ün en önemli özelliğinde biri de Expression Studio 3 lisansı olanların yazılımlarını ücretsiz olarak Expression Studio 4'e yükseltebilecek olmaları.
Expression Studio 4 ile ilgili herşey için http://www.microsoft.com/expression/
Bu yazımda bahsedeceğim bir diğer özellik ise Silverlight temaları.
Silverlight 4 Theme Pack
Bu haber özellikle benim tasarım konusunda biraz özürlü olanları oldukça sevindirecek bir haber.Laughing Geçtiğimiz günlerde Silverlight uygulamalarımızda kullanabileceğimiz bir theme pack Silverlight Team tarafından yayınlandı. Daha önce Silverlight Toolkit vasıtasıyla birtakım temaları kullanabildiğimiz Silverlight'ta artık bu temaları kullanarakta uygulamalarımızı geliştiriyor olacağız. Ayrıca temalar default olarak navigation destekli gelmekte !! Yayınlanan Theme Pack'te gelen temaları ise şunlar.
GrayScale Theme
Windows Theme
Cosmopolitan Theme
Benim favori temam ise Cosmopolitan Teması. Dikkat ederseniz bu temanın özellikle Windows Phone 7'ın da dizaynında kullanılan Metro kod adlı dizayna ne kadar benzediğini farkedeceksiniz. Wink Tüm temaları buradan indirebilirsiniz. İleride yeni temalar da mutlaka bu paketin içerisine dahil edilecektir. Ayrıca şuan yaşanan aksaklıklardan dolayı paket içerisinde VSIX kurulumları bulunmamakta. Doğrudan proje bazında indirip ilgili assetlere erişebilirsiniz. Ancak sorun giderildikten sonra VSIX kullanarak kurulum yapılabilir hale gelecek ve böylece ilgili tema ile ilgili Visual Studio içerisinde bir proje şablonu bulunacak. Silverlight ile ilgili güzel haberler verdiğim, düşüdüğüm ufak yazımızın sonuna geldik. En kısa zamanda görüşmek üzere,