Windows 10 Uygulaması Geliştirmek Artık Mümkün

Microsoft çok kısa bir zaman önce Visual Studio Tools for Windows 10 Technical Preview'i duyurdu ve bununla beraber Windows 10 SDK kullanmak mümkün oldu ancak bunun ilk preview olduğunu belirtmemde fayda var. Bu toollari kullanabilmeniz için Windows Insider programına dahil olmanız gerekli, Windows 10 Technical Preview ve Visual Studio 2015 CTP6 ile artık kolaylıkla Windows 10 uygulamaları geliştirebilirsiniz. Bu araçları buradan indirebilirsiniz.

Universal(evrensel) olarak geliştirdiğimiz uygulamalar farklı tip cihazlarda çalışabiliyor yani bir kez uygulamayı yazıyorsunuz ve tam olarak aynı kod(en kötü senaryoda yazdığınız kodun %98'i) PC, Laptop, Phone, tablet, Xbox, Surface Hub, ilerde Raspberry Pi ve hatta Hololens gibi Windows 10 çalıştıran tüm cihazlarda çalışabiliyor. Bu, Visual Studio içinde Windows 10 App olarak karşımıza çıkıyor. Bu bakış açısıyla, kodumuzu bir kez yazarak olabildiğince fazla platforma ve cihaza ulaşacağız.

Hangi Programlama Dili

Windows 10 uygulama geliştirmek için C#, VB, JavaScript, C++ dillerinden birini kullanabilirsiniz, tüm bu programlama dilleri için Visual Studio 2015 CTP6 içinde template'ler mevcut.

Extension SDK

Cihaza özel kod yazmak istediğimizde karışıklığı azaltmak adına karşımıza Extension SDK'ler çıkıyor örneğin siz mobile cihazlara özel bir kod yazacaksınız bunun için Windows Mobile Extension SDK'i referans olarak projesine eklemeniz gerekecek.

Diğer Yenilikler

Windows 10 ile beraber yazdığınız tüm .Net uygulamlar Windows Store tarafından native .net olarak compile edilecek ve bu şekilde kullanıcılara ulaşacak bunun sayesinde uygulamalar daha hızlı çalışır hale gelece ve tabiki daha az kaynak tüketebilecek.

Bunların yanında muhteşem debug tool'lari karşımıza çıkıyor. Bunlardan biri XAML UI debug aracı, çalışan uygulamanın visual tree'sini görmeniz çok kolaylıkla XAML içerisinde debug yapmanız mümkün. Diğer bir yeni özellik ise Diagnostic araci, bu arac ile uygulamanız çalışırken ne kadar ram ve cpu kullandığını görmek mümkün.

Ayrıca bu uygulamalar .NET Framework 4.6 üzerinde çalıştığı için .NET Framework 4.6 ile gelen özelliklerde mevcut. Detaylı bilgi: http://blogs.msdn.com/b/dotnet/archive/2014/11/12/announcing-net-2015-preview-a-new-era-for-net.aspx#_.NET_Framework_4.6  


Bence en kısa zamanda Windows 10 Technical Preview başta olmak üzere tüm aracları indirip bu platformu deneyin. Windows 8 ile başlayan bu dönüşüm bence Windows 10 ile beraber çok büyük bir ivme kazancak. Özellikle tek kod ile bu kadar çok cihaza erişebilmek benim ilgimi çekiyor. Windows 10'a geçişin ücretsiz olacağı senaryoların çok fazla olduğunu düşünürsek, bence Windows 10 biz yazılım geliştiriciler için çok büyük bir öneme sahip olacak.

En kısa zamanda Windows 10 uygulamaları geliştirme hakkında bir yazı serisine başlayacağım.

 

Mobile Services JS Backend - Scheduler

Mobile Services Scheduler ile yazdığımız kodların otomatik olarak belli zaman aralıklarında veya istediğimiz zaman çalışmasını sağlamak mümkün. Örneğin merkez bankasından doviz kurlarını çekerek database'e yazıyorsanız ve bu işlemin her 15dk'da bir tekrar etmesini isterseniz, Scheduler sizin için kullanışlı olacaktır.

Yukarıda verdiğim örneğe çok benzer bir örnek üzerinde çalışalım.

Merkez Bankası bu verileri xml olarak vereceğinden ilk örnek için biraz karışık olabilir. Json olarak verileri alabileceğimiz bir kaynak var. http://jsonrates.com/ adresinden istediğim para birimleri arasındaki dönüşümleri json olarak almamız mümkün.

İlk olarak mobile services içerisinde ismi CurrencyRates olan bir tablo yaratıyoruz. (Nasıl tablo yaratacağınızı buradan öğrenebilirsiniz.)

Daha sonra jsonrates.com sitesinden bir hesap oluşturmanız gerekiyor. Size bir api key verecek ve bunu requestlerimizde kullanacağız.

Şimdi sırada Scheduler var, Mobile Service içierinden Scheduler tabına giriyoruz ve "Create a Scheduled Job" yazısına tıklıyoruz. CurrencyInsertJob adında bir scheduler job yaratıyoruz.

CurrencytInsertJob

Yukarıda gördüğünüz gibi job'I yaratırken bize ne sıklıkta çalışacağını soruyor. Default olarak her 15 dakikada bir çalışmak üzere ayarlı. Bu şekilde sağ altta bulunan butona basarak job'u oluşturuyoruz.

Ben her 15dk'da bir kez çalışmasını istedim, ama siz bunu değiştirebilirsiniz veya On Demand seçeneğini seçerek istediğiniz zaman çalışmasını sağlayabilirsiniz.

*Mobile Service free mode seçili ise sadece bir tane job oluşturmanız mümkün. Daha fazla job oluşturmak isterseniz mobile service'i scale etmeniz gerekecek, ilerleyen yazılarda buna değineceğim.

Yarattığımız job'un içine giriyoruz ve Script tabına tıklıyoruz, açılan sayfada bir code editor bizi bekliyor. Aşağıdaki kodu yazarak jsonrates.com'dan TRY ve USD arasındaki dönüşümü çekip tabloya yazmanız mümkün, unutmatın bu kod her 15dk'da bir kez çalışacak.(Kendi API key'inizi yazmayı unutmayın.)

Yukarıdaki kod ile birlikte istediğimizi yaptırdık ancak job şuanda disabled. Sayfanın en altında bulunan butonlar ile enable etmeniz mümkün veya Run Once'a tıklayarak hemen bir kez çalıştırmanız mümkün.

İlk başta 15dk'da bir çalışssın istemiştik ancak bu yazıyı yazarken 15 dk beklemek istemediğim için ben bunu bir dakikada bir kez çalışsın olarak değiştirmek istiyorum. Bunun için yukarıdaki Configure tabına geçiyoruz ve buradan ayarları değiştiriyoruz.

CurrencyInsertJob Configure

Sonuc olarak Data tabi altında bulunan CurrencyRates tablosuna baktığımızda işlemin sonucunu göreceğiz.  

   

CurrencyRates Sonuc

Kendi senaryonuza uygularken aşağıdaki link sizin için oldukça faydalı olacaktır. Mobile Services JavaScript backend Node.js ile kodlanıyor ve aşağıdaki dokumandan mobile services'e özel node.js kütüphanelerine ulaşmanız mümkün.

https://msdn.microsoft.com/en-us/library/azure/jj554226.aspx