Gönderen Konu: Mobil Uygulama Geliştirme Ortamları Hakkındaki Düşünceleriniz Nedir?  (Okunma sayısı 2419 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

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).

Ş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.
« Son Düzenleme: 14 Haziran 2016 - 01:04:41 Gönderen: ekremsenturk »

@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 :)

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 ;)

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.

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

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 ;)

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)

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.

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!

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 ;)

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 :)