Mobil Uygulama Geliştirme Teknolojileri

Mobil Mert Can POLAT 31 Temmuz 2016

Mobil uygulama geliştirme terimi, mobil cihazlar için geliştirilmiş yazımlara atıf yapan bir terimdir. Bu cihazlar içerisinde kişisel dijital asistanlar, şirket dijital asistanları veya mobil telefonlar yer alabilir. Bu uygulamalar mobil cihazların yazılımlarının üretimi sırasında telefonun içerisinde hazır bir şekilde teslim edilebilecekleri gibi, ayrıca bir web uygulaması şeklinde daha sonradan da cihazlarda kullanılabilirler. Bu sayede bir uygulama yüklemeden web tarayıcısı üzerinden uygulama benzeri bir kullanım da söz konusu hale gelir.

Gelişim sürecinin bir parçası olarak, mobil kullanıcı arayüzlerinin tasarımı, mobil uygulama geliştirme konusunda temeldir. Mobil arayüz tasarımında içerik, görüntü, girdi ve mobiliteye ihtiyaç duyar. Kullanıcılar sıklıkla cihazları ile etkileşime geçme ihtiyacı duyarlar ve arayüz hem yazılım hem de donanımdan bileşenlere sahiptir. Arayüz, kullanıcıların bir sistem üzerinde değişimler yapmasını sağlar ve cihazın çıktısı sistemde kullanıcıların manipülasyon etkisini içerir. Mobil arayüzler, işletim sistemini destek bağlantısı sağlamak için arka uç yazılımlarına ihtiyaç duyar. Mobil arka uç yazılımları arasında veri ara yazılımları, güvenlik, kimlik denetleme, yetkilendirme, çevrim dışı çalışma ve servis düzenlemesi gibi bölümler bulunur. Günümüzde çeşitli platformları temel alan fakat aynı görevi gören çok sayıda başarılı mobil uygulama geliştirme teknolojisi bulunmaktadır. Bunlardan en önemlilerinden bazıları Cordova, Xamarin, Intel XDK, Eclipse ve xCode platformlarıdır. Bu yazımızda sizlere bu platformlar hakkında temel bilgileri vermeye çalışacağız.

 

cordova-logo

Cordova

Cordova önceki adıyla PhoneGap şimdiki adıyla ise Apache Cordova olan popüler bir mobil uygulama geliştirme çatısıdır. Nitobi tarafından üretilen yazılım, daha sonra Adobe tarafından satın alınarak 2011’de PhoneGap adıyla tanıştırılmıştır. Fakat daha sonra bu sistemin adı Cordova ismine çevrilmiştir. Apache Cordova yazılımcıların mobil cihazlar için CSS3, HTML5 ve JavaScript kodlarını kullanarak yazılım geliştirmesini sağlar. Bu yazılımın platform tabanlı yazılımlara göre avantajı, platformdan bağımsız olmasıdır. Yani Cordova ile aynı anda Android, iOS ve Windows Phone için yazılım geliştirmek mümkündür. Bu uygulama CSS, HTML ve JavaScript kodlarının platform veya cihaza göre düzenlenmesinde destek olur. Söz konusu yazılım dillerinin seçilen cihazla uyumlu çalışmasını düzenler. Sonuçta ortaya çıkan uygulama hibrit bir uygulamadır. Yani gerçekte sadece bir mobil platforma özgü değildir. Ayrıca tamamen web tabanlı da değildir (çünkü sadece web uygulaması değildirler, mobil cihazların platformlarına uygun şekilde düzenlenebilir paketlerdirler.) Yerli ve hibrit kodun bir arada kullanılması, 1.9 versiyonundan beridir söz konusudur.

Daha önce PhoneGap adıyla anılan Apache Callback, açık kaynak kodlu bir yazılımdır ve aynı zamanda ek uygulamalara da izin verir. Bunlar arasında Appery.io veya Intel XDK gösterilebilir.

PhoneGap Adobe’un Cordova’nın üstünde eko sistemleştirilmiş ve ürün haline getirilmiş versiyonudur. Aynı PhoneGap gibi Cordova üzerine inşa edilmiş çok sayıda başka çatı yapısının varlığından bahsedilebilir. Bunlar arasında Ionic, Monaca, TACO ve Intel XDK gösterilebilir. Bu uygulamalar temellerinde PhoneGap’i değil Cordova’yı kullanılırlar.

Apache Cordova projesinin maddi destekçileri arasında BlackBerry, Google, Intel, Microsoft gibi devleri göstermek mümkün. Son sürümü olan 6.1.0 sürümü piyasalara 2016 Mart ayında sürülen Cordova, C#, C++, CSS, HTML, Java gibi dillerde yazılmıştır. İçerisinde çalışabildiği işletim sistemleri arasında ise Android, iOS, BlackBerry, Ubuntu Touch, Windows 8 gibi işletim sistemleri vardır. Apache Cordova uygulamaları temelde CSS3 ve HTML5’i görüntüleme için kullanırken, yazılım mantığının işletilmesinde ise JavaScript kullanır. HTML5 altta yatan donanıma erişimi sağlar. HTML5’in erişim sağladığı donanımlar arasında kamera, GPS ve ivmeölçer gibi uygulamaların olduğunu söyleyebiliriz.

 

Xamarin_logo_and_wordmark

Xamarin

Xamarin Microsoft San Francisco’un sahip olduğu Kaliforniya temelli bir yazılım firmasıdır. 2011 yılında kurulan firmanın mühendisleri Mono, Android için Mono ve MonoTouch yazılımlarını geliştirmişlerdir. Bu yazılımlar ortak dil altyapısının ve ortak dil özelliklerinin (genelde .NET olarak anılır) çapraz platform uygulamalarıdır.

C# tabanlı kod temeli ile, geliştiriciler Xamarin araçlarını yerel Android, iOS ve Windows uygulamaları geliştirmek için kullanabilirler. Xamarin ile çoklu platformlar arasında kod da paylaşabilirler. Mayıs 2015 itibariyle dünyada 120’den fazla ülkede 1 milyondan daha fazla yazılım uzmanı Xamarin’in ürünlerini kullanmaktadır. Şubat 2016’da ise Microsoft Xamarin kullanmak üzere bir anlaşma imzalamıştır.

Doğal kullanıcı deneyimi sloganı ile yola çıkan Xamarin’in uygulamaları standart doğal kullanıcı arayüzü kontrolleri tarafından yönetilirler. Uygulamalar sadece kullanıcılarının beklentisini karşılıyormuş gibi görünmez aynı zamanda o şekilde de çalışır. Xamarin uygulamaları alttaki platformun ve cihazın tüm özelliklerine erişim sağlayabilme yeteneğine sahiptir. Bunlar arasında iBeacons ve Android Fragments gibi platforma özgü özellikler de bulunmaktadır. Bir diğer sloganı da doğal performans olan Xamarin uygulamaları platforma özgü donanım hızlarını da gereksiz hale getirir ve doğal bir performans için kurgulanmıştır. Uygulama geliştirme sırasında C# dilini kullanan Xamarin, ayrıca Java, Swift veya objektif C ile yapılabilecek her şeyin C# ile de yapılabileceğini belirtmektedir. C# dilini temel alan Xamarin ile çok daha az sayıda kod yazarak çok daha fazla miktarda kod yazmak mümkündür. Bu C#’ın otomatik kod ekleme özelliği sayesinde mümkün hale gelmektedir.

Xamarin ile dosya paylaşımı yapmak da mümkündür. Kodları, görüntüleri veya herhangi bir medya unsurunu iOS, Android ve Windows Phone ile paylaşmak mümkündür. Taşınabilir Class kütüphaneleri sayesinde kendi uygulama yapınızı oluşturabilir ve bu yapıyı geliştirdiğiniz her uygulamada kullanabilirsiniz. Xamarin.Forms ise sizlere iOS, Android ve Windows Phone için %100 paylaşımlı C# doğal kullanıcı arayüzleri oluşturmanızı sağlar. Xamarin.Forms içerisinde 40’dan fazla kontrol ve düzenleme barındırır. Bu kontroller çalışma sırasında doğal kontroller içerisinde haritalanmışlardır. Xamarin ile uygulama mağazasına doğal içerikler yollayabilirsiniz. Ayrıca Apple iOS SDK’yı %100 olacak şekilde C#’a taşıyabilirsiniz. Bu sayede bildiğiniz dilde rahatlıkla uygulama geliştirmeniz söz konusu hale gelir. Bunların yanı sıra Xamarin tercih etmeniz için daha pek çok avantaj saymak mümkündür.

 

ProductGraphic_XDK_NAME

Intel XDK

Intel XDK çapraz platform geliştirme yazılım geliştirme uzmanlarına yazılım geliştirme, test etme ön izleme ve HTML5 hibrit uygulamalarını piyasaya sürme imkanı tanır. Bu uygulamayı kullanmak için öncelikle bilgisayarınıza Intel XDK yüklemeniz gerekir. Uygulamayı kullanmak için Windows, Linux ve Apple işletim sistemlerini kullanabilirsiniz.

Intel XDK uygulaması sizlere kod yazmanız, test etmeniz ve mobil uygulamalar geliştirmeniz için ihtiyaç duyduğunuz aletleri sağlamaktadır. Ayrıca hibrit bir HTML5 uygulaması ile tek bir seferde birden çok platformu hedef edinmeniz de söz konusudur. Bu içerikte sizlere Intel XDK ile ilgili bilmeniz gereken temel bilgileri vermeye çalıştık. Detaylı bilgiler için Intel XDK sayfalarını ziyaret edebilirsiniz.

Intel XDK içerisindeki her bir proje içerisinde bir HTML5 uygulaması barındırır. Sıfırdan bir HTML5 projesi geliştirmeniz söz konusudur. Bunu yapabilmek için mevcut HTML5 uygulamasını yüklemeniz veya örnek uygulamalar veya söz konusu çatı yapılarını düzenlemeniz gerekir. Bir Intel XDK aşağıdaki kuralları içermelidir:

  • Tüm dosyalar hiyerarşik bir klasörler düzeninde yer almalıdır. Bu dosyaların tümü bir temel proje klasörüne bağlı olmalıdır.
  • Bir index.html dosyası ise projenin kaynak klasörü içerisinde bulunmalıdır.
  • .xdk uzantılı dosyalar da ana proje klasörü içerisinde konumlanmış olmalıdır.

Intel XDK içerisinde bir proje oluşturulduğunda veya dışarıdan aktarıldığında Intel XDK özel bir proje adı.xdk şeklinde dosya oluşturur ve daha sonra projenize başlayarak arayüzler aracılığıyla tasarımınıza başlayabilirsiniz.

Intel XDK Intel tarafından mobil telefonlar veya tabletler için doğal uygulamalar geliştirmek için tasarlanmıştır. Bu platform HTML5, CSS ve JavaScript gibi yazılımları kullanır. Intel XDK ile geliştirilen uygulamalar daha sonra Cordova platformu sayesinde çapraz platform özelliği kazanır. Yani bu özellikle hazırladığınız yazılım tüm işletim sistemlerinde çalışabilir bir hal alır. Windows, OS X ve Linux işletim sistemleri için uygulamanız kullanılabilir olacaktır. XDK kiti bir yazılım uzmanına farklı platformalar için aynı çözümü uygulama imkanı tanır. Bu sayede çok sayıda platformda çalışabilecek bir yazılımın içerisinde bulunan kod sayısı da azalacaktır. Sonuç itibariyle daha az kod ile yazılımınızın daha hızlı çalışması üstelik daha hızlı bir şekilde yazılımın sonuçlandırılması da söz konusu hale gelir. XDK ilk olarak 2013 yılında piyasalara sürülmüş bir yazılımdır.

 

eclipse-800x188

Eclipse

Eclipse entegre geliştirme oluşumu olarak da bilinen bilgisayar programcılığında kullanılan bir yazılımdır. Daha çok Java IDE olarak kullanılır. Temel bir çalışma yapısına sahip olan program üzerine yapılabilecek çok sayıda ek de bulundurmaktadır. Çoğunlukla Java’da yazılan Eclipse’in temel amacı Java uygulamaları geliştirmektir. Bununla birlikte çok sayıda farklı yazılım dilinde yazılım geliştirmek için de kullanılabilir. Java mobil uygulama geliştirme teknolojileri açısından temel bir konuma sahip olduğu için Java diline yazılım geliştirmeyi sağlayan Eclipse programı da bu açıdan önemlidir diyebiliriz. Eclipse programında, Perl, PHP, Pyhton gibi programlarda yazılım geliştirmek de söz konusudur. Bunlara daha pek çok temel programlama dilini eklemek mümkün. Eclipse’de ayrıca LaTeX benzeri uygulamalarla doküman çıkarılması da mümkündür.

Eclipse mobil uygulamalarında temel olarak Java kullanılır. Bu programda mobil uygulama geliştiren kişiler için temel başlangıç noktası Java IDE, C dil desteği bir Git client’ı, XML editörü ve Mylyn’dir.

Eclipse mobil uygulama geliştirme teknolojileri paketi içerisinde:

  • C/C++ geliştirme araçları
  • Eclipse Egit
  • Eclipse Java geliştirme araçları
  • Mylyn görev listesi
  • Eclipse XML editörleri ve araçları

bulunur.

Bir Android işletim sisteminde yazılım geliştirmek için Java’ya ihtiyacınız vardır. Her ne kadar birkaç hibrit yazılım sayesinde sadece Java ile mobil uygulama geliştirme zorunluluğu ortadan kalksa da, Java hala bu konuda en temel dillerden birisidir ve yaygın olarak tercih edilir. Java objektif C’den daha yaygın olarak tercih edilen ve kullanılan bir dildir ve daha pratik bir şekilde öğrenilebilmektedir. Bu nedenle diğer dillerde yazılım geliştirmiş kişiler için bu dilde yazılım geliştirmeyi öğrenmek zor bir işlem değildir. Bununla birlikte, Android için yazılım geliştirme araçları – bunlar arasında Eclipse en popüleridir – bunlar hibrit özellikte kodlar değildirler. Eclipse ile Andoid yazılımlar için mobil uygulama geliştirme söz konusudur.

Eclipse web araçları platformu projesi Eclipse platformunun bir uzantısıdır. Bu uzantı sayesinde Java EE ve Web uygulamaları geliştirmek söz konusudur. Bu platform çok sayıda dil için kaynak ve grafik editörler dahil etmektedir. Platformun wizardlar ve iç uygulmaları, uygulamaları geliştirmek çalıştırmak ve yaymak için destek sağlarlar.

 

Xcode

Xcode entegre geliştirme oluşumudur. Bu oluşum Apple için yazılım geliştirme araçlarını barındırır. Bu sayede Apple içerisinde macOS, iOS, WatchOS ve tvOS yazılımlarının geliştirilmesi söz konusudur. İlk defa 2003 yılında piyasaya sürülen yazılım geliştirme kiti, son olarak 7.3.1 versiyonu ile yazılım geliştirme uzmanları ile buluşmaktadır. Mac App Stora aracılığıyla edinilebilecek olan yazılım, El Capitan kullanıcıları için ücretsizdir. Kayıtlı kullanıcılar daha önceki versiyonlarını indirebilirler ve Apple Geliştiriciler web sitesinden de önceki versiyonları edinebilirler. Bununla birlikte, Apple son zamanlarda 8.0’ın bir beta versiyonunu da piyasalara sürmüştür. Bu sürüm de Apple Yazılım Geliştirme Uzmanları hesabı olan kişiler için kullanılabilir bir şekilde siteden indirilebilmektedir.

  • Önemli özellikleri

Xcode C, C++, Java, AppleScript, Python ve bunlar gibi daha pek çok dili destekleme özelliğine sahiptir. Bunlara ek olarak Java, Cocoa, Carbon gibi dilleri de sayabiliriz. Apple’da çalışmayan yazılımcılar ise daha sonra bu programa diğer dillerin eklemesini de yapmışlardır.

Mach-O çalıştırılabilir formatı sayesinde, büyük binary dosyalarının kullanımı söz konusu hale gelmiştir. Bu dosyalar çoklu mimariler için kodlar içerir. Xcode evrensel binary dosyaları inşa edebilir, bu sayede yazılım hem PowerPc hem de Intel tabanlı platformlarda çalışabilmektedir. Bu çalışma prensiplerine 32 ve 64 bitler de dahildir. Her iki mimaride de kod çalışır haldedir. iOS Sdk kullanarak, Xcode ayrıca iOS ve ARM mimari işlemcileri için de debug ve compile işlemlerini gerçekleştirebilir. Xcode ayrıca GUI araçları da içermektedir. Bunlar taslak çatılarının da üstünde çalışan yapılardır.

  • İçerik

Entegre geliştirme yapısı olarak da isimlendirilen Xcode, ana uygulama çatısıdır. Xcode süit Apple geliştiricilerinin dökümanlarını ve iç arayüz inşalarını da içerir. Bunların yanı sıra içerisinde grafik kullanıcı arayüzlerinin inşalarını da bulundurur.

  • Çıkarılan özellikler

 Eskiden Xcode çoklu sistemlerde inşa süreçlerini içeren dağıtımlara sahipken, günümüzde bu özellikler kaldırılmıştır. Adı Paylaşımlı Çalışma İnşası olan teknolojisi, daha önce işletim sistemine göre compiler servisleri sağlamaktaydı. Xcode’un önceki versiyonları Adanmış Ağ İnşaları isimli bir özellik de içeriyordu. Bu özelliklerin tümü şimdiki Xcode içerisinde yer almamaktadır.

Xcode ayrıca Java uygulamaları ve web hizmetleri sağlayabilmek için içerisine Apple’ın Web objelerini de yerleştirmektedir. Xcode 3.0 itibariyle, Apple Xcode içerisinde WebObjects geliştirmesini de kaldırmıştır. Bunun yerine WOLips kullanılmaktadır.   Xcode 3 hala WebObject çatısını içerisine dahil etmektedir.

#cordova #intel xdk #ionic framework #java #Mobil Uygulama Geliştirme Teknolojileri #phone gap #swift #Xamarin
Bir yorum bırak
Mail adresiniz kimseyle paylaşılmayacaktır.