Mobil Uygulamalar ve Titanium Gerçeği

Phonegap ile ilgili daha önce bir giriş yazısı yayımlamıştım. O yazımda mobil uygulama geliştirme çatılarının birden fazla mobil platformda iyi sonuçlar verebileceğini ve denemeye değer olduğunu yazmıştım. Açıkçası Phonegap i değil ama Titanium u gerçek bir uygulama ile denedim ve izlenimlerimi sizlerle paylaşmak zorundayım.

  1. Titanium Javascript ile kendi kütüphanelerini kullandırarak size yazılım geliştirtiyor. Bunu da hem Android in hem de IOS un karışık çatılarını ezberlemeyelim diye yapıyorlar. Burada dikkat edilmesi gereken bir nokta var ki, Android i de IOS u da böyle güzel ve kullanışlı yapan şey bu karmaşık yazılım çatıları. Yani demek istediğim şey şu ki, bu adamlar keyfiyetten bu çatıları karmaşık hale getirmiyorlar, gereksinimleri karşıladıkları zaman uygulama çatısı kendiliğinden karmaşık bir hale gelmiş oluyor. Ama Titanium burada ne yapıyor, bu adamların özenerek ürettikleri bu karmaşık çatıları, tek bir çatı altına almaya çalışıyorlar, yani denkleme bir problem daha katıyorlar, ve çözümü iyice karmaşıklaştırıyorlar yada tam aksine basitleştirmek için sistemleri budamak zorunda kalıyorlar.
  2. Bu mobil çatı aynı zamanda Java ve Objective-C öğrenmek zorunda kalmayalım diye hazırlanıyor. Diğer yandan burada bizim Javascript kullanmamız gerekiyor. Bu dili bir çok web geliştiricisinin bildiğini düşününce gerçekten mantıklı bir sonuç değil mi? İşte kazın ayağı öyle değil ne yazık ki: Bir çok web geliştiricisi Javascript i sadece basit Jquery metodlarını çağırabilmek için kullanır, yani esasında kullandıkları şey web metodları olan bir C dilidir. Diğer yandan her ne kadar ciddiye alınmasa da Javascript çok ciddi bir dildir. Hatta ana akım olmayı başarmış en yakın Lisp özellikli dildir. Bu da ne demek, öyle herkes Javascript bilmiyor demek(şahsen ben adeta bilmiyorum). Bayağı bir özelliği var demek (ki kötü özellikleri de var ve adeta bunları öğrenmemek gerek, hatta sırf bunun üzerine yazılmış kitaplar bile var.). Dolayısıyla amatör bir şekilde tüm uygulamayı Javascript te yazarsan işlerin çığrından çıkma ihtimali yüksektir. Önce function scope nedir, global namespace nedir bilmek gerekir.
  3. Bu adamlar bu kadar güzel özelliği beleşe veriyorlar biliyor musunuz? E peki nasıl para kazanıyor bu amcalar? Şimdilerde marketplace uygulaması başlattılar. İlk maddede bahsettiğim budanmış sisteme bu sefer o budanan nesneleri satıyorlar. E peki daha önce ne yapıyorlardı? Sonuçta ortada ne olduğu belli olmayan bir uygulama çatısı mevcut. Kullanmak istiyorsan nasıl çalıştığını bilmek zorundasın, e dökümantasyon da olmadığına göre gelip bu amcalardan eğitim alacaksın ve sertifikanla beraber yazılım geliştirmeye devam edeceksin. Yani sonuç, dökümantasyona güvenme! Çünkü adamlar bilerek ve isteyerek çok az dökümantasyon yayınlıyorlar, projeye baslamana yetecek kadar ama biterecek kadar değil!
  4. Hata varsa ne yapacaksınız? Sonuçta bu Titaniumu yazan amcalar da insan ve onlar da hata yapabiliyorlar. Tamam kabul ediyorum google ve apple daki elemanlar da insan onlar da hata yapabilirler. Ama burada dikkat edilmesi gereken elemanların böyle bir durumda tepki hızları olacaktır. Forumlardan siz de görebilirsiniz, bir hata herhangi bir uygulama çatısında kesin olarak belirlendikten ne kadar süre sonra çözülmüş. Titanium forumlarında ise bir ıssızlık, bir umursamama kol geziyor. Projenizde güvendiğiniz çatının hatası yüzünden müşteriye geç kalınca ne demeyi düşünüyorsunuz?
  5. Diğer yandan bu adamlar bu işi bırakırlarsa ne olacak? Bu projeye bundan sonra kim bakacak? Google ve Apple ın daha uzun süreler buralarda olacağı kesin(batacaklarsa veya bırakacaklarsa da çok önceden kokusu çıkar ve siz önleminizi alabilirsiniz) ama ya yarın Apple Titanium u satın alırsa ne yapacaksınız? Siz müşterilerinize destek vermeye devam edeceksiniz ama adamlar çatıya gerekli değişiklikleri yapmayabilirler. Misal Facebook satın aldığı start-up şirketleri kapatıp, elemanlarına şirket bünyesinde görev veriyor. Titanium a da bu olursa ne olacak? Mesela yanlış bilmiyorsam PhoneGap i Adobe satın aldı. Ee ne olacak şimdi? Onlara ne söyleceksiniz bu durumda? Kullandığınız uygulama geliştirme çatısının piyasa desteğinin bittiğini mi söyleceksiniz? Bu projenin kendi evanjelist programcıları var mı? Lisp gibi yıllarca kendi kendini devam ettirebilecek mi?
Sonuç olarak tabii ki ortak bir çatı fikri her zaman mantıklı geliyor, ama teknoloji ve fikir dünyası böyle yürümüyor. Eğer bu adamların taktiği işe yarıyor olsaydı şu anda herkes en fazla C++ ile işini halledebiliyor olacaktı. Monarşi de dünyanın tek yönetim sistemi falan olurdu heralde : ). Böylelikle diyebiliriz ki, Titanium gibi projeler şimdilik daha orta ve küçük ölçekli projelerde tercih edilmeliler, daha ciddi işlerde teknolojinin kendi çatısı kullanılmalı.
Herkese iyi çalışmalar, iyi kodlamalar.