.NET Framework ile Birden Çok Platform için GeliştirmeDeveloping for Multiple Platforms with the .NET Framework

.NET Framework ve Visual Studio kullanarak, hem Microsoft hem de Microsoft olmayan platformlar için uygulamaları geliştirebilirsiniz.You can develop apps for both Microsoft and non-Microsoft platforms by using the .NET Framework and Visual Studio.

Platformlar arası geliştirme için seçenekleriOptions for cross-platform development

Birden çok platform için geliştirmek için kaynak kodu veya ikili dosyaları paylaşabilir ve .NET Framework kod ve Windows çalışma zamanı API'ları arasındaki aramaları yapabilir.To develop for multiple platforms, you can share source code or binaries, and you can make calls between .NET Framework code and Windows Runtime APIs.

İsterseniz...If you want to... Kullanım...Use...
Kaynak kodu Windows Phone 8.1 ve Windows 8.1 uygulamalar arasında paylaşmaShare source code between Windows Phone 8.1 and Windows 8.1 apps Paylaşılan projeleri (Visual Studio 2013, güncelleştirme 2 şablonunda Evrensel uygulamaları).Shared projects (Universal Apps template in Visual Studio 2013, Update 2).

-Şu anda Visual Basic desteği yok.- Currently no Visual Basic support.
# Kullanarak-platforma özgü kodu ayırabilirsinizif deyimleri.- You can separate platform-specific code by using #if statements.

Ayrıntılar için bkz:For details, see:

- Visual Studio kullanarak hedef Windows ve Windows Phone uygulamaları oluşturma (MSDN makalesi)- Build apps that target Windows and Windows Phone by using Visual Studio (MSDN article)
- Evrensel XAML uygulamaları oluşturmak için Visual Studio kullanarak (blog yayını)- Using Visual Studio to build Universal XAML Apps (blog post)
- XAML Yakınsanan uygulamaları oluşturmak için Visual Studio kullanarak (video)- Using Visual Studio to Build XAML Converged Apps (video)
Farklı platformlarda hedef uygulamalar arasında ikili dosyaları paylaşmaShare binaries between apps that target different platforms Taşınabilir Sınıf Kitaplığı projelerinde platform belirsiz kodu.Portable Class Library projects for code that is platform-agnostic.

-Bu yaklaşım, genellikle iş mantığını uygular kodu için kullanılır.- This approach is typically used for code that implements business logic.
-Visual Basic veya C# kullanabilirsiniz.- You can use Visual Basic or C#.
-API desteği, platforma göre değişir.- API support varies by platform.
-Windows 8.1 ve Windows Phone 8.1 hedefleyen taşınabilir Sınıf Kitaplığı projelerinde Windows çalışma zamanı API'ları ve XAML destekler.- Portable Class Library projects that target Windows 8.1 and Windows Phone 8.1 support Windows Runtime APIs and XAML. Bu özellikler taşınabilir sınıf kitaplığı eski sürümlerinde kullanılamaz.These features aren't available in older versions of the Portable Class Library.
-Gerekli olursa, arabirimleri veya soyut sınıflar kullanarak platforma özgü kodu soyut.- If needed, you can abstract out platform-specific code by using interfaces or abstract classes.

Ayrıntılar için bkz:For details, see:

- Taşınabilir sınıf kitaplığı- Portable Class Library
- Sizin için taşınabilir sınıf kitaplıkları iş yapmak için nasıl (blog yayını)- How to Make Portable Class Libraries Work for You (blog post)
- MVVM ile taşınabilir sınıf kitaplığı kullanma- Using Portable Class Library with MVVM
- Birden çok platformu hedefleyen kitaplıklar için uygulama kaynakları- App Resources for Libraries That Target Multiple Platforms
- .NET taşınabilirlik Çözümleyicisi (Visual Studio uzantısı)- .NET Portability Analyzer (Visual Studio extension)
Kaynak kodu Windows 8.1 dışındaki platformları için uygulamaları ve Windows Phone 8.1 arasında paylaşmaShare source code between apps for platforms other than Windows 8.1 and Windows Phone 8.1 Bağlantı olarak Ekle özelliği.Add as link feature.

-Bu yaklaşım, hem uygulamalar için ortak ancak değil taşınabilir bir nedenden dolayı uygulama mantığı için uygundur.- This approach is suitable for app logic that's common to both apps but not portable, for some reason. C# veya Visual Basic kodu için bu özelliği kullanabilirsiniz.You can use this feature for C# or Visual Basic code.
Örneğin, Windows Phone 8 ve Windows 8, Windows çalışma zamanı API'leri paylaşmak, ancak bu platformlar için taşınabilir sınıf kitaplıkları Windows çalışma zamanı desteklemez.For example, Windows Phone 8 and Windows 8 share Windows Runtime APIs, but Portable Class Libraries do not support Windows Runtime for those platforms. Kullanabileceğiniz Add as link ortak Windows çalışma zamanı kodun bir Windows Phone 8 uygulaması Windows 8'i hedefleyen bir Windows mağazası uygulama arasında paylaşmak için.You can use Add as link to share common Windows Runtime code between a Windows Phone 8 app and a Windows Store app that targets Windows 8.

Ayrıntılar için bkz:For details, see:

- Bağlantı olarak Ekle kod paylaşmak (MSDN makalesi)- Share code with Add as Link (MSDN article)
- Nasıl yapılır: Varolan öğeleri için bir proje eklemek (MSDN makalesi)- How to: Add Existing Items to a Project (MSDN article)
Windows mağazası uygulamaları .NET Framework kullanılarak yazma veya .NET Framework kodundan Windows çalışma zamanı API'larını çağırmaWrite Windows Store apps using the .NET Framework or call Windows Runtime APIs from .NET Framework code Windows çalışma zamanı API'leri .NET Framework C# veya Visual Basic kodu ve Windows mağazası uygulamaları oluşturmak için .NET Framework'ü kullanın.Windows Runtime APIs from your .NET Framework C# or Visual Basic code, and use the .NET Framework to create Windows Store apps. İki Platform arasında API farklılıkları haberdar olmanız gerekir.You should be aware of API differences between the two platforms. Ancak, bu farklılıkları ile çalışmanıza yardımcı sınıfları vardır.However, there are classes to help you work with those differences.

Ayrıntılar için bkz:For details, see:

- Windows mağazası uygulamaları ve Windows çalışma zamanı için .NET framework desteği- .NET Framework Support for Windows Store Apps and Windows Runtime
- Windows çalışma zamanı için bir URI geçirme- Passing a URI to the Windows Runtime
- System.IO.WindowsRuntimeStreamExtensions (MSDN API başvuru sayfası)- System.IO.WindowsRuntimeStreamExtensions (MSDN API reference page)
- System.WindowsRuntimeSystemExtensions (MSDN API başvuru sayfası)- System.WindowsRuntimeSystemExtensions (MSDN API reference page)
Microsoft dışı platformlar için .NET Framework uygulamalar oluşturmaBuild .NET Framework apps for non-Microsoft platforms Taşınabilir sınıf kitaplığı başvuru derlemeleri .NET Framework ve Visual Studio uzantısı veya üçüncü taraf aracı Xamarin gibi.Portable Class Library reference assemblies in the .NET Framework, and a Visual Studio extension or third-party tool such as Xamarin.

Ayrıntılar için bkz:For details, see:

- Taşınabilir sınıf kitaplığı tüm platformlarda artık kullanılabilir.- Portable Class Library now available on all platforms. (blog yayını)(blog post)
- Xamarin belgeleri- Xamarin documentation
Platformlar arası geliştirme için JavaScript ve HTML kullanınUse JavaScript and HTML for cross-platform development Evrensel uygulama şablonları Visual Studio 2013'te güncelleştirme Windows 8.1 ve Windows Phone 8.1 için Windows çalışma zamanı API'leri karşı geliştirmek için 2.Universal App templates in Visual Studio 2013, Update 2 to develop against Windows Runtime APIs for Windows 8.1 and Windows Phone 8.1. Şu anda, JavaScript ve HTML .NET Framework API'leri ile platformlar arası uygulamalar geliştirmek için kullanamazsınız.Currently, you can’t use JavaScript and HTML with .NET Framework APIs to develop cross-platform apps.

Ayrıntılar için bkz:For details, see:

- JavaScript proje şablonları- JavaScript Project Templates
- Windows çalışma zamanı uygulamasını Windows Phone için JavaScript kullanarak bağlantı noktası oluşturma- Porting a Windows Runtime app using JavaScript to Windows Phone