Web arayüzü geliştirme macerasıyla dünyaya merhaba diyen JavaScript günümüzde Hibrit uygulamalarında öncüsü olmuştur. Bu konuda bir çok proje hayata geçirilmiş ve bir çoğu kendi hedef kitlesince benimsenerek ilerlemiştir. Mobil iletişim vs. araçların yaygın olarak kullanılması ile de  artık Javascript ile artık mobil uygulamalarda geliştirilmesini sağlayan teknolojilerin çıkması ve ilerlemesini sağlamıştır. JavaScript ile artık;

  • Window/MacOS/Linux için masaüstü uygulamalar,
  • Anroid/iOS için mobile uygulamalar

geliştirebilirsiniz.

Şu ana kadar piyasaya sürülen uygulama geliştirme projelerin tamamında JavaScript tek başına çalıştırılamıyor, ancak JavaScript’i çalıştırmak için kendi bünyelerinde bulunan yerleşik tarayıcı motorunu ya da işletim sisteminin varsayılan olarak sağladığı tarayıcı motorunu kullanarak uygulamalar çalıştırılıyor. Hem mobile hem masaüstü uygulamalar bu prensibe dayanarak çalıştırılıyor ve bu prensiple çalışan uygulamalara HIBRIT uygulamalar deniyor. Hibrit uygulamalarda uygulamanız aslında Native (Yerli – İşletim sisteminin sağladığı SDK’ya çevrilmiş) olarak değil, bir tarayıcı penceresi içinde çalıştırılıyor ve böylece bir çok işletim sistemi ve ortama uygulamanızı rahatlıkla taşıyabiliyorsunuz. 

Masaüstü Uygulamalar Geliştirmek

JavaScript ile masaüstü sistemlerde kullanılmak üzere küçük ve orta hatta büyük ölçekli uygulamalar geliştirilebilir. Bu geliştirme ortamlarının en başarı olanları Intel firması sponsorluğunda geliştirilen NW.js ve Github sponsorluğunda geliştirilen ElectronJS‘dir.  Şimdi bunların teknik özelliklerini kısaca karşılaştıralım.

NW.jsElectronJS
Proje Başlangıç Tarihi20112013
SponsorlarIntelGithub
Lisans TipleriOpen Source, MIT LicenceOpen Source, MIT Licence
Kullanılan Yerleşik TarayıcıChromiumlibchromiumcontent
Uygulamanın Başlama YeriBir HTML dosyasıBir javascript dosyası
Kurulum veya Dağıtım Boyutu139 MB (52 MB ile sıkıştırma ile)125 MB (45 MB sıkıştırma ile)
Window Platform DesteğiWindows 7+ (x86 ve x64)Windows 7+ (x86 ve x64)
Windows XP DesteğiLTS versiyonunda var. Yok
Mac Platform DesteğiMac OS X.9+Mac OS X.9+
MacOS X.6LTS versiyonunda var. Yok
Mimari Desteği32 Bit (Win), 64 bit (Win/Mac)32 Bit (Win), 64 bit (Win/Mac)
Chrome API desteğiVarYok
Eklenti DesteğiNaCL, PepperPepper
Adobe Flash DesteğiEklenti ile mevcutEklenti ile mevcut
Mac Store DesteğiVarVar
Windows App Store DesteğiVarWindows 10+
Uygulama İmzalamaVarVar
Otomatik GüncellemeUnclear (module ile)Squirrel ile
Kod GüvenliğiV8 SnapshotASAR Archive Desteği
SSL SertifikaVarKısmen
Yazdırma ÖnizlemeVarYok
Hata AyıklamaDevTools + extensionsDevtron Module
Octane 2.0 Score2720527343

NW.js ve ElectronJS arasında pek bir fark bulunmamaktadır. Fakat projeler incelendiğinde NW.js  size normal bir web ortamının mümkün olduğunca taklit eden bir programlama ortamı vermeye çalışır. ElectronJS’de çok sayıda platformlara özgü entegrasyonlar mevcuttur. Bu da bazen bir özellikten faydalanmak için programcının electron kodu yazması demektir.

Yakın zamanda duyurulan Nidium projesi Chromium veya NodeJS’i kullanmadan uygulama geliştirmenize izin verir.  Mozilla JavaScript moturu SpiderMonkey ile geliştirilmiştir. ElectronJS ve NW.js’den farklı olarak içerisinde bir tarayıcı barındırmaz. Ancak içinde DOM uyumlu bir katmana sahip küçük bir düzen motoru ile birlikte gelir, böylece uygulamanızda ReactJS gibi çerçeveler kullanmanıza müsade eder. Ayrıca Nidium projesi mobile cihazlarda da çalışabilir.

Mobil Uygulamalar Geliştirmek

Mobile iletişimin ve cihazların gelişmesi, firmaların bu konuda teknik donanımlara yatırım yapması ve daha küçük fakat daha çok işlem ve hafıza gücüne sahip cihazlara da artık JavaScript ile uygulama geliştirilmeye başlandı. JavaScript ile Mobile uygulama geliştirme ortamlarını kısaca incelersek;

  • Apache Cordova
  • React Native

hemen hemen diğer bütün teknolojiler bu iki teknolojinin çalışma prensibi etrafında küçük farklılıklar ortaya koyarak çalışmaktadır. Apache Cordova bir çok mobile cihaza uygulama çıkartırken, React Native şu an için sadece Android ve iOS işletim sistemine sahip cihazlara uygulama çıkarabilmektedir.

Apache Cordova çalışma prensibi olarak tıpkı masaüstü geliştirme ortamında belirttiğim gibi kodunuzu yerleşik olarak işletim sisteminin içinde var olan tarayıcıya benzer bir tarayıcı (WebView) içinde kodunuzu çalıştırmasıdır. Bu şekilde mobil hibrit uygulama elde edilmiş olur ve uygulamanızı bir çok ortama rahatlıkla taşıyabilirsiniz.

React Native 2015 yılında önce iOS sonrasında Android platformunda yayınlanan belki de şimdiye kadarki alternatif çalışma ve geliştirme yöntemlerinin en iyisidir. React Native farklı olarak kodunuzu JavaScript ile yazmış olmanıza rağmen uygulamanızı yerel (Native) olarak çalıştırır.

Prensip olarak JavaScript ile geliştirdiğiniz Virtual DOM görünümlü View veya Componentler derlenme ve çalıştırma sırasında Native olarak hazırlanmış View ve Componentler arasında bir köprü kurarak WebView fikrinin aksine tamamen Native Componentler ve View’ler uygulamanızda çalıştırılıyor. Bu şekilde siz JavaScript yazarsanız ama derlenme ve çalıştırma sırasında Native olarak hazırlanmış kod blokları çalışır.

Kaynaklar:

http://www.wikipedia.org

https://electronjs.org

https://nwjs.io/

https://facebook.github.io

https://cordova.apache.org/

0 cevaplar

Cevapla

Want to join the discussion?
Feel free to contribute!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir