Çok geniş bir tartışma konusu aslında bu. Sylediğine ne haklısın denebilir ne de haksız. Çünkü bu cevaba referans bir sorun olmalı. Yapacağın şey bir web servisle çalışan basit bir uygulama ise haliyle çok fazla işlem gücüne ihtiyacın olmadığı için verimlilik ve performans kaygın olmaz. Ama bir oyun veya uygulama geliştiriyorsan, pil tüketiminden, işlemci kullanımına, ağ kullanımına kadar bir çok parametreyi hesaplayarak bir geliştirme yapmak zorundasın. Geliştirdiğin oyun veya uygulamada iş yapsın istiyorsan, kullanıcın en iyi deneyimi almak ister, sürekli kilitlenen, şarjını saatler içinde bitiren, telefon hafızasını fazlasıyla dolduran bir uygulama son kullanıcı için ideal değil. Diğer bir konu da frameworkle programlama dili karşılaştırılması. Framework ihtiyaca gre geliştirilmiş bir olay. Siz bir oyun yapmak istiyorsanız, zamanınız, paranız veya imkanlarınız kısıtlıysa hazır bir oyun motoru olarak unity kullanabilirsiniz elbette. Burda java mı c# mı demek anlamsız olur çünkü ihtiyacınız sadece ortaya bir ürün çıkarmaktır. İhtiyacınız nedir bunu bilmek daha geliştirme yapmak için daha mantıklı bir yol izlemenizi sağlayacaktır. Android developer olmak istiyorsanız da javayı amelelik grmek anlamsız olur. Hangi meslekte hangi işi yaparsanız yapın, temellerini bilmediğiniz bir işte ortaya iyi işler çıkartmanız pek olası değil. O yüzden hybrid geliştirme yapacak olsanız bile java konusunda bilgi sahibi olmanız tabiki de sizin işinizi ne çıkaracaktır. Tartışma hakkında daha detaylı rnekler için, forumda veya internette hangi programlama dilini ğrenmeliyim gibi sorulara verilen cevaplara bakmak da sylediklerimin aklınıza yatmasını sağlayabilir.

Bir konuda kafam karışık. Sizin grüşlerinizi merak ediyorum. - Yazılan oyunların %99 u C++/C# tabanlı oyun motorlarında yazılıyor. Birden çok platform için. Pek Java kullanılmıyor. Oyun zelinde konuşursak C++'ın ezici üstünlüğü var haklısın. Ama şunlara da gz atmakta fayda var: jMonkeyEngine -> http://jmonkeyengine.org libGDX -> https://libgdx.badlogicgames.com lwjgl -> https://www.lwjgl.org - Uygulamaların bile çoğu Java ile yazılmıyor. Bu bilgi maalesef doğru değil. Uygulamaların çoğu Java ile yazılıyor. Zaten bir uygulama hem Android markette hem iOS markette varsa büyük olasılıkla çapraz platform araçlar kullanılmıştır . Herkesin hem Java hem Obj-C yardıracağını sanmıyorum Bu bilgi de maalesef doğru değil. Çoğunluk native uygulama. Java, Objective-C ve Swift ile geliştiriliyor. Bu işi hobi olarak değil de ticari seviyede yapan şirketlerin zaten Android developer'ı ayrı iOS developer'ı ayrı oluyor. Büyük kurumlarda Android takımı ayrı, iOS takımı ayrı oluyor. Tek başınaysan haklısın. Bu nokta ve sonrası için @SUPERBICO 'ya aynen katılıyorum. Güncel ve elit uygulamalar yapmak istiyorsan standart Android SDK'dan pek dışarı çıkmamak gerekiyor. Verdiğin iki rnek uygulamanın da UI'ına bakarsan, Android 5.0 ncesi UI/UX kullanılıyor. Hybrid platformların o tür dezavantajları oluyor. iOS ile Android UI/UX kısmında çok büyük farklılıklar var ve iki tarafa da uygun çıktı üreten sanırım bir tek React Native var, o da bir native değil sonuçta. İlla ki bir şeylerden feragat etmek gerekiyor maalesef. Fizikteki enerjinin korunumu gibi, yoldan kazanıyorsan kuvvetten kaybediyorsun ya da tam tersi. Sen hiç kaval çaldın mı?

Hocam bildiğim kadarıyla Android de JAVA ile yaptığını JS ile C++ ile yapamıyorsun DIYE biliyorum sorsan ki rnek ver diye. Hiç araştırmadım bilmiyorum. Ben android'e JAVA dan başladım. Yani ona bakılırsa C# da da android uygulama yazılıyor XAMARIN ile ee farkı ne diyeceksin bilmiyorum. Neden Java kullanıyorum'a geleceksen de Android studio JAVA ile kodlanıyor. Bu yüzden java Android'in kendi ide si de Android Studio. LİGBDX ile oyun yapılıyor JAVA da iyi mi güzel mi bilmiyorum ama Unity 3d ile Masaüstü de ANDROİD de IOS da yapabiliyorsun Unity daha iyi güzel arayüzü falan hoş pek kod gerektirmiyor arka planda çoğu işlem zaten entegreli. Geriye dnecek olursak Android deki uygulamalar JAVA ile yapılıyor bir çoğu. Ama Java da C den çıkma şimdi adam C dilinde uygulama yapar derler Android'in anlayacağı apk dosyasını oluşturur RAM ile ilgili işlem yatırır arkaya servis yaza BroadCast tarzında birşey yazar yayın alıcısı yapar. bu sefer sisteme entegre eder. Mesela bu Root işlemlerinin byle olduğunu düşünüyorum. Çoğu C C++ ile yazılmıştır. Yani her dille hepsi yapılıyor da. Neyin ne kadar yaptığı nemli birde yazan kişi nemli. mesela @Unbalanced adam C# da android ve IOS yazıyor ama IOS Swift Android de JAVA adam 2 sini de kullanmıyor C# da direk cross platform'a hakim. Ne kadar biliyor dili 10 üzerinden 7 ama bütün işlerini halledebiliyor mu? evet Javayı ne kadar biliyor 10 üzerinden 2 bu adamın dnüp JAVA ile program yazması mantıksız zaten bu yüzden C#. Yani sen oturup C++ da da Android yazarsın ama C++ ne kadar biliyorsun bu nemli. Ben byle düşünüyorum tabi. Android de de yle çok iyi değilim. daha tecrübeli kişiler vardır yazarlarsa bizde bilgileniriz rneğin @JPriest, @Unbalanced, @YeniHarman... Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu nünden daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? yle ise, sakın yetime kahretme ! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!

Tercih edilmeme sebebi, ucuz olmaması. Her platform için ayrı adam alırsan daha fazla masrafın olur. Yoksa "native" dil ile diğerlerini hiçbir konuda kıyaslayamazsın. Türkiye' deki iş şartlarında da konuya yazdıklarına katılıyorum @SkynetX. @masteryoda çok eksiği vardı, embarcadero' nun. Ufacık GCM' i uygulamaya dahil edebilmek için 40 takla atmıştım vakti zamanında. Ayrıca kodun boyutu çok fazla oluyor ve çok ağır çalışıyordu uygulama. (Son çalışmam XE7 ile) sonrasında naptılar bilmiyorum, çünkü bana diz çktürüp tvbe ettirmişti :D Ek : Eğer ğrenmemiş olsaydım, ben de başlangıçta Java' yı tercih etmezdim. En azından bir cross-platform dil, sonrasında native kasıcaksam Swift en son Java. İş Açısından : Çalıştığım yerde bile cross-platform' a geçme kararı almıştık ama sebebi tamamen 1 elemana daha fazla para vermemek içindi. Freelancer Açısından : Hem Android için ek ücret alıyorum, hem IOS için. Bu da fazladan getiri demek oluyor (: ozgunlu tarafından 13/Tem/16 15:41 tarihinde düzenlenmiştir Hello, i am nothing. I come from Neverland.

JPriest bunu yazdı SkynetX bunu yazdı @JPriest; Peki abi Android/mobil platformlar üzerinden ilerleyeceğim. Gidebildiğim yere kadar. Nereden nasıl başlayabileceğime dair nerin var mı? "Bugünkü aklım olsa asla Android değil iOS yazardım" diye :) Sebebi ne ki acaba? İşte byle şeyleri merak ediyorum. Piyasada bir işi yapan ne kadar az insan varsa kadri kıymeti o kadar çok biliniyor. Ayrıca freelance işlerde de daha iyi para alabiliyor iOS yazanlar. Marketlerde de durum aynı. Piyasadaki iOS cihaz sayısı Android'in çook çok daha altında, dolayısıyla potansiyel müşteri sayısı da çok kısıtlı olmasına rağmen hem paralı uygulama satışı, hem in-app purchase hem de reklam gelirinde iOS Android'den daha iyi. Yani bir şirket için de çalışsan, freelance iş de yapsan, marketlerde kendi uygulamanı da yayınlasan iOS daha karlı :)Tabi o yorumu yapan arkadaşlar biraz da farklı ekran çzünürlükleri, farklı OS versiyonları, farklı vendorlar vs için tasarımı giydirmenin zorluğundan vs de yle diyorlardı eskiden ama o artık iki taraf için de neredeyse eşit zorlukta :) Sen hiç kaval çaldın mı?

@JPriest; Peki abi Android/mobil platformlar üzerinden ilerleyeceğim. Gidebildiğim yere kadar. Nereden nasıl başlayabileceğime dair nerin var mı?

java'cıyım ama mobile pek ilgim yok, kısaca yazayım. eğer android developer olarak iş bulmak istiyorsan java ğrenmelisin. go falan nümüzdeki uzun bir süre gzükmüyor, belki java'nın verbose'luğundan dolayı kotlin gibi biraz daha esnek dillere kayma ihtimali var ama gene jvm dünyası içinde oluyorsun onda bile. mobil oyun yazabilmek istiyorsan illa c++ kullanman gerekmiyor ki c++ ile uğraşmak çok zor. genelde 3d ve fizik gerektiren oyunlar haricinde bir sürü oyun java ile yazılıyor. tamamen c++ ile yazmak da olanaksız, bir şekilde onları android'e ve ios'a tanıtmalısın, o yüzden genelde ortak kodları ve logic kısmını c++'de yazıp sonrasında android ndk ile falan android uygulaması haline getiriliyor bildiğim kadarıyla. ama aslında bakarsan benim grdüğüm c++ ile de uğraşmıyor, direk unity ile yazıyor ki o apayrı bir dünya. bunun dışında js'e biraz aşina isen ve mobil ile hobi olarak uğraşmak veya freelancer olarak çalışmak istiyorsan react native'e de bakabilirsin, grdüğüm kadarıyla güzel gidiyor react native projesi. teşekkürler. Unreal motoru kendisi sadece NDK indiriyordu herhalde. Normal SDK ya dokunmuyordun.

java'cıyım ama mobile pek ilgim yok, kısaca yazayım. eğer android developer olarak iş bulmak istiyorsan java ğrenmelisin. go falan nümüzdeki uzun bir süre gzükmüyor, belki java'nın verbose'luğundan dolayı kotlin gibi biraz daha esnek dillere kayma ihtimali var ama gene jvm dünyası içinde oluyorsun onda bile. mobil oyun yazabilmek istiyorsan illa c++ kullanman gerekmiyor ki c++ ile uğraşmak çok zor. genelde 3d ve fizik gerektiren oyunlar haricinde bir sürü oyun java ile yazılıyor. tamamen c++ ile yazmak da olanaksız, bir şekilde onları android'e ve ios'a tanıtmalısın, o yüzden genelde ortak kodları ve logic kısmını c++'de yazıp sonrasında android ndk ile falan android uygulaması haline getiriliyor bildiğim kadarıyla. ama aslında bakarsan benim grdüğüm c++ ile de uğraşmıyor, direk unity ile yazıyor ki o apayrı bir dünya. bunun dışında js'e biraz aşina isen ve mobil ile hobi olarak uğraşmak veya freelancer olarak çalışmak istiyorsan react native'e de bakabilirsin, grdüğüm kadarıyla güzel gidiyor react native projesi. . . .. . ... .

@JPriest; Peki abi Android/mobil platformlar üzerinden ilerleyeceğim. Gidebildiğim yere kadar. Nereden nasıl başlayabileceğime dair nerin var mı? Birden fazla Androidçi arkadaşımdan aynı yorumu duymuştum: "Bugünkü aklım olsa asla Android değil iOS yazardım" diye :) Bunu baştan belirteyim. Ben mobilci değilim o yüzden benim syleyeceklerime gre sorgusuz hareket etme derim. iOS de olsa Android de olsa yukarıda @SUPERBICO 'nun da dediği gibi o platformun native dilini iyi ğrenmek gerekiyor. Android diyorsan Java'dan başlayabilirsin. iOS diyorsan bence Objective-C'yi salla direkt Swift ile ilerle ve temellerini iyi ğren. Her iki taraf için de Data structures, OOP, Design patterns, SOLID principles gibi konuları iyi ğrenmek gerekiyor. Ayrıca kullandığın IDE'nin de yeteneklerini bilip, en effective şekilde kullanmak bir sürü artı katacaktır . Android için Google etkinlikleri, iOS için Apple etkinliklerini takip etmekte de fayda var. Her sene, gelecek senede nelerin piyasada olacağının spoiler'ı gibi oluyor. Bir de community'lerde ne çıkan adamlar var. Onları da takip etmek lazım. Başlangıcı sormuşsun sadece ama biraz ileriye doğru da şeyler ekledim. Sen hiç kaval çaldın mı?

@JPriest; Oyun konusunda C++ tan şaşmamak gerek. Hem performans konusunda hem de çapraz platform için en iyi seçenek. Mesela şirketlerde Android geliştiriciler neler yapıyorlar? Dediğim gibi ilanlara bakıyorum hemen hepsi web servis entegrasyonu yapabilen birileri arıyor. Hani Android in TV kısmı var, otomobil kısmı var, giyilebilir zımbırtıları da var. Zaten offline çalışan az uygulama var piyasada. Hemen her şeyin server side bir bağlantısı oluyor. Çalıştığın sektr ne olursa olsun, yaptığın iş ne olursa olsun Webservice entegrasyonu mobilin olmazsa olmazı zaten. Şirketlerde de SDK içindeki neredeyse her şey kullanılabiliyor. retrofit, otto, rxAndroid, picasso gibi third party library'ler de kendine yer buluyor oldukça. Database'i olan, mesajlara ya da contact'lara erişen uygulamalar, Bluetooth üzerinden başka cihazlar ile haberleşen uygulamalar, NFC ile başka cihazlarlar/tag'lerle etkileşime giren uygulamalar, oyunlar.. Birçok farklı şey yapılabiliyor piyasada. Sadece oyun olarak düşünmemek lazım. Sen hiç kaval çaldın mı?

@doganaydin, @buremba @jpriest ' e pm atabilirsin yani grmeleri biraz zor o yüzden diyorum. aralarında oyun yapan doganaydin dı sanırım.

Güzel konu, deneyimli abi ablalardan nerileri dinlemek isteriz. zellik unity konusunda. Yada sektr nereye yneliyor/gidiyor. Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

SkynetX bunu yazdı Bir konuda kafam karışık. Sizin grüşlerinizi merak ediyorum. - Yazılan oyunların %99 u C++/C# tabanlı oyun motorlarında yazılıyor. Birden çok platform için. Pek Java kullanılmıyor. Oyun zelinde konuşursak C++'ın ezici üstünlüğü var haklısın. Ama şunlara da gz atmakta fayda var: jMonkeyEngine -> http://jmonkeyengine.org libGDX -> https://libgdx.badlogicgames.com lwjgl -> https://www.lwjgl.org - Uygulamaların bile çoğu Java ile yazılmıyor. Bu bilgi maalesef doğru değil. Uygulamaların çoğu Java ile yazılıyor. Zaten bir uygulama hem Android markette hem iOS markette varsa büyük olasılıkla çapraz platform araçlar kullanılmıştır . Herkesin hem Java hem Obj-C yardıracağını sanmıyorum Bu bilgi de maalesef doğru değil. Çoğunluk native uygulama. Java, Objective-C ve Swift ile geliştiriliyor. Bu işi hobi olarak değil de ticari seviyede yapan şirketlerin zaten Android developer'ı ayrı iOS developer'ı ayrı oluyor. Büyük kurumlarda Android takımı ayrı, iOS takımı ayrı oluyor. Tek başınaysan haklısın. Bu nokta ve sonrası için @SUPERBICO 'ya aynen katılıyorum. Güncel ve elit uygulamalar yapmak istiyorsan standart Android SDK'dan pek dışarı çıkmamak gerekiyor. Verdiğin iki rnek uygulamanın da UI'ına bakarsan, Android 5.0 ncesi UI/UX kullanılıyor. Hybrid platformların o tür dezavantajları oluyor. iOS ile Android UI/UX kısmında çok büyük farklılıklar var ve iki tarafa da uygun çıktı üreten sanırım bir tek React Native var, o da bir native değil sonuçta. İlla ki bir şeylerden feragat etmek gerekiyor maalesef. Fizikteki enerjinin korunumu gibi, yoldan kazanıyorsan kuvvetten kaybediyorsun ya da tam tersi. Tüm arkadaşlara teşekkür ediyorum cevapları için. Eksik olmayın. @SUPERBICO; Dediklerinde haklısın. Andoid te uzman olmak için ilişkili ne varsa çok iyi bilmek gerekiyor. @JPriest; Oyun konusunda C++ tan şaşmamak gerek. Hem performans konusunda hem de çapraz platform için en iyi seçenek. Mesela şirketlerde Android geliştiriciler neler yapıyorlar? Dediğim gibi ilanlara bakıyorum hemen hepsi web servis entegrasyonu yapabilen birileri arıyor. Hani Android in TV kısmı var, otomobil kısmı var, giyilebilir zımbırtıları da var.

Bir konuda kafam karışık. Sizin grüşlerinizi merak ediyorum. - Yazılan oyunların %99 u C++/C# tabanlı oyun motorlarında yazılıyor. Birden çok platform için. Pek Java kullanılmıyor. - Uygulamaların bile çoğu Java ile yazılmıyor. Mesela yanlış hatırlamıyorsam şu uygulama Unity üzerinde yazılmış. https://play.google.com/store/apps/details?id=com. t11. skyviewfree - Yine NASA 'nın şu uygulaması da Java ile yazılmamış. Bir JS framework ile yazılmıştı. https://play.google.com/store/apps/details?id=gov. nasa Zaten bir uygulama hem Android markette hem iOS markette varsa büyük olasılıkla çapraz platform araçlar kullanılmıştır . Herkesin hem Java hem Obj-C yardıracağını sanmıyorum. Durum byleyken Android için Java ğrenmek amelelik gibi geliyor bana. Zaman harcamak istemiyorum. İş ilanlarına da bakıyorum, hepsi web sayfanın servisini uygulamaya gmecek adam arıyorlar. Verilen emeğe değmeyecek işler. Aranızda bu alanda çalışanlar var mı? Ne tür işler yapıyorsunuz? EDIT Google 'ın da Go dilinde SDK yayınlayacağı falan syleniyordu. Byle de bir durum var. SkynetX tarafından 13/Tem/16 15:03 tarihinde düzenlenmiştir

Hocam embarcadero firması C++ yada object pascal ile hem android hem ios işletim sisteminde uygulama geliştirek için firemonkey çıkardı ama stabil olduğu sylenemez. ama iyiye doğru gidiyor.

Java'dan çok yatırım yaptığın şey Android. Android'e de yatırım yapılır. Pragmatism&Realism

SkynetX bunu yazdı @JPriest; Peki abi Android/mobil platformlar üzerinden ilerleyeceğim. Gidebildiğim yere kadar. Nereden nasıl başlayabileceğime dair nerin var mı? "Bugünkü aklım olsa asla Android değil iOS yazardım" diye :) Sebebi ne ki acaba? İşte byle şeyleri merak ediyorum. Vim fanları kızmasın bana, doğruya doğru. Emacs fanıyım kküne kadar. :)) Ama sz konusu Java ise IDE kullanmak akıl sağlığı için en iyisi.

Tamamdır. iOS için bende geliştirme yapmak isterim ama Apple ekosistemi çok pahalı. Şimdilik Android 'ten giriş yapalım. Herkese cevaplarından türü çok çok teşekkür ediyorum.