

Üniversite Öğrencisiysen, Mobil Programlamaya Meraklıysan Gel
-
unbalanced bunu yazdıDrKill bunu yazdıinterfector bunu yazdıDrKill bunu yazdıCnkGn bunu yazdı
Abi oncelikle tesekkurler, bir sorum olacak. Ben java ile android uygulama gelistirmeye calisiyorum. Xamarinin(c#) javaya gore mobil platformda artisi eksisi nedir? Mesela ben java degilde c# kullanarak android gelisirsem ne gibi artilarla eksilerle karsilasirim. Kisaca aydinlatabilir misin?
Artın olmaz eksin olur.
Detaylı açıklarmısın?
Java ile inebileceğin ancak Xarmin ile inemeyeceğim muhtemel yüzlerce detay olduğu gibi kod optimizasyonu bakımından da java ile yazılımış kod %90 ihtimal daha optime edilmiş bir kod olacaktır.
Xarmin ile yapıpta android için java ile yapamayacağın birşey yokken, tam tersi durum için birçok şey bulunmakta.
yüzlerce detay varken nereden çıkardın hocam bunu :)
xamarin full native destek veriyor hem ios a hem de android e. Yani java da olan her şey ve ios da olan her şey xamarin de var..
buradan bakabilirsin :) http://developer.xamarin.com/api/root/MonoAndroid-lib/
mesela şuan android 5.1.4 çıkmış :) http://forums.xamarin.com/discussion/44632/stable-release-xamarin-android-5-1-4-cycle-5-service-release-2#latest
ios için de 8.4 çıkmış :) http://forums.xamarin.com/discussion/44727/stable-release-xamarin-ios-8-10-3-xcode-6-4-ios-8-4-compatibility-update#latest
yani adamlar ciddi ciddi iyi çalışıyor hocam..
Ve %100 native olarak derleniyor şüphen olmasın..
Performans konusuna gelince, şuan yaptığım yazılım biraz komplex bir yazılım, aynı derecede bir yazılımı xcode ile geliştirmediğim için karşılaştırma yapamayacağım, ama basit uygulamalarda hemen hemen aynı performansı gördüm, belki bir tık xcode daha hızlıydı diyebilirim ama hesaplanmış bir gözlemim yok.
Xamarin in avantajı, sen java da sadece android platform için geliştirebilirken, konuda söylediğim gibi xamarin.forms ile tüm mobil platformlar için tek bir proje yetebiliyor :)
Ancak java bilenlerin xamarin'e geçmesi taraftarı değilim eğer ios geliştirmek istemiyorlarsa.. Benim elimde olsa ben ios için objective c, java için android kullanacaktım ama şirket böyle istediği için geçmek zorunda kaldım.. Eskiden pişmandım ama şimdi çok da sorun değil diyorum
Hocam Xarmin muhtemelen java koduna çevirip öyle derliyordur. Karmaşık projelerde ne kadar aynı performansı verebilir? Benim kast ettiğim şey oydu. Ayrıca zaten sadece android geliştirecek bir insan için yorum istedi arkadaş. Sadece android geliştirmek için xarmin kullanmak saçmalık olsa gerek. Boşa baş ağrısı niye çeksin insan. Cross platform uygulamalari için bir seçenek olabilir. Oda her proje için geçerli olamaz.
-
hocam çok fazla hayal gücünü kullanıyorsun :)
xamarin in kod çevirme olayı yok, ama kesin kanıt için xamarin'e sordum şimdi :))

önce dedin ki yüzlerce şey eksiktir :) aynı olduğunu gösterdim, sonra dedin ki kodları çeviriyordur java ya :) o da öyle değil.. istersen detaylı link verebilirim building ile ilgili..
biraz önyargı ile yaklaşıyorsun gibi..
Dediğim gibi eğer amaç sadece android uygulama yapmak ise evet java daha iyi bir seçenektir, mesela bazı avantajlar, kaynağın çok olması, ücretsiz olması, google servislerini daha kolay kullanabilme, jar tabanlı projeler eklenebilmesi (xamarin de dll ekleniyor, ama sanırım jar ekleme olayı da var, hatta ios için native objective C projeleri de eklenebiliyor)
Benim sana karşı çıktığım nokta şu hocam.. Xamarin i kullanmak bir şeyin eksiliğine sebep olmuyor. Yani bir javacı benden iyi android uygulaması yazar diye bir kural yok :) ben c#/f# yeteneklerimi orataya koyarım o da java yeteneklerini ortaya koyar. :) Benim yaptığım yazılım gayet kapsamlı ve performans açısından bir problem yaşamadık şuana kadar.. Ben hem java android, hem objective C ios, hem xamarin ios/android yazmış biri olarak benzerlikleri ve farkları daha iyi görebildiğimi düşünüyorum. Bana Xamarin'in avantajı, c# a alışmışlığımdan dolayı çok kolay şekilde ve hızlı şekilde kodlama yapabilmem.. linq de kullanabiliyorum, action sınıflarını kullanarak localde delegate de oluşturabiliyorum. Java da uzman değlim o yüzden daha zorlanırdım, keza objective C de öyle, hele o syntax a alışmak ...
Tekrar belirteyim : eğer c# bilginiz var ise ya da cross-platform uygulama yapmak istiyorsanız xamarin güzel bir teknoloji. Eğer tek taraflı bir mobil yazılımcı olmayı hedefliyorsanız, android için java, ios için de swift öğrenmenizi tavsiye ederim.
-
Dediğin gibi olsun hocam ama dediğim gibi bana mantıklı gelmiyor. "Java'ya çeviriyordur" kelimemin yayında "-muhtemelen" diyede belirtmiştim hocam zaten kesin bir yargı yok. Eğer direk binary'e çeviriyorsa aynı performansı alma ihtimalide kesinlikle vardır bundada lafım yok. Yani java ile aynı performansta yazılımlar geliştirilebilir bile. Ama performans faktörünüde geçersek hala arkadaşın söylediği hipotezde benim söylediğim daha mantıklı geliyor. Önyargı diyemeyeceğim buna. Var olan sistemin temel programlama dilini gene aynı sistemde programlama yapmak için terk etmenin mantıklı bir açıklaması olması lazım. Sonuçta adamların amacı cross platformda tek kod yazıp işi bitirmek. Cross platform için kullanmayacak bir insan zaten yapabildiklerini tekrar yapabilir hale gelmek için niye Xamarin öğrensin ki. Her yeni android sürümü çıktığında Xamarin 'e bağılmı olmak için tek bir mantık var ki cross platform: o da kabul edilebilir. Gel gelelim işin başından beri cross platform amacıyla öğrenmeyecek birisinden bahsediyoruz. Bunun dezavantajdan başka bir yanı yok.
Ayrıca seninle başka bir android javacısını yarıştırmıyoruz hocam. Burada bahsi geçen arkadaştan bahsediyorum.
Öğreneceklere de kolay gelsin dileyiyle..
DrKill tarafından 11/Tem/15 05:35 tarihinde düzenlenmiştir -
iletişim problemimiz var sanırım :) son kez diyorum, biri sadece android için öğrenecekse java ile devam etmeli, ama cross platform için xamarin iyi bir seçenek olabilir. Keza c# bilen adamın da java öğrenmesine gerek yok, bilgisini xamarin de devam ettirebilir tabi ki bunun için android kütüphanesini bilmesi lazım o ayrı..
ayrıca konuyu yukarı taşıyayım görmeyenler için