Samsung Bada, tamamen açık, kernel seviyesinde konfigüre edilebilir, C++ API desteği olan, gelişmeye çok uygun bir işletim sistemi. Daha bir yaşını bile doldurmadan kendisinden beklenmeyecek işlere imza atmaya başladı. Bunda tabi ki kendisinden önce gelen işletim sistemlerinin etkisi var, fakat onlarda görmediğimiz birkaç şeye daha sahip.
Öncelikle kernel-configurable oluşunun bir güzelliği var ki o da Linux ya da herhangi bir RTOS üzerinde çalışabiliyor. Dolayısıyla diğer işletim sistemlerinden çok daha fazla cihaza hitap edebiliyor. Servis bazlı işlerde de alışılmışın dışında sosyal ağlar, içerik yönetimi, mekan-bazlı servisler ve ticari uygulamalarda çeşitli yetenekleri mevcut. Bu yetenekler sayesinde örneğin uygulama içinden satış yapılabiliyor, ya da tek bir uygulama içinden bütün sosyal ağ profilleri konfigüre edebilebiliyor. Zamanında MMORPG oyuncuları e-bay üzerinden kılıç kalkan satıyorlardı, şimdi bu iş BADA ile oyun içi gerçek alış-veriş şeklinde mümkün.
Cihazın (yer-yön tayini, magnetometer gibi) özelliklerinin dışında BADA, uygulamaların içerisine direkt Flash, WebKit ya da Map Control eklentisi yapabilmenize de olanak sağlıyor. Böylece ortaya çıkabilecek uygulama fikirleri üstel bir hızla katlanmış oluyor.
Developer Challange
Samsungcular bunu düşünmüş olacak ki, bu sene Mayıs 17'de bir uygulama yarışması duyurdu. Belli kategoriler altında yarışacak uygulamalar, iki aşamalı bir yarışa tabi tutulacak ve sonunda toplam ödül olan 2.700.000$ gibi bir meblayı paylaşacaklar. Birinci aşama, "Simulator" fazı, yani uygulamalar simulatörlerde denenerek yarışacak ve burada elenerek ikinci aşama olan "Device" yani "Cihaz" fazına geçecekler. Nitekim Eylül 16'da kazanan 300 uygulama açıklandı ve birer Samsung Wave S8500 ile ödüllendirildiler. Şu an bu yarışmacılar cihaz fazının sonundalar. 24 Kasım'da son açıklama ile kazanan uygulama belirlenecek ve 300.000 doların sahibi olacak. Tek bir uygulama, 1000 satırı geçmeyen bir kod, ve 300.000 tane dolar.
Uygulama Geliştirme
Gelelim uygulama geliştirme kısmına. Geçtiğimiz hafta SDK1.1.0'ı duyuran Samsung, bir önceki SDK'sını Mayıs'ta çıkartmıştı. SDK üzerinde beklediğimiz ama "ikinci SDK'da anca gelir" dediğimi Linux desteği tahminlerimiz doğrultusunda hala gizliliğini koruyor. Evet, şu an Samsung Bada SDK yazıktır ki sadece Microsoft Windows üzerinde çalışıyor. Gerçi daha bütün köşeleriyle test edemesek de wine ile Ubuntu üzerinde çalıştırmayı başardık ama bunu detaylı test yapmadan duyurmayalım. Geliştirme ortamı ise şöyle;
Samsung Bada, Eclipse'in bir modifiyesiyle oluşturulmış Bada IDE üzerinde neredeyse tüm GNU toolchain'i kullanan bir geliştirme ortamı sunuyor. Gayet açık ve net bir API Reference, IDE üzerinde gelen bolca uygulama örneği, rahat bir UI builder ve çok şık test fonksiyoneliteleriyle rahatça uygulamanızı geliştirebiliyorsunuz. Özellikle test uygulamaları Bada'yı Android ve iOS'dan ayıran en güçlü silahlardan. Örneğin ilk SDK ile birlikte gelen şahane test uygulaması "Event Injector" sanıyorum ki mobil uygulama geliştiricilerin hayatını fazlasıyla kolaylaştıracak nitelikte. Zira ne iOS'un, ne Android'in, ne de benzeri diğer sistemlerin uygulama geliştirme ortamlarında örneğin telefona mesaj geldiğinde, cihaz düşük pil uyarısı verdiğinde ya da sesli/görüntülü arama geldiğinde uygulamanın nasıl davranacağını test etme imkanınız olmuyor. Bu tür testleri yapmak için kesinlikle bir cihaza sahip olmanız gerekiyor. Fakat "Event Injector" bunlar gibi daha bir çok cihaz bağımlı testleri simulatör üzerinde gerçekleştirmeyi mümkün kılıyor. Üstelik yakın zamanda gelecek "Remote Rack" sistemi ile, Samsung Kore'de bizim için hazır tutulan cihazlar üzerinde uzaktan test imkanı sunacak, böylece bu güzel hareket ile testlerdeki cihaz bağımlılığı tamamen ortadan kalkacak.
Geliştirme ile ilgili detaylara girmek mümkün ama bunu her zamanki gibi uygulama yazarak tatmanın sizler için de benim için olduğu gibi bir yerden okumaktan daha keyifli olduğunu düşünüyorum. Önemli bir hatırlatma da Samsung Bada uygulama geliştirici üyeliği ücretsiz alınabiliyor ve ücretsiz bir şekilde Samsung App's üzerine yerleştirilebiliyor.
SDK1.1.0 üzerinde de yeni gelen özelliklerden belirgin olanı kuşkusuz unit ve stress testleri yapabilmemize olanak sağlayan Test Framework. Görünüşe göre Samsung testing hususuna oldukça önem veriyor, ki piyasayı gözünüzün önüne getirirseniz bu aslında şahane bir hareket. Geçenlerde duyurulan Theme Support ile de kendi temalarımızı rahatça yapabileceğimiz bir ortam sağlamışlar. Temalar ve tema yapımı ile ilgilenen arkadaşların mutlaka incelemesi gereken bir yenilik.
Genel olarak Samsung Bada, güzel bir çıkışla iOS gibi işletim sistemlerinin 2 senede geldiği noktaya çok çok kısa bir sürede gelmesi ve bir sistemin ilk çıkışında kendisinden beklemeyeceğimiz (multitasking gibi) özellikleri sunmasıyla, resmi bir şekilde ifade edilen 2012'de Microsoft Windows Mobile piyasa dilimini %50 ve Android piyasa dilimini %30'lara kadar indirme hedeflerini gerçekleştirecek gibi görünüyor. Önümüzdeki dönemlerde göreceğiz.
Fazlamesai camiasında Samsung Bada ile ilgilenen, uygulama geliştiren, iyi ya da kötü olduğunu düşünen var mıdır merak ediyorum, yorumları bekliyor olacağım.
Herkese iyi eğlencer!
Referanslar:
Bada Developer Sayfası
Bada SDK 1.1.0b1
Samsung yeni mobil işletim sistemi BADA ile seneye hızlı bir giriş yaptı. Geçen senenin sonlarına doğru ilk SDK'sı çıkan bu genç sistem, şimdilerde büyük kardeşleri Android ve iOS ile yarışır oldu. Peki nasıl oldu bu iş? Gelin birlikte bakalım..