şükela:  tümü | bugün
  • c# ile android, ios, mac uygulamalari yazmaya yarayan bir platform. oldukca ilginc gorunuyor.

    http://blog.xamarin.com/…ge-for-mobile-development/
  • c# ve .net ile android ve ios yazmaya yarayan dalga. denemekten zarar gelmez.
  • hafta içi iki farklı kişiden önerilmesi sonucunda dedim ki bir deneyeyim, insanın başına ne gelirse meraktan gelirmiş ya. tecrübelerim şöyle:

    1. ios ve android'i c# yazarak geliştiriyorsunuz doğrudur. ancak ios'u xcode'un birebir .net'e convert edilmiş hali ile (aynı sınıf ve fonksiyon isimleri ile), android'i de java'nın .net'e convert edilmiş hali ile yazıyorsunuz. haliyle uygulama geliştirmeye başlamış biri ayrı ayrı platform yapısını yine öğrenmek zorunda. bu durumda da verilen emeğe bakarsak native uygulama geliştirmekten de pek farkı kalmıyor.

    2. ios simulatörünü gerçekleyemediklerinden ötürü sanırsam (ya da apple'ı tekerine çomak sokmamak için de olabilir) illaki bir mac'e ihtiyaç var hala. ios uygulamasını debug etmeniz için xamarin build host denen zımbırtıyı muhakkak mac'de çalıştırmanız ve windows tabanlı makinanızdaki visual studio ile konuşturmanız lazım (key üzerinden pair ediyorsunuz, bluetooth gibi). bunu yaparken de abidik gubidik hatalar ile karşılaşabilirsiniz, muhtemelen ilk başta karşılaşacağınız ve hata ile çözümün alakasız olduğu ilk hatanın çöcümü windows bilgisayarınız ile mac bilgisayarınızın saatlerini denklemek olacak.

    3. aktif geliştirme yapmadım, bir küçük denemem oldu. ancak proje template'larında bile ios ve android uygulama template'ları en baştan farklılaşıyor. reklamlarında tek kod, deployment'ı kolay diyor ya, nah kolay diyorum ben de. bir kere tek kod diye bir şey sistematik olarak mümkün değil (az sonra aşma yoluna değineceğim), view logic olarak ayrı projeler açtırılabilir eyvallah da eğer multi platform bir uygulama yapıyorsam mutlaka business logic'in tek bir yerde durmasını isterim xamarin'e geçersem. ama açtırdığı class library projeleri platform bazlı olduğundan tek bir core library oluşturup da isteyen kullansın diyemiyorsunuz. bunu aşmanın yolu ise "add existing item" yapıp "add as link" yapmak, yani yine bir core projeniz/klasörünüz olacak, ancak aktif olarak bir boka yaramayacak, sadece her view logic ihtiyaç duyduğu business logic nesnelerini referans dosya olarak buradan kullanacak (kopyalamayacak). çakma bir yol ama an itibarı ile multi platform yazmak isteyip de business logic'i çoklamak istemiyorsanız tek yol bu.

    4. mac ve windows makinalarına trial edition ile ayrı ayrı indirmeniz gerekiyor. yaklaşık 1.5 gb x 2 demek oluyor. bir de xamarin build host bu kurulumla gelmiyor, ayrıyeten kurulumdan sonra güncellemeniz gerekiyor.

    5. 500k kullanıcısı görünüyor sitesinde ancak aktif kullanım az olsa gerek, çünkü çıkan hatalara karşı arama yaptığınızda cevap az bulunuyor, bu da enterprise uygulamalar için oldukça tehlikeli. müşteriye "abi xamarin yapamıyor şu an bir kaç versiyon bekleyelim" diyemezsiniz zira. money talks

    6. uygulama deploy etmedim ancak öğrendiğim kadarı ile marketlerden uygulamaları indirmek isterken dosya boyutunu büyütüyormuş, kendi alt yapı yazılımlarını (mono, vs...) da embed ediyor sanırsam.

    an itibarı ile tek iyiliği visual studio ortamında c# ile kod yazıyor olmak. 1.maddedeki durumu düşünürsek de aslında çok da c# ile yazmıyorsunuz. her platformdaki view ve process handling'i biliyor ve takip ediyor olmanız lazım.

    heyecanla başladım incelemeye ama pek bir eser kalmadı heyecandan. 3. maddedeki ortak klasör yapısı hız kazandırabilir ama 5. maddedeki uygulamada karşılaşılan hatalara karşı geliştirmelerin önünü tıkama ihtimali ve hadi oldu ki yazdık, 6. maddedeki uygulama boyutunun artması mevzusu (indirecek kullanıcılarda yüksek boyutlu uygulama indirmeme psikozu gelişmiş olduğundan) bende negatif bir izlenim bıraktı.

    keşke bütün platformları en sonda ayırsalardı da sadece deployment aşamasında ayrılsaydı iyi olurdu. işte o zaman native uygulama geliştirmenin canına okurlardı. şu an native geliştirme daha mantıklı geliyor.
  • %5000 gereksiz bir ide/code studio. çünkü android yazılım geliştirme zaten java ile yapıldığından ( ki kendisi de c sharp'a çok benzer bir dil olduğundan learning curve'ü dikey olacaktır) ayrıca c sharp'ın standart kütüphanelerinin dışında birçok farklı kütüphane öğrenmek gerekli olduğundan, ayrıcaa ios geliştirme süreci eninde sonunda xcode ile haşır neşir olmayı gerektirdiği için, gereksiz bir yapıdır.

    ha dersiniz ki ios geliştirme nispeten daha kolay oluyor bu ortamda, ona birşey diyemem ancak yaptığınız uygulama kod optimize olmuyor onu da bilin. yani yazdığınız 2 satır kod arkada native dile dönüşürken looplara falan girdiyse 2 kb program olur size 400 kb falan ( tamam abartı oldu ama idare edin) onun için en güvenilir, en stabil ve en optimize uygulamayı yine platformun kendi ortamında yapabilirsiniz. xamarin denilen nane amatör ruhları eğlendirmek içindir bana göre. bu işten kar sağlayacaksanız, para kazanmayı düşünüyorsanız, android için eclipse, ios için xcode, windows phone için visual studio kullanmanız gereklidir (tabi ki bana göre, yoksa isterseniz ios için adobe flash ile air programı bile yapabilirsiniz, deploy edebilirsiniz cart curt).

    yazımı sonlandırmadan önce fiyatları da bildireyim de iyice soğuyun xamarin'den :

    free olan versiyonu kod boyut sınırına sahip ve 32kb sınırı var diye biliyorum (belki daha fazladır)

    indie developer lisansı ile basic düzeyde özellikler elde edebiliyorsunuz, ama halen visual studio entegrasyonunu kullanamıyorsunuz. fiyatı ise 299$/yıl

    business lisansı ile visual studio entegrasyonu, e-posta ile yardım, business araçları gibi normalde olması gereken özelliklere sahip oluyorsunuz. fiyatı ise 999$/yıl

    enterprise lisansı da teknik destek, yama desteği cart curt uyduruk özellikleri ekstradan getiriyor ve fiyatı da , sıkı durun, 1899$/yıl.

    bedavaya indirdiğiniz xcode, eclipse varken sırf c sharp için, xamarin bence akıl karı değil.
  • artık öğrenciler için ücretsizdir: http://blog.xamarin.com/xamarin-for-students/
  • benim gibi yeni birşeye alışma özürlü insanların kullanırken zorluk çektiği ide.
  • portable class library'ler ile kullanıldığında, tek bir altyapı hazırlayıp üzerine yalnızca istediğiniz platforma uı yazıp, rahat ettiğiniz kafa yormayan temiz platform.
  • adeta bir antidepresan adı.
  • visual studio 2015 üzerinden ilk indirmemle güncelleme hatası vermesi bir oldu. bakalım bizi ne gibi sürprizleri bekliyor.

    edit. rezaletin ta kendisiymiş.
  • güzel bir girişim ama çok çıkarcılar. vs 2015 ile birlikte kuruldu. yıllardır c# yazan biri olarak hoşuma gitti. ta ki büyük bir örnek proje derlemeye kalkana kadar. neymiş efendim 100kb üzerinde kod derlemesi için lisans satın almam gerekiyormuş. siktirin gidin. diğer tarafta babalar gibi intellij üzerine kurulu android studio varken size 1000 dolar para ödemem kusura bakmayın. 8-10 saat java kasarım daha iyi.
    bağımsız geliştiriciler için kesinlikle tavsiye etmem.