1. Çapraz Platform ihtiyaçları
Açıkçası, hedefiniz platformlar arasında (Windows, Linux ve MacOS) çalışması gereken bir uygulamaya (web / hizmet) sahip olmaksa, .NET ekosistemindeki en iyi seçenek .NET Core'u çalışma zamanı olarak kullanmaktır (CoreCLR) ) ve kütüphaneler platformlar arasıdır. Diğer seçenek Mono Projesini kullanmaktır.
Her iki seçenek de açık kaynaklıdır, ancak .NET Core doğrudan ve resmi olarak Microsoft tarafından desteklenmektedir ve ileriye doğru büyük bir yatırım yapacaktır.
Platformlarda .NET Core kullanıldığında, proje yönetimi, hata ayıklama, kaynak kontrolü, yeniden düzenleme, Intellisense dahil zengin düzenleme, test etme ve daha pek çok verimlilik özelliğini destekleyen Visual Studio IDE ile Windows'ta en iyi geliştirme deneyimi bulunmaktadır. Ancak, zengin geliştirme ve hata ayıklama dahil Mac, Linux ve Windows'ta Visual Studio Code kullanılarak da desteklenir. Sublime, Emacs, VI ve daha fazlası gibi üçüncü taraf editörler bile iyi çalışıyor ve açık kaynak Omnisharp projesini kullanarak editör zekası alabilirler.
2. Mikro hizmetler
Birden çok bağımsız, dinamik olarak ölçeklendirilebilir, durum bilgisi olan veya durumsuz mikro hizmetlerden oluşan mikro hizmet odaklı bir sistem oluştururken, burada sahip olduğunuz en büyük avantaj, mikro hizmet düzeyinde farklı teknolojiler / çerçeveler / diller kullanabilmenizdir. Bu, sisteminizdeki mikro alan başına en iyi yaklaşımı ve teknolojiyi kullanmanıza izin verir, bu nedenle çok performanslı ve ölçeklenebilir mikro hizmetler oluşturmak istiyorsanız, .NET Core'u kullanmalısınız. Sonunda, .NET Core ile uyumlu olmayan herhangi bir .NET Framework kütüphanesi kullanmanız gerekiyorsa, sorun yoktur, bu mikro hizmeti .NET Framework ile oluşturabilirsiniz ve gelecekte .NET ile değiştirebilirsiniz. Çekirdek.
Kullanabileceğiniz altyapı platformu çoktur. İdeal olarak, büyük ve karmaşık mikro servis sistemleri için Azure Service Fabric'i kullanmalısınız. Ancak durum bilgisi olmayan mikro hizmetler için Azure Uygulama Hizmeti veya Azure İşlevleri gibi diğer ürünleri de kullanabilirsiniz.
Haziran 2016 itibarıyla, Azure'daki her teknolojinin .NET Core'u desteklemediğini, ancak .NET Core'un RTM yayınlandığı için Azure'daki .NET Core desteğinin önemli ölçüde artacağını unutmayın.
3. En iyi performans ve ölçeklenebilir sistemler
Sisteminiz mümkün olan en iyi performansa ve ölçeklendirilebilirliğe ihtiyaç duyduğunda, kaç kullanıcıya sahip olursanız olun en iyi yanıt verebilmeniz için .NET Core ve ASP.NET Core'un gerçekten parladığı yerdir. Aynı miktarda altyapı / donanımla ne kadar çok şey yaparsanız, son kullanıcılarınız için sahip olduğunuz deneyim daha düşük maliyetle o kadar zengin olur.
Moore'un tek CPU'lar için performans iyileştirme günleri artık geçerli değil; yine de sisteminiz büyürken daha fazlasını yapmanız gerekir ve sayıları katlanarak büyüyen günlük talepkar kullanıcılar için daha yüksek ölçeklenebilirlik ve performansa ihtiyaç duyarsınız. Sonuçta daha verimli olmanız, her yerde optimize etmeniz ve sonuçta makine, VM ve CPU çekirdeği kümeleri arasında daha iyi ölçeklendirme yapmanız gerekir. Bu sadece kullanıcının memnuniyeti meselesi değildir; ayrıca maliyet / TCO büyük bir fark yaratabilir. Bu nedenle performans ve ölçeklenebilirlik için çabalamak önemlidir.
Belirtildiği gibi, sisteminizin küçük parçalarını mikro hizmetler veya herhangi bir gevşek bağlanmış yaklaşım olarak izole edebiliyorsanız, her bir küçük parçayı / mikro hizmeti bağımsız olarak geliştiremeyeceğiniz ve daha uzun vadede daha iyi olacağınız için daha iyi olacaktır. çeviklik ve bakım, ancak yapmanız gereken şey .NET Core ile uyumlu değilse, başka bir teknolojiyi mikro hizmet düzeyinde kullanabileceksiniz. Ve sonunda yeniden düzenleyebilir ve mümkün olduğunda .NET Core'a getirebilirsiniz.
4. Mac, Linux veya Windows için komut satırı stili geliştirme.
.NET Core kullanılırken bu yaklaşım isteğe bağlıdır. Tabii ki, tam Visual Studio IDE'yi de kullanabilirsiniz. Ancak, hafif editörler ve yoğun komut satırı kullanımı ile geliştirmek isteyen bir geliştiriciyseniz, .NET Core CLI için tasarlanmıştır. Desteklenen tüm platformlarda kullanılabilen basit komut satırı araçları sunarak geliştiricilerin geliştirici, laboratuvar veya üretim makinelerine minimum kurulumla uygulamalar oluşturup test etmesini sağlar. Visual Studio Code gibi editörler, geliştirme deneyimleri için aynı komut satırı araçlarını kullanır. IDE'ler de Visual Studio gibi aynı CLI araçlarını kullanıyor ancak bunları zengin bir IDE deneyiminin arkasına saklıyor. Geliştiriciler artık CLI'dan editörden IDE'ye araç zinciri ile etkileşim kurmak istedikleri seviyeyi seçebiliyorlar.
5. Uygulama düzeyi başına .NET sürümlerinin yan yana olması gerekir.
.NET'te farklı çerçeve sürümlerine bağımlılık içeren uygulamalar yüklemek istiyorsanız, bu belgede daha önce açıklandığı gibi% 100 yan yana sağlayan .NET Core'u kullanmanız gerekir.
6. Windows 10 UWP .NET uygulamaları.