1. Ionic Tamamen Ücretsiz ve Açık Kaynak

Web dünyasındaki en iyi özellik hiç bir bariyerin olmaması. İsteyen herkesin dünyanın her yerinden bir bilgisayar ve internet bağlantısı ile kendi websitesini ya da mobil uygulamasını yaratabilmesi. Ionic gibi güçlü altyapıların ücretsiz olarak açık kaynak kodlarını paylaşması hayatınızı ya da başkalarının hayatlarını değiştirebilecek yeniliklere imza atmanızı sağlayabilir. Eğer bir altyapı lisansı için 1000$ bir ödeme yapılması gerekirse, bu birçok yazılımcı ya da potansiyel yazılımcının gelişimine sekte vuracaktır. Bir şirket için 1000$ büyük bir tutar olmasada freelance yazılımcılar, startup şirketler ya da hobi olarak başlayanlar için bu tutar düşündürücü olacaktır.   

Tabi ki de tüm servislerin ücretsiz olduğu ütopik bir dünyadan bahsetmiyoruz. Ionic, Sencha gibi gerçek bir işletme olup kar etme amacı gütmektedir. Eğer herhangi biri geliştirdiği bir servis veya araç için ücret almak istiyorsa kesinlikle almalıdır. Ama küçük yazılımcılar için projelerini tamamen ücretsiz olarak geliştirecebilecekleri ya da az maliyetli planlar mevcuttur. 

Açık kaynak kod kullanımında dikkat edilmesi gereken tek nokta istikrar. Açık kaynak kod ile geliştirilmiş projelerde direk olarak herhangi bir kazanç edilmediği için bu kodları kullanan insanlar endişe duymakta çok haklılar. Ionic ve Angular gibi yüksek yatırım maliyetli ve yüksek gelir getirebilecek modellere sahip Goliath projeler için, ürünlerini kullanan büyük şirketleri yüksek meblağlar ile faturalandırabildiklerinden ötürü, iflas gibi bir durum söz konusu değildir.

2. Ionic Angular Üzerine Geliştirilmiştir

Daha önce Ionic kullandıysanız Ionic’in  AngularJS altyapısı üzerine kurulduğunu biliyor olmalısınız. Ionic, Angular’ın bazı özelliklerini genişleterek Angular altyapısı üzerine mobil uygulamalar geliştirmeyi daha kolay kılmaktadır. AngularJS Google tarafından desteklenen bugün en popüler JavaScript altyapısıdır. Büyük bir altyapı ve google tarafından destekleniyor olması her duruma uygun olduğu ya da genel olarak en iyi altyapı olduğu anlamına gelmez. Birçok uygulama geliştiricinin bu altyapıyı kullanıyor olması ve dahi mühendislerin altyapıyı geliştirmesi ve bakımını da yapıyor olması güvenli kılan etkenlerden. 

Angular üzerine kurulmuş Ionic neden iyi olduğunu düşünüyorum?

Birkaç neden:

  • AngularJS güçlü bir altyapıdır
  • Ionic bir uygulama geliştirirken destek için AngularJS geliştirici ağına başvurabilirsiniz 
  • AngularJS hakkında bilgi sahibi iseniz Ionic altyapısını öğrenirken çok kolaylık sağlarsınız
  • AngularJS hakkında bilginiz yok ise Ionic’i kullanarak öğrenebilir, web ve mobil uygulama geliştirirken kullanabilirsiniz

AngularJS, Ionic ile birlikte gelecek nesil uygulama geliştiriciler için uzun bir müddet çıtanın üzerinde kalacaktır. 

Yayınlanacak olan Angular 4 & Ionic 4 altyapıları ECMAScript  standardına göre geliştirilmiş olup, özellikle mobil için performans gibi birçok iyileştirmeyi içermektedir. Bunlar büyük değişiklikler olup, ileri tarihli vizyonlardır. Ama sanırım Angular ve Ionic önümüzdeki yıllarda en çok tercih edilen altyapılar olacaktır. 

3. Ionic kullandıklarım arasında en çok “Native Like” altyapıdır

Mobil web uygulamalarının native uygulamalar gibi çalışması fikrine katılmıyorum. Fakat bir HTML5 mobil uygulamanın, iyi tasarlanmış düzgün çalışan ve kolay kullanım olan bir native uygulama gibi davranması gerektiğini düşünüyorum.

Bazı HTML5 mobil uygulama altyapıları iyi çözümler sunamasa da Ionic başarılı çözümler sunmaktadır. Hızlı, düzgün ve uyumludur. Mobil bir cihazda hızlı performans sağlayabilecek altyapıya sahiptir.

  • “Erteleme” özelliğini sunmaktadır
  • DOM bileşenlerini tekrardan kullanıma sunmaktadır. (DOM manipülasyonu mobil cihazlar için en büyük performans sınırlamalarından biridir)
  • Native kaydırma özelliğini sağlamaktadır
  • Mobil cihazlarda iyi çalışan animasyonlar
  • Ve daha fazlası…

Ionic’in belirtmem gereken en önemli özelliği ise otomatik olarak gelen kayar menü özelliği. Diğer altyapılarda bu özellik ya mevcut değil ya da düzgün olarak yapılmamıştır.

Düşük çözünürlüklü/ low FPS gif bu fonksiyonaliteyi gösterebilecek en son durumdur. Fakat Ionic’deki kayan menü Facebook gibi yüksek kalitede bir uygulama havası sunmaktadır. 

4. Ionic Değiştirilmesi Kolay Bir Arayüze Sahiptir

Ionic otomatik olarak tanımlı birçok Javascript ve CSS bileşeni ile gelmektedir. Bir mobil uygulamanı görünümünde yapmak istediğiniz basit değişiklikleri böylece kolaylıkla yapabilirsiniz. Kayan menü gibi özelliklerin yanısıra aşağıdaki özellikleri de bulundurmaktadır:

  • Formlar
  • Butonlar
  • Listeler
  • Yönlendiriciler
  • Popup’lar
  • Tab’lar
  • Kayan Kutular
  • Ve daha fazlası

Ionic’in sağladığı, otomatik olarak gelen stiller, oldukça şık ve basit olup tanımlı CSS sınıflarından birini ekleyerek düzenleyebilirsiniz:

Eğer biraz macera arıyorsanız kendi stillerinizi hatta kendi şablon ve temalarınızı oluşturabilirsiniz.

Ionic aynı zamanda iOS ve Android arasındaki UX farklılıklarını da temin etmektedir. Örnek olarak, başlık eklediğinizde iOS da otomatik olarak merkezde Android de ise sola dayalı olarak hizalanacaktır. Başlık alanındaki butonlar birincil ve ikincil olarak tanımlanacak ve platformda en uygun neresi ise orada yer alacaktır. Eğer Android de de başlığın ortada yer almasını istiyorsanız kodu değiştirebilirsiniz, farklı platformlar için olan UX kalıpları ile aşina değilseniz sizin için büyük kolaylık olacaktır.

5. Araçlar & Servisler

Ionic altyapının kullanımını daha da hoş kılan birçok araç ve servis sağlamaktadır. Bir kez node.js  yüklediğinizde kolaylıkla çalıştırabilirsiniz:

npm install -g cordova ionic

Böylece ilk Ionic projenizi yaratmanız için ihtiyacınız olan herşey yüklenmiş olur:

ionic start myApp blank

İonic start myApp tab

Boş iskelet bir proje yaratarak, bu boş alanı yan menü veya tab barlar ile değiştirebilirsiniz. CodePen de yer alan herhangi bir projeye link vererek şablon olarak yer alabilirsiniz.

Uygulamanızı çalıştırmak için XAMPP gibi bir web sunucusuna ihtiyaç kalmadan aşağıdaki kodu uygulama içinden çalıştırabilir ve uygulamanızın tarayıcıya yüklenmesini sağlayabilirsiniz. Kod üzerinde yaptığınız eşzamanlı değişiklikleri de görmenizi sağlayacaktır.

ionic serve

Uygulamanızın iOS ve Android üzerinde nasıl göründüğünü görmek için ise aşağıdaki komutu çalıştırabilirsiniz.

ionic serve –lab

Uygulamanızı ionic.io ‘ya yüklemek için ise 

ionic upload

iOS ve Android için Ionic View  uygulamasını indirerek kendi uygulamanızı canlı olarak herhangi bir cihazda inceleyebilirsiniz.

Uygulamanızı arkadaşlarınız ile paylaşmak için ise aşağıdaki komutu kullanabilirsiniz 

ionic share mymate@example.com

iOS ve Android için gerekli ekran ve ikonlar için 1024 x 1024 ebatlarında ikon ve 2732 x 2732 ebatlarında splash screen yaratarak aşağıdaki kodu çalıştırın:

ionic cordova resources

Photoshop üzerinde tek tek ebatlama yapmanıza gerek kalmayadan Ionic sizin için otomatik olarak kendisi yaratacaktır.

Ionic’in sağladığı bu muhteşem CLI araçlarının yanısıra:

Ionic ve tüm bu araçlar tamamı ile ücretsiz olup, Ionic ayrıca ionic.io platformunda yer alan destek servislerini de hizmete sunmaya başlamıştır:

  • Anlık bildirimler için Ionic Push
  • Ionic uygulamalarınızda yaptığınız geliştirmeleri incelemeye göndermeye gerek kalmaksızın yayına alabilmenizi sağlayan Ionic Deploy
  • Uygulama kullanıcılarının davranışlarını gösteren Ionic Analytics

6. Ionic, Native İşlevsellik ile kolayca entegre olabilmektedir

Herhangi bir HTML5 mobil altyapısı, Cordova sayesinde kamera, kontak listesi, GPS gibi birçok native özelliğe kolayca erişebilmekte ve kullanabilmektedir. ngCordova sayesinde Ionic bunu daha da kolay hale getirmektedir.

ngCordova AngularJS servislerini ve uzantılarını barındıran bir koleksiyon olup Cordova pluginleri ile kolayca entegre olunabilmesini sağlamaktadır. En önemlisi promises i kullanarak kod yazmanıza izin vererek “callback hell” e gerek kalmaksızın kodunuzu düzenli tutmanızı sağlar. 

Birçok Cordova eklentisini kolayca entegre edebilir, daha sofistike birşey arıyorsanız ngCordova’nın faydalarından yararlanmaya başlayabilirsiniz.

ngCordova’nın bir diğer güzel özelliği ise en iyi eklentiler için kaynak sağlamasıdır. Bir dolu eklenti içerisinden hangisini kullanacağınıza ngCordova’nın websitesine bakarak karar verebilirsiniz. Hangileri popüler, hangilerinin desteği iyi.

7. Harika Bir Geliştirici Ekibi 

Ionic ekibinin üyeleri sosyal medyada oldukça aktif olup, kullanıcıları ile oldukça etkileşim halindedir. Kurucuların kendisine dahi ulaşmanız mümkündür. Twitter’da oldukça aktif olan birkaç kişinin listesi:

Ionic Slack channel üzerinden de bu kişilere kolayca ulaşmanız mümkün.

8. Oldukça Aktif ve Başarılı Bir Topluluk

Ionic oldukça iyi bir topluluğa sahiptir. Yardım alabileceğiniz bir grubun olması yanısıra arkadaşça bir topluluğa dahil olmanın keyfini çıkarın.

Birkaç aktif Ionic blogger isimleri:

Sonuç

Ionic’in en yaygın HTML5 mobil uygulama geliştirme altyapısı olduğu oldukça aşikar. Ionic’in baskın pozisyonunu koruyarak ileride daha da iyileşeceği kesin.