Mobil Uygulama Geliştirme Ortamları Hakkındaki Düşünceleriniz Nedir?

Başlatan Limonata, 13 Haziran 2016 - 17:58:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Limonata

Herkese Hayırlı Ramazanlar Arkadaşlar;

Bildiğimiz üzere 3 çeşit mobil geliştirme yöntemi var:
1-) Saf (Ya da Resmi) Native Geliştirme Araçları: Android -> Android Studio ve Java, iOS -> XCode ve Objective-C / Swift, Windows 10 Mobile -> Visual Studio ve .NET (C++, C#, VB.NET ve Javascript).

2-) Çapraz Platform Native Geliştirme Araçları: Qt (C++, QML ve Javascript), Appcelerator Titanium, React Native, Xamarin (Bu araç bildiğim kadarıyla mobilde harici bir sanal makine (VM) çalıştırıyor. Ne kadar native olabilir bu yüzden bilemiyorum), Embercadero Rad Studio XE5+ (Delphi, C++) vb.

3-) Hibrit Geliştirme Araçları: Ionic Framework, Phonegap, Cordova, Sencha Framework yani kısaca HTML5, CSS3 ve Javascript.

Bu 3 çeşit geliştirme yöntemleri hakkındaki düşünceleriniz ve tecrübeleriniz nelerdir? Çoğunluk 1. yani saf native ortamları kullanıyorlar ve gerisine yetersiz ve sorunlu gözüyle bakıyorlar. Benim 2. yöntemle ufak tecrübelerim oldu (Qt ve Appcelerator Titanium) ve açıkcası çoğunluğun dediği gibi performans sorunları falan olmadı. Denildiği gibi yetersizlik de olmadı diyebilirim. Mesela Qt'da her işimi yapabilmem için bir çok yol vardı. Mesela Android'de Service ya da mesela WallpaperManager kullanmam gerekti ve hemen Java kodlarını Qt'a çekebildim. Buradaki tek sıkıntı aslında Java, Objective-C ve .NET'den kodlar yazabiliyor olmam gerektiği. 1. ve 3. seçeneklerde de aynı şekilde ufak tecrübelerim oldu: Saf native araçlar malum tek platforma özgü ve en büyük topluluk bu alanda. Hibrit araçlarda ise (mesela Ionic Framework 2) gözle fark edilir derecede yavaşlık söz konusu (GUI kısmı bile hantaldı).

Kısaca düşüncelerimi aktaracak olursam:
Saf Native Araçlar:
+ Performans, Sisteme Tam Yetki, Çok büyük geliştirici topluluğuna sahipler.
- Aracı öğrenebildikten sonra sadece tek bir platforma uygulama geliştirebiliyoruz.

Çapraz Platform Native Araçlar:
+ Performans (hepsini denemedim, değişebilir), Tam Yetki (hepsini bilmiyorum ama Qt'da Java, Obj-C, .NET harmanlayabiliyorsun), Android, iOS ve Windows Mobile'a (bu hepsinde yok mesela React-Native) çıktı alabilme.
- Topluluklar saf native araçların toplulukları kadar çok değiller (hatta Titanium'un topluluğu neredeyse yok :) ), Bazen araçları öğrenmek sıkıntı olabiliyor (kaynak sıkıntısı).

Hibrit Araçlar:
+ Kolay öğrenme, Kolay uygulama geliştirebilme, mobil sistemlere hiç bir kod değişikliği yapmadan çıktı alabilme.
- Performans kötü, Tam yetki olmuyor (Yani sistemin her özelliğini kullanamıyoruz).

ekremsenturk

Şimdiye kadar sadece bir kaç kez, merak ettiğim için "doğrudan Anroid üzerinden programlama mümümkünmü?" diye Tablet üzerinde bazı programlama araçlarını denedim.

Denemelerimden edindiğim sonuç :
parmaklarım o sanal klavye'ye büyük geliyor ve kısa süre sonra durum sinir bozucu bir olaya dönüşüyor.
Konsol (Terminal'den çalışan) programları, kullanılan yorumlayıcının kendi dahili editörü destekliyorsa çalışabiliyorlar.
HTML dosyaları, (Android'de bir kere varsayılan olarak çalıştırılacak program seçildikten sonra) her yeni nesil İşletim sisteminde çalışıyorlar.

Beğendiğim araçlar:
1  numara : Apde
2  numara : RFO Basic

Şimdilik Android hakkında bu kadarını öğrenebildim ve denemelerime de mola verdim. İleride belki yine bir şeyler kafama takılır ve bir şeyleri merak edersem, tekrar devam edebilirim.

Limonata

@ekremsenturk tecrübelerinizi ve düşüncelerinizi paylaştığınız için teşekkürler.

Evet başka düşüncelerini veya tecrübelerini paylaşmak isteyen yazabilir :)

ahmet_matematikci

Android studio gayet kolay kullanılabilir ...
Alternatif hiç aramadım.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Limonata

Aslında sadece tek bir mobil sistem üzerine uygulama geliştirmek ile uğraşılacaksa benim de önerim direk saf yerel araçları öğrenmek. Lakin bir uygulama hem Android hem iOS ya da Windows Mobile veya diğer mobil sistemlere de çıkarılacaksa bu araçlar daha iyi bir alternatif olabilir diye düşünüyorum.

bugra9

Yanlış hatırlamıyorsam android için doğal olarak desteklenen tek dil java değil, c veya c++ ile de geliştirme yapabiliyorsun.

ahmet_matematikci

Evet burak haklısın. Studio da destekliyor.

SM-T113 cihazımdan Tapatalk kullanılarak gönderildi

♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

ekremsenturk

Alıntı yapılan: Limonata - 14 Haziran 2016 - 15:49:07
Aslında sadece tek bir mobil sistem üzerine uygulama geliştirmek ile uğraşılacaksa benim de önerim direk saf yerel araçları öğrenmek. Lakin bir uygulama hem Android hem iOS ya da Windows Mobile veya diğer mobil sistemlere de çıkarılacaksa bu araçlar daha iyi bir alternatif olabilir diye düşünüyorum.

Çoklu platformlar üzerinde programlama için bir sey arıyorsan, Xojo veya LiveCode deneyebilirsin (ücretlidirler)

Limonata

Android NDK genelde hız gereken uygulamalarda kullanılıyor (oyun gibi) ve Java kodlarının içine gömmek için yazılıyor(JNI). Android SDK Android'in özelliklerini kullanabildiğimiz paket ve yalnızca Java ile programlanıyor.

erdemakin09

Ben bir zaman android ios platformuna oyun çıkarmış bir oyunun sitesinde denk gelmiştim. Android Devoloper ve İos Devoloper diye iki ayrı kişi vardı. Oyunu bulamadım. Atardım linkini. Bence büyük firmalar 1.yi kullanıyorlar. Bir de şöyle düşünürsek Androidin arkasında ki firma Google bu çıkartıyor Android Studioyu. Yada aynı şekilde Appleda var bu durum Microsoftta da. Herşey bir kenara bunun bile avantajı çok fazla olacaktır. Artı büyük bir firma karşılaştığı sorunlarla da bu arkasındaki kurumları güvence göreceklerdir.

Fakat ben küçük bir şirketsem yada tek kişiysem. Çapraz platform benim adıma daha mantıklı olur. Düşünsene bir oyun yazıyorsun bu oyunu 3 platforma birden çıkarabilirsin. Yada bir program. Benim mantığıma bu uygun geliyor.

Eğer büyük bir kurumsal firma isen Resmi geliştirme araçları.
Eğer küçük bir şirket yada grup yada tek bir kişi isen çapraz platformlar.
Her Can Bir Gün Ölümü Tadacaktır!

ahmet_matematikci

Emülatör olan genymotion android studio gibi bir geliştirme platformu hazırlıyor sanırsam.
Google de çeviriden anladığım bu .
Hatalı isem düzeltiniz.

http://news.tecmint.com/genymotion-boost-android-development-on-debian-ubuntu/
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

torvaldinkankasi

firmamızda çalışan android web servis uygulama geliştiren arkadaşıma sorduğumda kesinlikle hybritle yap demişti. o öyle dedi :)
kendi küçük, kalbi büyük bir penguen :)