İlkay İlknur

just a developer...

Portable Class Library mi ? Universal App Shared Projects mi ?

Microsoft'un son zamanlarda cross-platform uygulama ve kütüphane geliştirme tarafına yaptığı yatırım oldukça fazla. Gerek Xamarin desteğiyle beraber IOS ve Android tarafında olsun gerekse Windows Store ve Windows Phone tarafında yarattığı teknolojilerle olsun tek bir kod yazarak bu kodun farklı platformlarda çalışan uygulamalar arasında paylaştırılması şu anda bir şekilde sağlanmakta. Aslında bakarsanız bu yöntemlerin hiçbiri tam anlamda süper çözümler olmasa da gerektiği noktalarda doğru şekilde kullanıldığında kod paylaşımı konusunda çektiğimiz acıları oldukça azaltmakta. Peki hangisini ne zaman kullanmalıyız ?

Portable Class Libraries

Portable class libraryler aslında uzun zamandır hayatımızda bulunan ve farklı platformlar üzerinde çalışacak kod yazmak istediğimizde kullandığımız yapılardan ilk akla geleni.

PortableSelect

Portable class librarylerin kısıtlarında bir tanesi de içerisinde platform spesifik kod yazmanın mümkün olmaması. Bu yüzden de portable class librarylerde sadece seçtiğiniz platformlar içerisinde ortak olarak kullanılan kütüphanelere erişiminiz var.

 PortableIntersection

Yukarıda gördüğünüz gibi hangi platformları hedef olarak seçerseniz o platformların kesişiminde bulunan kütüphaneleri kullanabiliyorsunuz.

Eğer kütüphaneniz içerisinde platforma özel bir kod çalıştırmak isterseniz o kodun dışarıdan sizin kodunuz içerisine verilmesini sağlamak zorundasınız. Yani dependency injection vb.. yapıları kullanmak zorundasınız. Örneğin, bir ekran açarak dosya seçme işlemi yaptırmak isterseniz şu şekilde bir çözüm geliştirmeniz gerek.

public class MyLibrary
{
    public async Task Foo(IFileProvider provider)
    {
        var file = await provider.SelectFileAsync(); 
        // Dosya uzerinde islemler
    }
}
 
public interface IFileProvider
{
    Task<string> SelectFileAsync();
}
Portable class libraryi yazdıktan sonra bu kütüphaneyi kullanan Windows 8 uygulaması da portable classın belirlediği interface'te bir file provider yaratacak ve bu providerı portable class library içerisine Foo metodunu çağırırken parametre olarak geçecek.
public class WindowsFileProvider : IFileProvider
{
    public async System.Threading.Tasks.Task<string> SelectFileAsync()
    {
        FileOpenPicker picker = new FileOpenPicker();
        var file = await picker.PickSingleFileAsync();
        return file.Path;
    }
}
 
public class MyApp
{
    WindowsFileProvider fileProvider = new WindowsFileProvider();
 
    public async Task ExecuteAsync()
    {
        MyLibrary library = new MyLibrary();
        await library.Foo(fileProvider);
    }
}

Şimdi gelelim shared projects tarafına. Bakalım o tarafta işler nasıl yürüyor.

Universal App Shared Projects

Visual Studio 2013 Update 2 ile beraber gelen Universal App konsepti ve Shared projectler aslında portable class librarylerde bulunan bazı sıkıntıları çözüyorlar.

Aslında öncelikli olarak belirtmem lazım ki portable class library ile shared projectler tamamen ayrı konseptler. Shared projectler aslında universal app içerisinde bulunan ve universal app'in farklı platformlarda çalışacak uygulamaları arasında paylaştırılacak olan assetleri ve kodları bulunduran kısım.

Shared projectleri aslında biraz daha açarsak temel anlamda Visual Studio içerisinde uzun zamandan beri bulunan file link kavramına benziyorlar. Aslında daha yukarı çıkarak bakarsak file link yapısının biraz daha gelişmiş, derlenmiş toparlanmış hali. Yani siz bir dosyayı birden fazla projede de kullanılacak şekilde saklıyorsunuz. Ancak dosyanın fiziksel olarak tek bir kopyası tutuluyor.

Şimdi gelelim shared code içerisinde platform spesifik kod yazma kısmına. Peki biz yukarıdaki dosya açma işlemini shared code içerisinde yapmak isteseydik nasıl yapacaktık ?

Shared project içerisinde platform spesifik kod yazmak istediğimizde #if directivelerini kullanarak olarak platform spesifik kodları yazabiliyoruz. Örneğin,

public class MyLib
{
    public async Task Foo()
    {
        string filePath = String.Empty;
#if WINDOWS_APP
        FileOpenPicker picker = new FileOpenPicker();
        var file = await picker.PickSingleFileAsync();
        filePath = file.Path;
#endif
#if WINDOWS_PHONE_APP
        //Windows Phone spesfik kodlar
#endif
 
        // Dosya uzerinde ortak islemler
    }
}

Gördüğünüz gibi platform spesifik kodları if directiveleri içerisinde yazdık. Yani bizim kodumuz Windows Store App için derlendiğine #if WINDOWS_APP directive içerisinde olan kodlar kodumuzun içerisinde olacak. Aynı şekilde Windows Phone için derlediğinde de #if WINDOWS_PHONE_APP directive'i içerisinde bulunan kodlar yine source kod içerisinde olacak.

Ancak gördüğünüz gibi uygulamanız büyükdükçe #if directive 'leriniz artacak ve kodunuzun yönetimi de oldukça zorlaşacaktır. Şimdi isterseniz ortalığı toparlayalım ve bu iki çözümünde avantajlarına ve dezavantajlarına kısaca bir bakalım.

Portable Class Libraries vs Universal App Shared Projects

Portable class librarylere baktığımızda yapılarının oldukça basit olduğunu görüyoruz. Yani sadece desteklediğiniz platformlardaki kesişen kütüphaneleri kullanabiliyorsunuz ve ötesi yok. Bu kadar basit. Elinizdeki imkanlarla ilerlemek zorundasınız. Bu da aslında bir anlamda size basitlik sağlıyor. Yani kodunuz içerisinde platform spesifik kod yazmıyorsunuz. Ancak platform spesifik kod yazmak istediğinizde de abstraction yaparak dependency injection, IoC container kullanmanız gerekiyor. Bu nedenle portable class libraryler birden fazla platformu destekleyen algoritmalar veya kütüphaneler(SDK) için ideal ortam.

Shared projects tarafında ise portable class library tarafındaki platform spesifik kod yazamama sıkıntısı çözülüyor. Ancak bu çözüm de hoş bir çözüm değil. En azından bana göre :) Uygulamanız büyüdükçe platform spesifik kodlar da büyüyebilir ve karışabilir. Böylece kodunuzun bakımı da zorlaşır. Ancak bir yandan da aynı işlemleri portable class libraries ile yaptığınızda da hem abstraction vs.. derken işiniz daha da uzuyor hem de kodunuz yine karmaşıklaşıyor. Bu nedenle en basit çözüm Universal App geliştirirken shared projectlerle ilerlemek.

Ancak gördüğünüz gibi cross platform uygulama geliştirme konusunda kod paylaşımı hala  daha tam anlamıyla süper bir çözümle başarılmış değil. Şu anki çözümler sadece acımızı bir nebze hafifletiyor.

Umarım faydalı olmuştur.



Build 2014 1.Gün'de Neler Oldu

Merakla bekledigimiz Build 2014 konferansinda 1. gün sona erdi. Açikca itiraf etmem gerekirse keynote ile beraber bugün beklentilerimin oldukça üzerine çikti. Keynote'un 3 saat olacagi açiklandiginda aklimda o kadar süre nasil oturacagiz sorusu vardi açikcasi. Ancak keynote o kadar güzel planlanmisti ki açikcasi 3 saatin nasil geçtigini anlamadim.

Gelelim birinci günün gelismelerine. Anlatacak çok seyimiz var...

Not : Yazinin giris kismi Windows Phone 8.1 ve Windows 8.1 Update ile gelen son kullanici yeniliklerini içeriyor. Eger son kullanici yenilikleri beni ilgilendirmez developer yenilikleri neler diyorsaniz buradan developer haberlerine ziplayabilirsiniz :)

Windows Phone 8.1

Build konferansinda herkesin bekledigi ilk duyuru hiç süphesiz ki Windows Phone 8.1'in duyurusuydu. Nitekim keynote Windows Phone 8.1'in duyurusuyla basladi. Windows Phone 8.1 ile beraber gelen pek çok güzel özellik var. Ayrica Windows Phone 8'de olan bazi eksikliklerde bu versiyonla beraber giderilmis.

Cortana Personal Assistant

Microsoft'un uzun süredir üzerinde çalistigini bildigimiz personal assistant'i Cortana'yi sonunda görebilme sansimiz oldu. Cortana'nin en büyük rakibi malumunuz Apple tarafindaki Siri. Ancak gördügüm kadariyla Cortana su an kadar Siri'den oldukça önde.

Cortana ile yapabileceklerinizin açikcasi ucu bucagi yok :) Hemen bir örnek vermem gerekirse sesli olarak hava durumunu sorup istediginiz yerin hava durumunu hemen görebiliyorsunuz.

Ya da diyelim ki bugün hangi toplantilariniz var görmek istiyorsunuz. Hemen Cortana'ya sorup ögrenebilirsiniz.

Cortana açikcasi sizin telefonunuzdaki sekreteriniz :) Istediginiz her seyi ona sorabilir, istediginiz seyleri zamani geldiginde ondan size hatirlatmasini istiyebilirsiniz. Hatta bazi seyleri siz söylemeden onun yapmasini da saglayabilirsiniz. Bunun için Cortana'nin bir not defteri var :) Not defterine ilgi duydugunuz alanlari yazarsaniz Cortana düzenli olarak ilgi duydugunuz alanlari takip edip size gerektigi zaman ilgili uyarilari yapabiliyor. Beni en çok etkileyen demo Cortana'nin telefondaki mailleri tarayarak mail içerisindeki uçus bilgilerini bulmasi ve uçusla ilgili detaylari takip etmesi oldu.

Cortana su anda Beta durumda ve Türkçe'yi desteklemiyor. Ne zaman desteklenmeye baslar konusunu ise allah bilir :)

Notification Center

Windows Phone 8.1 ile beraber tipki IPhone ve Android'de oldugu gibi bir notification center'in gelecegi konusuluyordu. Nitekim haberler dogru çikti ve notification center'in Windows Phone 8.1 ile beraber gelecegi açiklandi.

Özellestirilebilir Lock Screen

Itiraf etmem gerekirse Windows Phone 8.1 ile beraber gelen ve beni en çok etkileyen özellik bu :) Daha önceki Windows Phone versiyonlarinda uygulamalar kendi resimlerini lock screen'e background image olarak koyabiliyordu. Ancak Windows Phone 8.1 ile beraber lock screen üzerindeki yazilarin ve lock screen açilis animasyonlarinin da özellestirilmesinin önü açilmis. Gördügüm 2 demoda da daha çok güzel tasarimlar vardi. Ilerleyen zamanlarda çok daha yaratici tasarimlarin çikacagina eminim.

Start Screen'de Daha Fazla Tile

Daha önce 5 inch'den büyük ekranlarda kullanilabilecegi duyurulan orta büyüklükteki 3 tile'in sigabilecegi start screen görünümü Windows Phone 8.1 ile beraber artik tüm Windows Phone'larda kullanilabilir durumda olacak. Windows Phone'larda bu görünümü açmak için settinglerden ilgili ayari enable etmek yeterli olacak.

Degisen Calendar Uygulamasi

Windows Phone 8.1 ile beraber Calendar uygulamasi yeniden yazilmis. Yeni calendar görünümü ile beraber artik haftalik olarak planlariniza çok daha rahat bir sekilde bakabiliyorsunuz.

Storage Sense, Wifi Sense, Battery Sense Uygulamalar

Windows Phone 8.1 ile beraber 3 tane yeni uygulama geliyor. Bunlardan ilki Storage Sense. Bu uygulama ile telefonunuzun ve telefona takili olan SD Card'in hafiza durumunu görebiliyorsunuz. Bunun yaninda uygulamalarinizin SD kart üzerine kurulmasi gibi ayarlari da bu uygulama ile yapmaniz mümkün.

Wifi Sense uygulamasi ise sizi hizli bir sekilde public networklere baglayabiliyor. Normalde bir kafeye gittiginizde internete baglanmaya çalistigimizda bir web sayfasi açilir ve sözlesmeyi kabul ettigimiz belirten butona tiklamamiz istenir. Iste Wifi Sense uygulamasi bunlari dogrudan kendisi arka planda hallediyor.

Battery Saver uygulamasi ile ise telefonunuzun sarj durumunu görebiliyorsunuz. Bunun yaninda hangi uygulama daha fazla batarya kullaniyor gibi verilere de bu uygulamadan ulasabiliyorsunuz. Ayrica herkesin uzun süredir bekledigi kalan sarj yüzdesinin ekranda gözükmesi özelligide en sonunda Windows Phone 8.1 ile geliyor.

Word Flow Keyboard Shape Writing

Windows Phone 8.1 ile beraber klavyeden elimizi kaldirmadan hizli bir sekilde yazi yazmamizi saglayan shape writing özelligi geliyor. Bu yeni klavye ile  beraber Windows Phone, en hizli mesaj yazma konusunda birinciligi Samsung Galaxy S4'den devralmis.

Windows Phone 8.1 çok daha fazlasi...

Yukaridaki özellikler Windows Phone 8.1 ile beraber gelen en dikkat çekici özellikler.  Windows Phone 8.1 ile beraber gelen daha pek çok güzel yenilik var. Windows Phone son kullanicilara yaz aylarinda sunulmaya baslanacak. Daha fazla detay için resmi blogdaki yaziyi okuyabilirsiniz.

Windows 8.1 Update

Günün ikinci beklenen haberi ise Windows 8.1'e çikacak olan ve özellikle mouse ve keyboard kullanan kullanicilara yönelik olan update'di. Bu update ile beraber mouse ve keyboard kullanan Windows kullanicilarin sikinti çektigi konulara çesitli çözümler üretilmeye çalisilmis.

Windows 8 çiktiginda beri mouse ve keyboard kullanan kullanicilarin ekranin sag tarafindaki charmlarla arasinin iyi olmadigi bilinen bir gerçek :) Bu yüzden bu update ile beraber start screen'in sag üst kösesine power ve search butonlari ekleniyor. Böylece artik ekrann sag alt kismina gidip charmi açip bilgisayari kapatmak zorunda kalmayacagiz :)

Windows 8.1 Update'i ile beraber artik Windows Store uygulamalarini da taskbar'a pinliyebiliyoruz. Tipki eski tip desktop uygulamalarinda oldugu gibi.

Windows 8.1 Update ile artik start screen biraz daha keyboard ve mouse kullanicilarini sevebilecegi hale geliyor :) Artik herhangi bir tile'a sag tikladigimizda aliskin oldugumuz bir context menü görecegiz. Ayrica Ctrl'ye basili tutup birden fazla tile'i ayni anda seçebilmemizde mümkün.

Windows 8.1 Update su an MSDN üzerinden indirilebiliyor. 8 Nisan itibariyle tüm Windows 8 kullanicilari update'i Windows Update üzerinden ücretsiz olarak alabilecekler.

Windows 8.1 Update Sonrasi...

Build konferansinda konusulmasi beklenen konulardan biri de açikcasi Windows 9'du. En azindan Windows 9 ile ilgili olarak ufak tefek detaylar paylasilir diyorduk ancak bunun yerine Windows 8.1 Update'den sonra yeni bir update'in daha gelecegi duyuruldu. Bu update ile beraber eskiden alistigimiz start menü geri dönüyor.  Oturumda gösterilen tasarimin ise final sürümde degismesini umuyorum. Çünkü start menü içerisine tile koymak hiç olmamis :) Ayrica yine gelecegi bahsedilen update ile artik windows store uygulamalari desktop üzerinde bir pencere içerisinde çalisabilecek.

9 Inch Altindaki Cihazlara Windows Artik Ücretsiz

Ilk günün en çok dikkat çeken duyurularindan biri de Microsoft'un Windows'u ve Windows Phone 8.1'i 9 inch ve altindaki cihazlar için ücretsiz yapmasiydi. Microsoft bu sekilde bir stratejiyle pazardan daha fazla pay almayi hedefliyor.

Nokia Lumia 930, Nokia 630 ve Nokia 635

Windows Phone 8.1'in duyurulmasindan sonra sira telefonlar tarafina dolayisiyla da Nokia'ya geldi. Nokia'nin Windows Phone 8.1'li ilk telefonlari Lumia 930, 630 ve 635 olacak. Amerika disinda satisa sunulacak olan Lumia 930'un tasarimi hosuma gitti açikcasi. Özellikleri de oldukça iyi.

Nokia Lumia 635 ise Nokia'nin ilk dual sim özelligini destekleyen telefonu olacak.

Diger Gelismeler

Build'in birinci gününde yukaridaki konulardan ayri olarak üzerinde durulan diger konular touch tabanli office uygulamalari ve Kinect For Windows V2'di.

Developer Dünyasindan Haberler

Son kullanici dünyasindan haberler bu kadar. Simdi gelelim esas biz developerlari ilgilendiren haberlere.

Visual Studio 2013 Update 2 RC

Visual Studio 2013 Update 2 bugün itibariyle RC (Release Candidate) oldu. Ancak Beta versiyonunda olmayip RC sürümünde update içerisine eklenen pek çok sey var. Yazinin ilerleyen kisimlarinda eklenen kisimlara deginecegiz. Visual Studio 2013 Update 2'yi buradan indirebilirsiniz.

Windows Phone 8.1 SDK

Windows Phone 8.1 duyurulmasiyla Windows Phone 8.1 SDK RC sürümü developerlara sunuldu. Eger Visual Studio 2013 Update 2 RC'yi bilgisayariniza kurarsaniz Windows Phone 8.1 SDK'in de bilgisayariniza yüklendigini göreceksiniz.

Universal Windows  Apps

Developerlar açisinda birinci gün keynote'un en ilgi çekici konusu bence kesinlikle Universal Windows Apps. Her developerin rüyasidir tek bir kod yazip, yazdigi kodu farkli platformlarda çalistirmak. Su ana kadar portable class libraries ile bir nebze Windows ve Windows Phone uygulamalari için belirli bir miktar kodu paylastirabiliyorduk. Ancak aradaki uçurum çok fazlaydi.

Windows Phone 8.1'de telefonun altindaki runtime artik Windows Runtime. Yani su an Windows Store app yazarken kullandigimiz runtime ile ayni. Verilen rakamlara göre % 90 oraninda API'lar birbirleri ile ayni.

Universal Windows Apps konseptinde ise yapilmak istenen proje içerisinde shared bir alan içerisinde kodunuzu ve viewlerinizi tutarak windows ve windows phone applerinizin bu ortak kodlari kullanmasini saglamak. Viewlarda bulunan kontroller ise bulunduklari platforma uygun bir sekilde render ediliyor. Eger paylasilan alanda bulunan viewlari platform spesifik olarak degistirmek isterseniz de ilgili view'i platforma ait olan projeye sürükleyip orada özellestirmeniz mümkün.

Konunun bu sekilde çok havada kaldigini farkindayim :) Konferans dönüsü ne kisa zamanda bu konuyla ilgili detayli bir yazmayi düsünüyorum.

Typescript 1.0

Bugün itibariyle Typescript 1.0 versiyonu release oldu. Visual Studio Update 2 RC içerisinde Typescript'in 1.0 versiyonu bulunuyor. Detayli bilgiye buradan ulasabilirsiniz.

Cross Platform ve Open Source WinJS

Windows Store uygulama gelistirirken HTML & JS tarafindan ilerleyenlerin kullandigi javascript librarysi WinJS artik cross platform oldu ve webde çalisabilecek hale getirilerek open source olarak açildi. Detayli bilgiye buradan erisebilirsiniz.

.NET Native Preview

Build'in ilk günü keynote'da bahsedilmeden sessiz sedasiz duyurulan ve bana göre biraz da gölgede kalmis olan .NET Native,  C# ile yazilan Windows Store uygulamalarinin dogrudan makina dilinde derlenmesini sagliyor. Böylece kod yazarken ve debugging yaparken C#'in getirdigi kolayliklari kullanabilirken performans olarak da C++'in avantajlarina sahip olabiliyoruz. Bu konuyla ilgili de Build dönüsü bir yazi yazmayi düsünüyorum. Simdilik buradaki yazidan detaylari okuyabilirsiniz.

Satya Nadella Sahnede !

Ilk gün keynote'un sonunda ise sahnede Microsoft'un yeni CEO'su Satya Nadella vardi. Daha önceki konferanslardan farkli olarak bu sene keynote'un sonuna kadar hep developer kökenli ve esas ürünlerden sorumlu kisilerin sunumlarini izledik. Bunlarda developer kökenli Satya Nadella'nin katkisi oldugu yadsinamaz bir gerçek.

Yarin keynote'da Azure günü :) Bakalim ne gibi yenilikler gelecek.

Benden simdilik bu kadar. Artik dinlenme vakti :)



Build 2013 1.Gün Değerlendirmesi, Windows 8.1, Visual Studio 2013 Preview ve .NET 4.5.1 Preview

Build 2013 konferansi 1. günü an itibariyle sona erdi ve dolu dolu bir günü geride biraktik. Hemen detaylara girelim. :)

Keynote

1. gün keynote ile basladi ve tahmin ettigimiz üzere agirlikli olarak Windows 8.1 temali bir keynote oldu. Keynote kisisel tahminlerimin oldukça üzerine çikti ve pek çok Windows 8.1 özelligi duyuruldu. Keynote'un açilisinda aliskin oldugumuz üzere Steve Ballmer vardi.

Öncelikli olarak en çok ses getiren özellikten bahsedelim :) Start Button Windows 8.1 ile geri döndü. Her ne kadar eski Start Button gibi bir islevi olmasa da kullanicilarin Modern UI ile Desktop arasi geçis yapmasini saglayan bir buton oldu yeni Start Button.

Windows 8 için kullanicilarin en çok istedigi özelliklerden olan boot-to-desktop özelligi de Windows 8.1 ile geldi.

Keynote içerisinde pek çok yeni özellikten bahsedildi. Bunlari tek tek açiklamak mümkün olmasa da kisaca deginmekte fayda var.

  • Gelismis Snap View : Snapping tarafinda büyük yenilikler yapilmis ve artik uygulamalar ekranda istenildikleri oranda ve sayida snap edilebiliyorlar. Böylece bir ekranda 2'den fazla sayida snap edilmis uygulama olabilmekte.
  • Bing ile entegre Windows Search : Bing artik neredeyse Windows içerisine gömülmüs ve full entegrasyon saglanmis. Bir arama yaptiginizda aradiginiz kelime hem bilgisayarinizda hem de Bing'de araniyor ve oldukça güzel bir arayüzle arama sonuçlari gösteriliyor.
  • Uygulamalari Otomatik Olarak Update Edilmesi : Son zamanlarda oldukça popüler bir uygulama olan arka planda uygulama update'i Windows 8.1'e  de geliyor. Artik Store Tile'inda update gelen uygulamalarin sayisi olmayacak ve uygulamalar arka planda otomatik olarak update edilecek ve kullanicilarin her zaman en yeni yazilimi kullanmalari saglanacak.
  • Arttirilmis Multi-Monitor Destegi : Çoklu monitörlerle çalisirken artik ekranlar arasi uygulamalari degistirirken bir ekranda uygulama hangi oranlarda bulunuyorsa diger ekrana geçildiginde de uygulama ayni oranda olacak :)
  • Uygulamalarin Wireless ile Birbirleriyle Konusmasi : Windows Store  uygulamalari Wireless ile birbirleriyle artik konusabilmekte. Demo olarak ise bir uygulamadan alinan kamera görüntüsü dogrudan Wireless üzerinden diger bilgisayardaki uygulamaya iletildi. Bununla ilgili olarak Windows 8.1 ile beraber gelen API'lara bakmakta fayda var.
  • Windows Uygulamalarina Gelen Updateler  ve XBOX Music Uygulamasi : Windows 8.1 ile beraber Microsoft uygulamalarinin çoguna yeni updateler geliyor ve bunlarin yaninda yeni uygulamalar da Store'a eklenmis oluyor. Bunlardan en önemlisi XBOX Music olurken Bing Food & Drink uygulamasi, Facebook uygulamasi ile Bing Fitness uygulamalari da Store'a yeni eklenecek olan uygulamalardan.

Windows 8.1 ile ilgili akilda kalan özellikler bunlar. Tabi ki daha pek çok yenilik var. Developerlar için  oldukça fazla yeni API var. Unutmadan Windows 8.1'in Store üzerinden de dagitilacagini da belirtmek gerek. Tabi her zamanki gibi update'i buradan indirip de bilgisayariniza kurabilirsiniz. Windows 8.1 yil sonundan önce RTM olacak ve Windows 8 kullanicilarina ücretsiz olacak.

Bing As Platform

Keynote'ta yapilan duyurulardan biri de Bing tarafindaydi. Bing artik tamamen developerlara açildi ve Bing'in özelliklerinin artik uygulamalara full entegre edilmesinin yolu açildi. Gerek Bing Maps olsun gerekse sesli komut özelliklerini kullanarak Windows 8 ve Windows Phone 8 uygulamalarina güzel özellikler eklemek mümkün.

 Visual Studio 2013 Preview ve .NET 4.5.1 Preview

Daha önce Teched North America'da duyurulan Visual Studio 2013, Build konferansiyla beraber Preview sürümü developerlara açildi. Teched North America'da daha çok TFS ve Git entegrasyonlariyla lanse edilen Visual Studio 2013 Build tarafinda ise IDE tarafina gelen Productivity yenilikleriyle öne çikarildi.

Connected Visual Studio

IDE tarafinda gelen yeniliklerden biri de artik IDE'ye Live ID'lerimizden birini kullanarak login olmamiz. Tabi bu seçenek zorunlu olmasa da eger IDE'ye live ID'nizi kullanarak bir kere login olursaniz, Visual Studio temalariniz, shortcutlariniz ve diger tüm kisisel ayarlariniz cloudda saklaniyor ve böylece baska makinalarda da Visual Studio kullandiginizda live ID'nizi kullanarak Visual Studio'yu aninda alisik oldugunuz görünüme getirebiliyorsunuz. Böylece evde kendi bilgisayariniz üzerinde, is yerinde is bilgisayari üzerinde farkli Visual Studio ayarlari kullanmaniza veya sifirdan bu ayarlari yapmaniza gerek yok. 1 kere login olup tüm ayarlari Visual Studio'ya eklemek yeterli.

x64 Edit & Continue

Visual Studio 2013 ile beraber gelen en önemli yeniliklerden biri de x64 Edit & Continue. User Voice üzerinde en çok talep edilen özelliklerden biri de artik Visual Studio içerisine entegre edilmis oldu. Artik asagidaki ekrani görmek yok :)

 Async Aware Debugging

.NET 4.5 ve C# 5.0'da asenkron programlamanin yeri oldukça ayri. Artik bahsetme geregi duymuyorum. :) Async metotlari debug ederken call stack penceresinde compiler tarafindan arka planda generate edilen kodlarda görünüyordu ve bu kodlar arasinda neredeyse kayboluyorduk. Visual Studio 2013 ile beraber artik call stack penceresinde compiler tarafindan generate edilen kodlar toparlanmis ve kapali olarak gösteriliyor. Böylece uygulamanin ana akisina hizli bir sekilde erisebiliyoruz.

Visual Studio 2012'de call stack penceresi

 Code Editör Yenilikleri - CodeLens ve Peek Özellikleri

Visual Studio 2013 ile beraber editor tarafinda da güzel yenilikler geliyor. Özellikle Visual Studio 2013 ile beraber developerlarin pencereler arasi gezmesi en aza indirgenmeye çalisilmis ve mümkün oldugu kadar ayni kod penceresi içerisinde kalarak istedikleri kodlara ulasabilmeleri saglanmis.

Bu kapsamda gelen yeniliklerden biri de peek özelligi. Peek özelligi ile artik bir tipin üzerine gelip ALT + F12 yaparsaniz ilgili tipin tanimi artik bulundugunuz kod penceresinde altta açilmakta. Böylece yeni bir pencereye geçip sonra eski pencereye geri dönmeye gerek kalmamakta.

Visual Studio 2013 tarafinda üretkenlik, diagnostics ve source control taraflarindan pek çok yenilik bulunmakta. En kisa zamanda bu yenilikleri Teknolot.TV'de inceliyor olacagiz. Visual Studio 2013 Preview'i buradan indirebilirsiniz.

Teknolot.TV ve Giik.FM 1. Gün Paylasimlarimiz

Build'in 1. gününü degerlendirdigimiz Teknolot.TV kayitlarimiz su an itibariyle yayinda. Buradan 1. gün degerlendirmemize ulasabilirsiniz. Ayrica Windows 8.1 cihazlarla ilgili yaptigimiz degerlendirmelere de buradan ulasabilmeniz mümkün.

Giik.FM tarafinda ise 1. gün degerledirme podcastimize buradan ulasabilirsiniz.

Anlayacaginiz her türlü platform için paylasimlarimiz mevcut.

Bakalim Build'de 2. gün neler getirecek. :)

Hosçakalin