Multi Platform Mobile Application geliştirmek için Platform

Başlatan yamak, 05 Ocak 2015, 10:36:20

yamak

Multif platformda çalışacak (Android,IOS,Windows Mobile) bi uygulama için Qt,Embarcadero vs. gibi bir platformda mı geliştirmek daha mantıklı olur yoksa her platform için ayrı ayrı kendi dillerinde geliştirmek mi(Swift,java...).
Mesela Qt'ye hakim sayılırım büyük bir projede qt beni yarı yolsa bırakır mı?Multi platform desteği olan uygulamalar için hangi yol izleniyor?Bu konuda bilgisi olan arkadaşlar yardımcı olabilirler mi?

Gökhan BEKEN

PhoneGap ile hepsi için bir program yazabilirsiniz. Ne kadar esnektir bilemiyorum.
Özel mesaj okumuyorum, lütfen göndermeyin.

ohacagatay

ne geliştirmek istediğine bağlı olarak aşırı derecede değişir. Eğer daha spesifik olursan yardımcı olunabilir.
Her Native Framework 'ün sağladığı avantajlar var bunlar göz ardı edilemez bu arada ne kadar nativeden uzaklaşırsan
o kadar yapmak istediklerin kısıtlanır bunu göz önünde bulundurman lazım. Bu multi platformu destekleyen frameworkler genelde para olur
Kısaca tamamiyle ne yapmak istediğin ile ilgili olarak seçim yapman gerekiyor.   
Örnek olarak Oyunlar için konuşuyorum, multi app platform olarak genelde ( paran varsa, ios, android, web, vs ) unity kullanılır.
Some people believe çiğ köfte is a matter of life and death, I am very disappointed with that attitude. I can assure you it is much, much more important than that

yamak

Alıntı yapılan: meftun - 05 Ocak 2015, 10:59:07
PhoneGap ile hepsi için bir program yazabilirsiniz. Ne kadar esnektir bilemiyorum.
Hocam Qt ile de hepsi için yazılabiliyor fakat performans olarak nasıldır onu merak ediyorum?
Alıntı yapılan: ohacagatay - 05 Ocak 2015, 11:02:34
ne geliştirmek istediğine bağlı olarak aşırı derecede değişir. Eğer daha spesifik olursan yardımcı olunabilir.
Her Native Framework 'ün sağladığı avantajlar var bunlar göz ardı edilemez bu arada ne kadar nativeden uzaklaşırsan
o kadar yapmak istediklerin kısıtlanır bunu göz önünde bulundurman lazım. Bu multi platformu destekleyen frameworkler genelde para olur
Kısaca tamamiyle ne yapmak istediğin ile ilgili olarak seçim yapman gerekiyor.   
Örnek olarak Oyunlar için konuşuyorum, multi app platform olarak genelde ( paran varsa, ios, android, web, vs ) unity kullanılır.
Hocam oyun falan yazmayacam.Qt hakkında bilginiz var mı?Önerir misinizi?QML ile aslında çok güzel tasarımlar falan yapılabilir fakat android,IOS gibi platformalarda nasıl bir performans sergiler.

Tesla.25

Ben Qt 'yi kullanıyorum ve gayet de memnunum hocam. Yazılan bir program, hiç değişiklik yapmadan Linux, Windows gibi bilgisayarlar sorunsuzca derlenip çalışabiliyor.  Mac üzerinde hiç denemedim ama onda da çalışacağından eminim.
QML ile güze hoş gelen tasarımlar yapmak çok kolay.
Qt SDK herşeye yeter.
Qt, gömülü sistemlerde bile kullanılabiliyor.

Android üzerinde performans konusunda ise, Dalvik üzerinde çalışan bir programdan daha performanslı olacağını düşünüyorum. Eğer Android sisteme sahip bir telefonunuz varsa deneyin hocam, bize de sonuçları yazın. :D

Bu arada, iOS üzerinde zaten C/C++ rahatça kullanılabiliyor diye biliyorum. Yani Android gibi NDK falan uğraşmanız gerekmiyordu herhalde.

NOT: Şu an da Qt hakkında en nefret ettiğim şey, Windows üzerinde derleme yapabilmek için Visual C++ derleyicisine ihtiyaç duyuyor. Olmazsa, Qt SDK 'yı kullanamıyorsunuz.
Bunu için de 7 GB lık Visual Studio indirmek zorunda kalıyorsunuz. Bu son sürümden öncekilerde böyle bir sıkıntı yoktu.

respected

Hocam bu SDK lar da beni kasıyor. Yüklüyorsun o versiyon değil diğeri, güncelle olmada başka bir eklenti daha eksik bir sürü uğraştırıyor. Tek bir setup ile halledemeyince ve saatlerce uğraşınca vazgeçiyorum. 

yamak

Alıntı yapılan: Tesla.25 - 05 Ocak 2015, 11:54:51
Ben Qt 'yi kullanıyorum ve gayet de memnunum hocam. Yazılan bir program, hiç değişiklik yapmadan Linux, Windows gibi bilgisayarlar sorunsuzca derlenip çalışabiliyor.  Mac üzerinde hiç denemedim ama onda da çalışacağından eminim.
QML ile güze hoş gelen tasarımlar yapmak çok kolay.
Qt SDK herşeye yeter.
Qt, gömülü sistemlerde bile kullanılabiliyor.

Android üzerinde performans konusunda ise, Dalvik üzerinde çalışan bir programdan daha performanslı olacağını düşünüyorum. Eğer Android sisteme sahip bir telefonunuz varsa deneyin hocam, bize de sonuçları yazın. :D

Bu arada, iOS üzerinde zaten C/C++ rahatça kullanılabiliyor diye biliyorum. Yani Android gibi NDK falan uğraşmanız gerekmiyordu herhalde.

NOT: Şu an da Qt hakkında en nefret ettiğim şey, Windows üzerinde derleme yapabilmek için Visual C++ derleyicisine ihtiyaç duyuyor. Olmazsa, Qt SDK 'yı kullanamıyorsunuz.
Bunu için de 7 GB lık Visual Studio indirmek zorunda kalıyorsunuz. Bu son sürümden öncekilerde böyle bir sıkıntı yoktu.
Hocam Qt  hem masaüstü hem de embedded platformalarda yi aktif olarak kullanıyorum zaten.Android üzerinde de basit bir kaç qml uygulaması yapmışlığım var.Küçük uygulamalarda gördüğüm tek dez avantaj telefonda ya ministro kurulu olacak ya da uygulama static derlenecek.Static derleme yapıldığın çok basit bir uygulama bile 7-8 mb hatta 20 mb civarında bile yer kaplayabiliyo.Static derlemeyince de uygulamayı çalıştırmadan önce ministro kurmak gerekiyo.Ministro uygulamayı çalıştırdığınız da gerekli olan library leri indirip telefona kuruyo.
  Bunlar tabi çok basati uygulamalardaki tecrübelerim.Büyük uygulamalarda karşıma ne gibi sorunlar çıkar kestiremiyorum.
Ayrıca hocam Qt için Visual C++ zorunlu demişsiniz.Böyle bir zorunlulk yok.İsterseniz MinGW'de kullanabilirsiniz.Hatta istediğiniz compiler ı import edebilirsiniz

Tesla.25

Alıntı yapılan: yamak - 05 Ocak 2015, 13:14:38
Hocam Qt  hem masaüstü hem de embedded platformalarda yi aktif olarak kullanıyorum zaten.Android üzerinde de basit bir kaç qml uygulaması yapmışlığım var.Küçük uygulamalarda gördüğüm tek dez avantaj telefonda ya ministro kurulu olacak ya da uygulama static derlenecek.Static derleme yapıldığın çok basit bir uygulama bile 7-8 mb hatta 20 mb civarında bile yer kaplayabiliyo.Static derlemeyince de uygulamayı çalıştırmadan önce ministro kurmak gerekiyo.Ministro uygulamayı çalıştırdığınız da gerekli olan library leri indirip telefona kuruyo.
  Bunlar tabi çok basati uygulamalardaki tecrübelerim.Büyük uygulamalarda karşıma ne gibi sorunlar çıkar kestiremiyorum.

Hocam, şunu söyleyeyim, bir platformun önerdiği SDK, dil neyse onu kullanın. Böyle çapraz kod üreten uygulamalar insanı boş yere yoruyor. Bir arkadaşım Xamarin 'de Android ve iOS için geliştirme yapıyordu. Hergün küfrediyordu Xamarin 'e, o eksik, bu olmuyor diye.

Bu arada gereksiz bir not, bu "static linkage", "extern linkage", Qt 'nin lisans şartlarından dolayı böyle sanıyorum. LGPL 'den kaynaklanıyor.


Alıntı YapAyrıca hocam Qt için Visual C++ zorunlu demişsiniz.Böyle bir zorunlulk yok.İsterseniz MinGW'de kullanabilirsiniz.Hatta istediğiniz compiler ı import edebilirsiniz

Yok hocam, ne yaptıysam çalıştıramadım. MinGW denedim, olmadı. StackOverflow 'da ve kendi forumlarında VS yükleyin demiş herkes. Bir çözüme ulaşamadım.
Şu an kullandığım sürüm, Qt Creator, 3.3.0, Qt SDK, 5.4.0

yamak

Hocam ben mingw kullanıyorum.Aşağıdaki linkteki Qt yi indirip denediniz mi?Bu arada hocam static derlemenin LPGL ile alakası yok neticede ya static derlenmesi gerekiyor ya da dinamik librarylerin cross platrofmda bulunması gerekiyor.
Libraryler de default olarak android'te bulunmadığ için böyle bi yol izlenmiş.
http://download.qt-project.org/official_releases/qt/5.4/5.4.0/qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe

Tesla.25

Hocam şu an da 64bit Windows kullanıyorum. O yüzden şu 64bit i indirmiştim.
http://download.qt-project.org/official_releases/qt/5.4/5.4.0/qt-opensource-windows-x86-msvc2013_64-5.4.0.exe

Sizin verdiğiniz linktekine 32bit diyor. Ne gibi farkları olur acaba?

yamak

Hocam ben 64 bitte kullanıyorum.Bi sorun olmuyo.Ayrıca illaki executable 64 bit derlensin istiyosanız.MinGW nin 64 bit ini indirip qt kütüphaneleri 64 bit e göre derleyip kullanabilirsiniz.