Xamarin
Türkiye [beta]
Konular


Shared Projects vs PCL (Portable Class Libraries)

Shared Projects vs PCL (Portable Class Libraries)

Xamarin Platformu ile Cross-Platform uygulama geliştirmeye başladığınızda karşınıza çıkacak ilk sorudur: Shared Project vs PCL (Portable Class Libraries).

 

Shared Projects



Shared Asset Project türü ile cross-platform uygulama geliştirme size özel koşullarda #if direktifleri kullandırarak, ihtiyaç duyulan noktalarda platform'a özel (yönelik) kod blokları ilave etmenizi sağlayacaktır. Daha önce kullanmamış olanlar için Visual Studio içerisindeki bu özel proje türüne mutlaka bakması faydalı olacaktır.
Shared Proje kullanımı ortak kod kullanımı için uygulaması en kolay yöntemdir.

Not: Visual Studio 2013 Update 2 ve üzeri versiyonlarda çalıştırılabilmektedir.

 

Bir cross-platform uygulama (iOS, Android, Windows Phone) oluşturduğunuz zaman ilgili Xamarin Visual Studio Template'i (Xamarin.Forms Shared) VS Solution’u içerisinde 4 proje oluşturacaktır.

- ProjenizinAdi.Shared
- ProjenizinAdi.Droid
- ProjenizinAdi.iOS
- ProjenizinAdi.WinPhone

 



Adından da anlaşılacağı üzere tüm platformlarda ortak olarak kullanılacak kod bloklarınız (entities, classes, viewmodels... vb.) Shared Project içerisinde oluşturulacak ve yapacağınız değişiklikler tüm platformlardaki uygulamalara yansıyacaktır.

Faydaları

- Kodunuzu platformlar arasında paylaşmanızı sağlar.

- Platforma özel direktif kullandırarak (#if __ANDROID__  gibi) kodunuzun akışını farklılaştırabilirsiniz.

 

Dezavantaları

- Diğer proje türlerinden farklı olarak Shared Project'in bir çıktısı (output assembly) yoktur. Derleme sırasında refere edildiği projenin bir parçası gibi davranır ve ilgili projenin dll'ine derlenir. Oluşturacağınız kodu DLL olarak paylaşmayı düşünüyorsanız sizin için Portable Class Library yöntemi daha iyi bir çözüm olacaktır.
- İnaktif direktifler içerisindeki kodlarda yapacağınız "Refactoring" işlemleri diğer kodlarınıza yansımaz.

 

Portable Class Libraries



Alışık olduğumuz DLL tabanlı paylaşım yönteminin bir alt kümesi niteliğindedir. Platformlar arası ortak kod paylaşımı için kullanılan bir yöntemdir. 

 

 

Faydaları

- Kodunuzu platformlar arasında paylaşmanızı sağlar. 

- "Refactoring" desteği vardır.

- DLL'inizi farklı projelerde kullanabilme, diğer yazılımcılarla paylaşabilme olanağı tanır.

 

Dezavantaları

- Derleyici direktifleri kullanılamaz (#if __ANDROID__  gibi) 

- .NET framework'ün bir alt kümesi tarafından desteklenir.

Related

Share

  • Recent
  • Popular
  • Tag
  • Xamarin Nasıl Çalışır?

    Xamarin'de uygulamanın tüm kodunu C# dili ile yazıyoruz. Yani Android için Java ya da iOS için objectiveC ya da Swift'e ihtiyaç duymuyoruz. Bu durum bizi sürekli olarak "Peki bu nasıl oluyor? Nativ...
  • Xamarin ile neler yapabiliriz?

    Merhaba Arkadaşlar, Xamarin platformu ile yeni tanışan arkadaşlara fikir vermesi açısından, geçtiğimiz ay tamamladığımız ve XAML ile neler yapılabileceğine dair iyi bir örnek olan GKFX...
  • SFS – Xamarin Cross Platform Sigorta Satış Uygulaması

    En büyük avantajı nerede gördünüz? Yabancı olduğunuz Android ve iOS gibi platformların doğal bir getirisi olan kavramları derinlemesine öğrenmek zorunda kalmadan .NET dünyasında alışkın ...
  • Xamarin Nedir?

    Xamarin, farklı mobil platformlar için Native uygulama geliştirmek isteyenlere cross-platform çözüm sunan bir platformdur. Xamarin sayesinde Visual Studio ve C# dilini kullanarak Android, iOS ve Win...
Etkinlikler