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 :


Internet Explorer 9 şaşırtıyor

Uzun zamandır ben ve benim gibi web geliştiricilerinin dert yandığı Internet Explorer sonunda kendini aştı ve 8 sürümü ile beraber uymaya başladığı standartlara devam dedi. Şu an beta olarak herkesin kullanımına sunulan Internet Explorer 9, standartlara uyumu ile bizleri şaşırtmaya devam ediyor. Sırası ile gelen değişikliklere bakalım :

Standartlara Uyum :

Bu sürümün en önemli kısmı standartlara uyum oldu. Belki son kullanıcı için ilk etapta çok birşey anlamasalar da HTML5 desteği ile önümüzdeki günlerde webde neler yapılabildiğinin sınırları zorlanacak. Birçok web sitesi sitelerinin HTML5 uyumlu versiyonlarının test yayınlarına başladılar ki günümüz yeni nesil mobil telefonları da HTML5 destekli tarayıcılar içerdiğinden HTML5 ilerisi için çok şey vaadetmekte. Gelelim gelen yeniliklere :

* HTML5 ses ve video elemanları
* Web font
* DOM Level 2 ve Level 3
* SVG
* HTML5’s Canvas elemanı
* ECMAScript 5 (JavaScript standartı)
* Gelişmiş CSS3 desteği

Bu gelen yeniliklerle daha önce büyük işkence olan sitelerin Internet Explorer için yeniden gözden geçirilme durumu değişecek gibi duruyor.

Performans Artışı :

Internet Explorer 9 ile doğal olarak performans artışı da geliyor. Microsoft bunun için Chrome’un V8 JavaScript Motoru gibi bir motor olan “Charka”yı geliştirmiş. Bu JavaScript motoru ile ciddi performans artışı olduğunu iddia ediyorlar. Tabi bunu zamanla göreceğiz.

Ayrıca Internet Explorer 9 ile donanımsal hızlandırma geliyor ki Windows 7 üzerinde çoklu çekirdekli işlemcileri daha efektif kullandığını iddia ediyorlar. Ayrıca grafikler için de donanımsal GPU desteği gelmiş ki yoğun grafiksel sitelerde bir hali hızlanma olacağını tahmin etmekteyiz.

Modern Tasarım :

Modern tarayıcılarda olduğu gibi Internet Explorer 9’da arayüz sadeleştirilip web için daha fazla alan bırakılmış. Aşağıdaki ekran görüntüsünde de görüleceği üzere Chrome’a benzeyen bir yapıya çevrilmiş.

Ayrıca yeni pencere açtığınızda en çok girdiğiniz sitelere kolay erişim sağlayabiliyorsunuz. Bir de Windows 7 üzerinde siteleri windows araç çubuğuna ekleyebiliyor ve sanki programlara erişir gibi favori sitelerinize erişebiliyorsunuz. (Pinned Sites) Bu eklenen sitelere hızlı erişim bağlantıları da ekleyebiliyorsunuz. (JumpLists)

Diğer tarayıcılarda olan adres çubuğunda arama yapma olayı da artık Internet Explorer 9 ile geliyor.

Internet Explorer 9 ile bilgi penceresi de alt tarafa çekilip daha düzgün bir hale gelmiş. İlgili ekran görüntüsüne aşağıdan ulaşabilirsiniz.

Yeniliklerin arkası gelmiyor ve Internet Explorer 9 ile bir Dosya İndirme Yöneticisi (Download Manager) geliyor. Bununla ilgili görüntüye de aşağıdan ulaşabilirsiniz.

Bunlar harici Internet Explorer 9 ile tarayıcının göçme durumunda geri gelmesi için araçlar (Hang Recovery) ve daha çok kurumsal yöneticilerin işine yarayacak yeni “Group Policy” ayarları gelmekte.

Geliştirici Ayarları :

Uzun zamandır web geliştiricilere dert olan Internet Explorer’da debug etme sorunu artık kendi içindeki araçlarla çözülebiliyor. “F12 Developer Tools” olarak adlandırılan araçlar ile Firebug tarzı bir geliştirme ortamı sunulmuş oluyor. Testlerini tam yapmadığım ama en basitinden artık “console.log()” diyebiliyoruz 🙂

Tüm bu yenilikleri görsel olarak görmek için Internet Explorer’ın yeni sitesi : http://www.beautyoftheweb.com e bakabilir. Ya da Microsoft’un basın duyurusuna bakabilirsiniz.

Internet Explorer 9’u indirmek için ise buraya tıklayabilirsiniz.

Sonunda Microsoft’u tebrik ediyor ve hoşgeldin Internet Explorer 9 diyorum…