Windows 8-Uygulama Geliştirmeye Giriş

   Windows 8 ile daha önce ilgilenmediyseniz bu başlık size ilginç gelecektir. Öyle ya, daha önceki Windows sürümlerinde tanımanız gereken yeni bir uygulama geliştirme şekli yoktu. Peki Windows 8’in farkı ne? Aslında bunun cevabını benden çok önce Microsoft üstüne basa basa vermiş durumda; Windows reimagined, Windows yeniden şekillendi…

Radikal biçimde değişmiş olan Windows 8 başlat ekranı

   Öncelikle radikal başlat ekranı dikkatinizi çekecektir, sonra metro stilinde geliştirilmiş uygulamalar; ama aslına bakarsanız bunlar buzdağının sadece görünen yüzü. Windows 8 ile birlikte Microsoft artık sadece masaüstü ve laptoplarda olmadığını bizlere güçlü bir şekilde anlatıyor. Bunlar yanında artık tabletlerde de Windows’u görüyor olacağız. Hatta Windows Phone Summit’te de açıklandığı gibi Windows Phone 8’inde Windows 8 ile aynı çekirdeği paylaşacağını düşünecek olursak Windows’un ulaşacağı noktaları sizin hayal gücünüze bırakıyorum. Böylesi önemli değişiklikler doğaldır ki beraberinde biz yazılım geliştiricilerin alışkanlıklarını da etkileyecektir. En basitinden geliştirdiğimiz uygulamaların daha kullanıcı dostu, daha dokunmatik özelliklere sahip ve tabi ki daha sade ve hedefine uygun olması gerekli. Bunun içindir ki Microsoft karşımıza Metro konseptini çıkardı… Sade, hedef odaklı, kullanıcı dostu.

Windows 8 - PRESENTATION - BARCELONA

   Metro stilini eminim ki bir şekilde duymuşsunuzdur; ama bu yazımın ana konusu bu değil. Şimdiye kadar x86 ve x64 mimari üzerinde çalışan bir işletim sistemi olan Windows’un masaüstü ve laptoplar’dan sonra tabletlerde ve hatta akıllı telefonlarda yerini alabilmesi için öncelikle buralarda lider olan işlemcileri/komut setlerini desteklemesi gerekliydi. İncelediğimizde de kaçınılmaz olarak ARM tabanlı işlemcilerin desteklenmesi gerekliydi. İyi güzel; ama nasıl!? Öncelikle işletim sistemi sadece x86 ve x64 tabanlı sistemleri desteklemekte, ARM desteği de sunmalıydı. Aslına bakarsanız bu bir yere kadar kolay bir konu; çünkü Microsoft’un kendi içerisinde çözemeyeceği kadar büyük bir problem değildi. Öte yandan mevcuttaki tüm uygulamalar x86 ya da x64 mimarilerine sahip işlemcilerde çalışmakta. Uygulamaların bilgisayar donanımı ile etkileşimi en nihayetinde işletim sisteminin sunduğu API’ler üzerinden gitmekte ve mevcut Windows işletim sistemi API’leri ARM tabanlı işlemcileri desteklemiyor. Bu durumda kaçınılmaz olarak yeni API’ler yazılmalı ki uygulama geliştiriciler bu mimari üzerinde de rahatlıkla uygulama geliştirebilsinler.

   Böylesi bir yükün altına giriliyorsa işletim sisteminin mevcut destekleri yanında sadece ARM işlemcileri desteklemesi pek de akıl kârı bir durum değil; çünkü bugün ARM tabanlı işlemciler popüler iken yarın belki de henüz adını bile bilmediğimiz bir x işlemcinin yıldızı parlayacak. Bu durumda yeni API platform bağımsız tasarlanmalıydı. Eskilerden de biraz ders alındıysa kesinlikle artık modern programlamanın olmazsa olması nesne tabanlı mimari de tasarlanmış bir API olmalıydı.

   Tüm bunları toparlayacak olursak mimari bağımsız ve nesnel tabanlı, modern bir API Windows 8 ile birlikte biz yazılım geliştiricilere sunulmalıydı. Hmm, bu kavramlar biz .net geliştiriciler için yabancı şeyler değil, değil mi! Biz zaten altındaki mimariden soyutlanmış ve olabildiğince nesnel tabanlı bir platform üzerinde uygulama geliştirmiyor muyuz!? İşte Microsoft’ta aynı şeyi düşünmüş olacak ki Windows 8 ile birlikte sunduğu bu yeni API’yi, Windows Runtime’ı ya da diğer adı ile WinRT’yi .net framework’ten esinlenerek; ama .net framework’ü geliştirirken ki eksiklerinden de ders alarak geliştirdi.

Windows 8 başlat menüsü ve sağ tarafta yer alan Charms Bar

   Tablet cihazların en önemli sorunlarının batarya ömrü, sınırlı disk alanı ve hafıza olduğunu göz önüne alırsak, ARM tabanlı sistemler çalışacak olan Windows 8 RT sürümünde sadece metro stilinde uygulama geliştirilebileceğini ve API olarak da bizlere WinRT sunulduğunu söylemem sizler için bir sürpriz olmayacaktır. Masaüstü ve laptop kullanıcısından farklı olarak dokunmatik ekranlarla ve klavye/fare olmaksızın kullanıma alışkın olan tablet kullanıcıları için Windows 8’in ortak, dokunmatik için optimize edilmiş ve akıcı bir kullanıcı deneyimi sunabilmek adına bizlere yeni seçenekler sunduğunu da bilmelisiniz. Windows 8 ile birlikte sistem genelinde arama, paylaşım, yapılandırma ve temel hareketlere olanak sunan Charm Bar sayesinde tüm uygulamalar ortam bir kullanıcı deneyimi sunarak saydığım bu genel kullanıcı etkileşimleri için ortak bir arayüz sunabilecekler.

   Sanırım bu bilgiler ardından yazımın başlığında belirttiğim ve yazıma başlarken de değindiğim bu yeni uygulama geliştirme deneyimi kafanızda biraz canlandırabilmişimdir. WinRT, Metro stili, tablet ve diğer dokunmatik cihazlara uygun tasarım… Şimdi, Windows 8 ile uygulama geliştirmeye ilk adımlarını atarken sizleri baştan uyarmalıyım; şimdiye kadar bildiklerinizi bir kenara bırakın, öğrenecek/anlatacak çok şeyimiz var, yeni bir deneyime hazır olun…

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

9 yorum

  1. Balkar ATEŞ   •  

    Hocam tam da bu konu üzerinde çalışıyordum çok iyi oldu bu yayın 🙂 yazının devamını beklemedeyim ..

    • Fatih Boy   •     Yazar

      Yakın zamanda serinin devamı da geliyor; ama arada bir de uyumam lazım tabi 😉

  2. dhmm   •  

    Ne uyumasi hocam,
    Bosverin siz uyumayi vatana millete hizmettir …. :D:D Uyumayin uyumayin yazin okuyoruz

    :D:D

    Saka bir yana bilgiler icin tesekkurler

  3. Pingback: @hknkrcn

  4. suheyda   •  

    merhaba. uygulamalarımı artık açamıyorum. geliştirici lisansımın süresi dolmuş. lisansın ücretsiz olduğunu yazmışsınız ama nasıl ve nerden lisans yenilenebileceğini belirtmemişsiniz?
    konu hakkında yardımınızı bekliyorum. şimdiden teşekkürler.

    • Fatih Boy   •     Yazar

      Merhaba Süheyda,
      Visual Studio 2013 içerisinde Project -> Store -> Acquire Developer License menüsünden lisans güncellemesi yapabilirsin. Alternatif olarak Admin olarak çalıştıracağın powershell oturumunda Show-WindowsDeveloperLicenseRegistration, Get-WindowsDeveloperLicense ve Unregister-WindowsDeveloperLicense komutları ile lisans yönetimi yapabilirsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir