Simbiyan
Simbiyan, Akıllı Telefon (Smart Phone) denilen cihazlarda koşan, bugün bizim kullandığımız bilgisayarları işleten Windows, Linux gibi bir işletim sistemidir. Aklınıza şu gelebilir: Niçin yeni bir işletim sistemi yazdılar? Mesela Linux veya Windows kullanamaz mıydılar? Bunu yapmaları pek mümkün değildi. Çünkü öncelikle bu cihazların işlemci mimarisi farklı. (Intel'in esamesi okunmuyor orada!) Sonra cihazın işlem ve hafıza gücü sınırlı olduğundan bunların işletim sistemi seviyesinde yönetimi farklı.
Simbiyan'ın kısa tarihçesi
Simbiyan'ın ilk tohumları 1988 yılında atıldı. O zamanlar SIBO (Sixteen bit organizer [16 bitlik organizator]) adı verilen bir işletim sistemi yazıldı. Bu işletim sistemi el cihazlarında çalışıyordu. Psion Computers isimli bir şirket tarafından geliştirimişti. SIBO önce MC isimli bir kucak bilgisayar (laptop) üzerinde denendi. Ancak MC projesi başarısız oldu. Yine aynı şirket 1991 yılında Series 3 isimli bir cep bilgisayarı yaptı. Bunu 1996'da Series 3c ve 1998'de Series 3mx izledi. Bu ürünler çok başarılı oldu. Başarının 3 ana sebebi vardı: SIBO'nun pil kullanımı oldukça iyiydi, üzerinde koşan uygulamalar başarılı bulundu ve PC ve diğer el cihazları ile iletişimi oldukça iyiydi. SIBO aynı zamanda programcılara C ile uygulama geliştirme imkanı sağlıyordu.
1990'ların ortalarında Psion 32-bitlik bir işletim sistemine SIBO'yu baz alarak başladı. Amaç başka mimarideki makineler üzerinde de çalışabilecek, çoklu ortam (multi media), yeni haberleşme birimlerini destekleyecek ve daha modüler bir işletim sistemi yapmaktı. Bu çalışmaların sonucunda EPOC isimli bir işletim sistemi yapıldı. EPOC C++ ile yazılmıştı ve yine programcılara C++ ile kendi uygulamalarını geliştirmelerine olanak tanıyordu.
EPOC'un başka mimarideki makinelerde de koşabilmesi, cep telefonu üreticilerinin de dikkatini çekti. Özellikle Psion'un bu konuda diğer telefon üreticisi şirketlerle temasları sonucunda cep telefonu üreticileri yeni nesil internet telefonları veya akıllı telefonlar için EPOC'u standart kabul ettiler. Bunun üzerine Nokia, Ericsson, Motorola ve Matsuhita (Panasonic) bir araya gelerek EPOC işletim sistemini daha da geliştirip Simbiyan işletim sistemini ortaya çıkardılar.
Simbiyan Telefonları
Şu anda piyasada Simbiyan işletim sistemi ile çalışan telefonlar mevcut. Nokia'nın 80 serisi telefonları (Communicator 92xx) ve 60 serisi telefonları (7650 ve yakında çıkacak olan 3650); Sony-Ericsson'un P800 telefonu şu anda piyasada olan Simbiyan telefonlarından. Bunun dışında Panasonic ve Siemens de yakında kendi modellerini piyasaya sürecekler. Bu şu anlama geliyor: Programcılar Simbiyan İşletim Sistemi için yazmış oldukları uygulamaları bu telefonların hepsinde çalıştırabilecekler!
Uygulama Geliştirme Ortamı
Öncelikle şunu söyleyeyim: Simbiyan uygulamalarını test etmeniz için gerçek bir telefon edinmenize hiç gerek yok! Yukarıda bahsedilen telefonların Emulator'leri mevcut. Simbiyan'da program yazmak için hangi programlama dilini kullanacaksınız? Şu alternatifler mevcut:
1. C++:Simbiyan İşletim Sistemi zaten C++ ile yazılmış bulunmakta. C++ ile işletim sisteminin sunduğu tüm servislere API'leri vasıtası ile erişip kullanabilirsiniz. Yalnız malum C++ ile program yazmak zordur! Geliştirme ortamı olarak: MS Visual C++ v6.0 gerekiyor.
2. Java:Java Personal Edition'a uyumlu olarak Simbiyan API'lerine Java ile erişmek mümkün. Şu anda JDK 1.1.6 seviyesindeki kütüphane sınıflarının neredeyse tamamı mevcut. Sun'ın JDK 1.1.8'ini indirip oradaki kütüphane classlarını kullanarak Symbian için program yazıp derleyebilirsiniz. Bunun dışında Java Telephony API'si ve Java COMM API'si destekleniyor.
3. Visual Basic:AppForge isimli bir araç ile VB de Simbiyan için program yazabilirsiniz.
4. OPL
Uygulamaları geliştirmek için Simbiyan SDK'sını indirmelisiniz. Geliştirme ortamı Windows NT/2000 işletim sistemi olarak tavsiye edilmektedir.
Simbiyan Uygulama Geliştirme Kütüphanesi
Simbiyan'ın uygulama geliştirmek için zengin bir kütüphanesi var. Özellikle C++ ile programlama yapacaklara bu kütüphane sonuna kadar açık. Diğerlerine değil mi derseniz: Java'da örneğin Bluetooth (Mavidiş) programları yazmak şimdilik mümkün değil. Kütüphane sınıfları alt sistemler halinde mantıksal olarak gruplanmıştır. Şöyle ki:
• Uygulama Motorları (Application Engines):Telefon defteri, Ajanda, Yapacaklarım Listesi (To-do List) gibi standart uygulamalara erişmenizi sağlar.
• Uygulama Çatısı (Application Framework): Telefon üzerinde çalışacak uygulamaların kullanacağı temel uygulama sınıflarını içerir. Görüntüsel elemanları (text alanları, listeler, düğmeler, diyalog kutuları) bir uygulamada kullanabilmeniz için gerekli altyapı sınıflarını barındırır.
• Uygulama Servisleri (Application Services): Programların sistem bazında ihtiyacı olan alarm, olay kayıtlama, sistem bilgilerine erişim gibi yardımcı servisleri içerir.
• Baz (Base): Simbiyan programcılarının ihtiyacı olacak temel programlama yapılarını içerir. Mesela Temel tipler, dinamik dizileri v.s.
• Mavidiş (Bluetooth): Mavidiş sınıflarını içerir.
• COMM Altyapısı (Comms Infrastructure): Port üzerinden haberleşme için gerekli sınıfları içerir.
• Grafik (Graphics)
• Kızılötesi (Infrared)
• Multi Media Server
• Mesajlaşma (Messaging): SMS, MMS gönderip, almak için gerekli sınıfları içerir.
• Ağişlem (Networking): TCP, UDP, IP protokolleri ile haberleşme sınıflarını içerir.
• Serial Comms
• Telephony: Kendi arama programınızı bu alt sistemdeki sınıfları kullanarak yazabilirsiniz!
• Wap Stack