ExtMap Touch – Mobil CBS Uygulama Çatısı

Uzun zamandır sessizliğe bürünmüştüm, sebebi ise üzerinde uğraştığım projeydi. Daha önce ExtMap JS ve iExtMap adında web ve iPhone ortamları için uygulamalar geliştirmiştim ama hayalimde mobil web ortamında çalışacak, yanı neredeyse tüm mobil tarayıcılarda çalışacak bir uygulama yazmak vardı. Sencha Touch JS Uygulama Çatısının (Framework) yayınlanması ile birlikte Sencha firması bir mobil geliştirme yarışması düzenledi ve ben de bu yarışmaya katılmaya karar verdim. Bu yarışma uygulamaya başlamam için iyi bir motivasyon kaynağı oldu.

Geçen hafta yarışma sonuçları açıklandı ve sonuç biraz hüsran oldu 😀 Ama bu yarışma nedeniyle başladığım uygulamamı bitirmek belki de daha güzel bir ödül oldu benim için.

Daha önce ExtMap JS ile başladığım yola sonrasında iOS (iPhone) uygulaması olan iExtMap ile devam ettim. Aslında mobil bir uygulama yazmıştım ama yazdığım uygulama “native” bir uygulama olduğu için sadece iOS cihazlarda çalışmaktaydı. Ben de Sencha Touch ile HTML5/JavaScript ve CSS3’ün getirdiği avantajları kullanarak ExtMap Touch’u yazdım.

ExtMap Touch’ı yazma sebeplerimin başında yukarıda da bahsettiğim gibi her platformda çalışacak bir mobil CBS uygulaması yazmaktı ki bu noktada Mobil Web en uygun platform olacaktı. Çünkü günümüzdeki popüler mobil platformlar; iOS, Android, WebOS, Bada, BlackBerry ve Symbian vb, web tarayıcı için Apple’in açık kaynak olarak geliştirdiği WebKit motorunu kullanmaktalar. Durum böyle olunca web geliştiricinin hayali olan tek bir tarayıcı için geliştirme yapmak gerçekleşmiş oluyor. Tabi bu noktada bütün platformlarda aynı tip WebKit fonksiyonları da bulunmayabiliyor, yani uygulamanızın kesin çalışacağı garantisi maalesef olmamakta ama gelecekte aynı motoru kullandıkları için ortak bir payda da birleşeceklerini umut etmekteyim.

WebKit’in mobil ortamlarda defakto standart olmasının yanı sıra HTML5’e tam destek vermesi de yeni nesil uygulamalar için süper yetenekler anlamına geliyor. Örneğin ExtMap Touch’da kullanıcının eklediği katmanlar, favori noktalar ve son kaldığı nokta ile harita tipi tarayıcıda WebSQL ve LocalStorage aracılığı ile saklanıyor, böylelikle kullanıcı sonraki ziyaretinde aynı yerden devam ediyor. Üstelik sunucu tarafında hiçbirşey tutulmadan.

Uygulamada altlık harita olarak

  • Google Maps
  • Bing Maps
  • Open Street Maps
  • Boş (kendi altlık haritanız için)

olmak üzere 4 farklı kaynaktan beslenmekte.

Uygulamanın fonksiyonlarına gelirsek :

  • Dinamik olarak katman ekleme (ArcGIS Server katmanları, WMS, KML/GeoRSS ve Tile Servisleri)
  • GeoLocation (kullanıcının mevcut pozisyonunu alır)
  • Yaklaş / Uzaklaş
  • ArcGIS Server Katmanlarında sorgu yapma
  • Favori nokta ekle/gör
  • Enlem-Boylam ve yükseklik gör
  • Girilen Enlem-Boylam’a git
  • Adres bulma (Geocoding-Reverse Geocoding)

Uygulama kapsamında hem HTML5 hem de CSS3 teknolojileri JavaScript ile iç içe kullanıldı. Öyle ki harita değişimleri arasında CSS3’ün 3-Boyut geçiş efektleri kullanıldı.

Uygulama ilgili detaylara aşağıdan ulaşabilirsiniz. Bu arada bu sefer ExtMap JS’deki Açık Kaynak felsefesi bu uygulama için geçerli olmayacak. İnsanların açık kaynak kodları alıp, sonra da ben yaptım demesi ki Türkiye’de çok yapılan bir hareket. Bu sebepler nedeniyle uygulama kapalı olarak gelişecek 🙂

Uygulamanın Demo Adresi : www.extmap.com/touch

ExtMap’in Genel Adresi : www.extmap.com

Uygulamanın Videosu :