Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET, birçok uygulama türü oluşturmaya yönelik ücretsiz, platformlar arası bir açık kaynak geliştirici platformu. Birden çok dilde yazılmış programları çalıştırabilir, en popüler olan C#. birçokyüksek ölçekli uygulama tarafından üretimde kullanılan yüksek performanslı çalışma zamanına dayanır.
.NET indirmeyi ve ilk uygulamanızı yazmaya başlamayı öğrenmek için Başlarken'e bkz.
.NET platformu üretkenlik, performans, güvenlik ve güvenilirlik sağlamak için tasarlanmıştır. Otomatik bellek yönetimi, çöp toplayıcı (GC)aracılığıyla sağlanır. GC ve katı dil derleyicileri kullanılması nedeniyle tür ve bellek açısından güvenlidir.
async
/ ve await
temel öğeler aracılığıyla Task
sunar. Geniş işlevlere sahip olan ve birden çok işletim sistemi ve yonga mimarisinde performans için iyileştirilmiş büyük bir kitaplık kümesi içerir.
.NET aşağıdaki tasarım noktalarınasahiptir:
- Üretkenlik, çalışma zamanı, kütüphaneler, dil ve araçların tümüyle katkı sağladığı tam yığın geliştirici kullanıcı deneyimi sunmaktadır.
- Güvenli kod birincil işlem modelidir, güvenli olmayan kod ek el ile iyileştirmeler sağlar.
- Statik ve dinamik kod desteklenir ve bu da çok çeşitli senaryolar sağlar.
- Yerel kod etkileşimi ve donanım özellikleri, düşük maliyetli ve yüksek sadakate sahiptir (doğrudan API ve yönerge erişimi).
- Code, platformlar (işletim sistemi ve yonga mimarisi) arasında taşınabilirken, platform hedeflemesi özelleştirme ve iyileştirme sağlar.
- Programlama etki alanları arasında uyarlanabilirlik (bulut, istemci, oyun) genel amaçlı programlama modelinin özel uygulamalarıyla etkinleştirilir.
- OpenTelemetry ve gRPC gibi Endüstri standartları, hazır çözümlere göre tercih edilir.
.NET, Microsoft ve küresel bir topluluk tarafından işbirliği içinde sürdürülür. Düzenli güncelleştirmeler, kullanıcıların üretim ortamlarına güvenli ve güvenilir uygulamalar dağıtmasını sağlar.
Bileşen
.NET aşağıdaki bileşenleri içerir:
- Çalışma zamanı -- uygulama kodunu yürütür.
- Kitaplıklar -- JSON ayrıştırmagibi yardımcı program işlevleri sağlar.
- Derleyici -- C# (ve diğer diller) kaynak kodunu çalışma zamanında yürütülebilir koda derler.
- SDK ve diğer araçlar -- modern iş akışlarıyla uygulama oluşturmayı ve izlemeyi sağlar.
- Uygulama yazma olanağı sağlayan ASP.NET Core ve Windows Forms gibi uygulama yığınları.
Çalışma zamanı, kitaplıklar ve diller .NET yığınının sütunlarıdır. .NET araçları ve ASP.NET Core gibi uygulama yığınları gibi üst düzey bileşenler bu sütunların üzerine inşa eder. C#, .NET için birincil programlama dilidir ve .NET'in çoğu C# dilinde yazılır.
C# nesne odaklıdır ve çalışma zamanı nesne yönlendirmesini destekler. C# çöp toplama işlemi gerektirir ve çalışma ortamı bir izleme çöp toplayıcısı sağlar. Kitaplıklar (ve uygulama yığınları), bu özellikleri geliştiricilerin sezgisel iş akışlarında verimli bir şekilde algoritmalar yazmasına olanak tanıyan kavramlar ve nesne modelleri şeklinde şekillendirir.
Çekirdek kitaplıklar, birçoğu C# diliyle tümleşen ve destekleyen binlerce türü kullanıma sunar. Örneğin, C# foreach
deyimi rastgele koleksiyonları listelemenizi sağlar. Desen tabanlı iyileştirmeler, List<T>
gibi koleksiyonların basit ve verimli bir şekilde işlenmesini sağlar. Kaynak yönetimini çöp toplama mekanizmasına bırakabilirsiniz, ancak dil tarafından doğrudan desteklenen IDisposable
ve using
deyimi aracılığıyla hızlı temizleme mümkündür.
Birden çok işlemi aynı anda gerçekleştirme desteği, neredeyse tüm iş yükleri için temeldir. Bu, kullanıcı arabirimini duyarlı tutarken arka plan işleme yapan istemci uygulamaları, binlerce eşzamanlı isteği işleyen hizmetler, çok sayıda eşzamanlı uyarana yanıt veren cihazlar veya işlem yoğunluklu işlemlerin işlenmesini paralelleştiren yüksek güçlü makineler olabilir. Zaman uyumsuz programlama desteği, C# programlama dilinin birinci sınıf bir özelliğidir. Bu özellik, dilin sunduğu tüm denetim akışı yapılarının tüm avantajlarından yararlanırken zaman uyumsuz işlemleri yazmayı ve oluşturmayı kolaylaştıran async
ve await
anahtar sözcükleri sağlar.
tipi sistem, güvenlik, açıklayıcılık, dinamizm ve yerel sistemle birlikte çalışmayı aynı derecede destekleyen geniş kapsam sunar. Her şeyden önce, tür sistemi nesne odaklı bir programlama modelini etkinleştirir. Nesne yönlendirmesinin izin verdiği tüm tür katmanlamaları için mantıklı bir davranış sağlamak üzere türler, (tek temel sınıf) devralma, arabirimler (varsayılan yöntem uygulamaları dahil) ve sanal yöntem gönderimi içerir. Genel türler yaygın olarak bulunur ve sınıfları bir veya daha fazla türde özelleştirmenize olanak verir.
.NET çalışma zamanı, çöp toplayıcı aracılığıyla otomatik bellek yönetimi sağlar. Herhangi bir dil için bellek yönetim modeli büyük olasılıkla en belirleyici özelliğidir. Bu, .NET dilleri için geçerlidir. .NET'in kendi kendini ayarlayabilen, izleme özelliğine sahip bir Çöp Toplayıcısı (GC) vardır. Genel durumda "müdahalesiz" kullanım sunmayı hedeflerken, daha aşırı iş yükleri için yapılandırma seçenekleri sunmayı amaçlar. Mevcut GC, uzun yıllar boyunca yapılan yatırımların ve çok sayıda iş yükünden elde edilen öğrenmelerin sonucudur.
Değer türleri ve yığını tahsis edilmiş bellek blokları, veri ve yerel platformla birlikte çalışmada daha doğrudan, düşük seviyeli kontrol sunar, buna karşın .NET'in GC tarafından yönetilen türleri. .NET'teki tamsayı türleri gibi temel türlerin çoğu değer türleridir ve kullanıcılar benzer semantiklerle kendi türlerini tanımlayabilir. .NET'in genellik sistemi aracılığıyla değer türleri tamamen desteklenir, yani List<T>
gibi genellik türleri, değer türü koleksiyonlarının düz, ek yük içermeyen bellek gösterimlerini sağlayabilir.
Yansıma bir "veri olarak programlar" paradigmasıdır ve bir programın bir bölümünün derlemeler, türler ve üyeler açısından dinamik olarak başka bir bölümü sorgulamasına ve çağırmasına olanak tanır. Özellikle gecikmeli bağlamalı programlama modelleri ve araçları için kullanışlıdır.
Özel durumlar .NET'teki birincil hata işleme modelidir. Özel durumlar, hata bilgilerinin yöntem imzalarında temsil edilmesi veya her yöntem tarafından işlenmesi gerekmemesi avantajına sahiptir. Uygun özel durum işleme, uygulama güvenilirliği için gereklidir. Uygulamanızın kilitlenmesini önlemek için, kodunuzda beklenen özel durumları bilinçli bir şekilde işleyebilirsiniz. Kilitlenen bir uygulama, tanımsız davranışa sahip bir uygulamadan daha güvenilir ve teşhis edilebilir.
ASP.NET Core ve Windows Forms gibi uygulama yığınları, alt düzey kitaplıkları, dili ve çalışma zamanını temel alır ve bu kitaplıklardan yararlanir. Uygulama yığınları, uygulamaların nasıl kurulduğunu ve bunların yürütme yaşam döngüsünü tanımlar.
SDK ve diğer araçlar, hem geliştirici masaüstünde hem de sürekli tümleştirme (CI) için modern bir geliştirici deneyimi sağlar. Modern geliştirici deneyimi kod derlemeyi, analiz edebilmeyi ve test edebilmeyi içerir. .NET projeleri genellikle NuGet paketlerinin geri yüklenmesini ve bağımlılıkların oluşturulmasını düzenleyen tek bir dotnet build
komutuyla oluşturulabilir.
NuGet, .NET için paket yöneticisidir. Birçok senaryo için işlevsellik uygulayan yüz binlerce paket içerir. Uygulamaların çoğu bazı işlevler için NuGet paketlerine güvenir. NuGet Galerisi Microsoft tarafından yönetilmektedir.
Ücretsiz ve açık kaynak
.NET ücretsiz, açık kaynaktır ve bir .NET Foundation projesidir. .NET, Microsoft ve GitHub'daki topluluk tarafından çeşitli depolarda korunmaktadır.
.NET kaynağı ve ikili dosyaları, MIT lisansile lisanslandırılır. Ek lisansları Windowsüzerinde geçerlidir.
Destek
.NET, .NET'in birden çok işletim sisteminde çalıştırılabilmesini ve güncel tutulmasını sağlamak için çalışan birden çok kuruluş tarafından desteklenen. Arm64, x64 ve x86 mimarilerinde kullanılabilir.
.NET'in yeni sürümleri, sürümlerimize ve destek ilkelerimize göre her yıl Kasım ayında yayımlanıyor. Her ayın yaması Salı günü (ikinci Salı) güncellenir, genellikle Pasifik saatiyle 10:00'da.
.NET ekosistemi
Her biri farklı bir uygulama türünü destekleyen birden çok .NET değişkeni vardır. Birden çok çeşidin nedeni kısmen geçmiş, kısmen tekniktir.
.NET uygulamaları:
- .NET Framework -- Özgün .NET. Windows ve Windows Server'ın geniş özelliklerine erişim sağlar. Etkin olarak desteklenir ve bakım altındadır.
- Mono -- Özgün topluluk ve açık kaynak .NET. .NET Framework'ün platformlar arası uygulaması. Android, iOS ve WebAssembly için etkin olarak desteklenir.
- .NET (Core) -- Modern .NET. Bulut çağı için yeniden tasarlanmış, .NET Framework ile önemli ölçüde uyumlu kalırken, çapraz platform ve açık kaynak bir .NET uygulaması. Linux, macOS ve Windows için etkin olarak desteklenir.
Sonraki adımlar
- Bir .NET dersini seç
- Tarayıcınızda .NET'i deneyin
- C# turuna katılın
- F# turuna katılın