BootcampHackathonHiring ChallengeTüm Etkinlikler
İş İlanlarıŞirketler
Net Core Nedir? Ne İşe Yarar?

Net Core Nedir? Ne İşe Yarar?

Bu blog yazımızda, .NET Core ile her platformda etkili yazılımlar geliştirmenin yollarını anlattık.
Techcareer.net
Techcareer.net
29.03.2024
4 Dakika

Yeni bir geliştirme çerçevesi öğrenmek her zaman zorlu bir iştir. Ayrıca, bir geliştirici olarak aralarından seçim yapabileceğiniz çeşitli çerçeveler vardır. Bu çerçeveler arasında hangisinin iş için en uygun olduğunu bilmek gerekir. Halihazırda .NET’te geliştirme yapıyor olsan bile .NET Core oldukça farklıdır. Araçları ve teknikleri doğru şekilde nasıl kullanacağını incelemen gerekecektir. .NET Core’u anlamak için nereden başlayacağını öğrenmen işini kolaylaştırır.

.NET Core Nedir?

.NET Core, Microsoft tarafından sağlanan en son genel amaçlı geliştirme platformudur. 90’ların sonlarında .NET çerçevesi üzerine çalışmaya başlayan Microsoft, o dönemden bu yana muazzam bir dönüşüm gerçekleştirmiştir. Orijinal çerçeveyi bu denli tercih edilebilir kılan; geliştiricilere C#, C++ da dahil olmak üzere herhangi bir dilde uygulama yazma seçeneği sunan sınıf kitaplığının dahil edilmesidir.

.NET’de yazılan programlar, Common Language Runtime (CLR) adı verilen bir ekosistemde yürütülür. Bu bellek yönetimi, güvenlik ve özel bir yönetim sunan uygulama sanal makinesidir. Bu ekosistem .NET Framework ile çalışır. Ancak Microsoft, .NET Framework’te birçok değişiklik yaparak, .NET Core’u tanıtmıştır. .NET Framework’te bulunan ve yukarıda bahsedilen temel kavramların hepsi bu geliştirme platformunda da mevcuttur. Ancak, .NET Core ile gelen en büyük yenilik, kodun platformlar arasında paylaşılabilir olmasıdır.

.NET. Core, çeşitli platformlara dağıtılabilen bir kütüphane sağlar. Ayrıca, geliştiricilerin projeleri için gerekli olan araçları içe aktarmaya da olanak tanır. .NET Core Runtime, geliştiricilerin platformu geliştirmelerine yardımcı olur. Kod geliştiricilere sunucu ve bulut uygulamaları oluşturmaya yönelik tam destekli, açık kaynaklı, platformlar arası bir .NET yığını sağlar. Bu, derleyiciler, CLR ve çekirdek .NET temel sınıf kitaplıklarının yanı sıra üst düzey .NET web, API çerçeve ve verilerinden oluşur.

.NET Core Özellikleri Nelerdir?

.NET Core’un en büyük özelliği Framework’ü geliştirmek, onu modüler, hafif ve platformlar arası bir çerçeve haline getirmek için sıfırdan yazılmış olmasıdır. Geliştiriciler bu geliştirme platformu ile tamamı açık kaynakta olmak üzere Android, IOS, Linux, Windows ve Mac uygulamaları geliştirebilir. Bu yeteneği de onu her platformda çalışabilecek projeler geliştirmek için en iyisi haline getirir. En önemli .NET Core özellikleri şöyle sıralanabilir:

1.  .NET Core Platformu Açık Kaynaklıdır

.NET Foundation, .NET Core’un da parçası olduğu bir topluluktur. .NET geliştirme çerçevesinde yenilikçiliği teşvik etmek için yaratılmıştır. Bu topluluğun bir ürünü olan .NET Core projesi, yenilikçiliği destekleme önceliği dikkate alınarak, açık kaynak yazılım ilkelerine kendini adamış geliştiriciler ve .NET ekibi tarafından yapılmıştır. Bu açık kaynaklı platformu kullanmanın birçok avantajı vardır. .NET Core’u kullanırken kontrol her zaman sende olur. Açık kaynaklı konumu göz önüne alındığında .NET Core, geliştiriciler tarafından tanımlanan ve daha sonra bırakılan özel yazılımların aksine, herkesin erişimine açık olmaya devam edecektir. Platformun açık kaynak özellikleri şöyledir:

  • MIT ve Apache 2 lisanslarını kullanır.
  • .NET Foundation projesi olan .NET Core GitHub’da mevcuttur.
  • Şeffaf bir geliştirme sürecini ve katılımcı bir topluluğu teşvik eder.

2. Esnek Dağıtım

MS ürünleri genellikle kayıt defter girişlerini, COM bileşenlerini, GAC’i ve özel klasörleri içeren karmaşık bir yükleme sürecine sahiptir. Bunların tümü, yalnızca Windows’un özelliklerinden yararlanacak şekilde tasarlanmıştır. .NET Framework, bu yapılara bağımlı olduğundan diğer işletim sistemleriyle uyumlu çalışmaz. Bu nedenle .NET Framework’e dayalı bir uygulama gönderirken yükleyiciler, yanlış sürümün kurulu olup olmadığını öngörmeli ve kullanıcıya doğru sürümü alması için bir yol sunmalıdır.

Çoğu modern Windows sürümü, .NET Framework’ten oluşur. Bu nedenle, belirli uygulamaların yüklenmesi kolay olsa da application, WCF veya IIS bileşenleriyle ASP.NET entegrasyonu gibi varsayılan özellikleri kullanıyorsa sorunlar ortaya çıkabilir. Bunun aksine .NET Core’un tanımı esnek dağıtımdır. Platformu hem ayrı bir kurulum hem de uygulamanın bir parçası olarak kullanabilirsin. Kısaca .NET Core’un esnek dağıtım ve çapraz platform özellikleri şu şekildedir:

  • .NET Core’da her uygulamayı çalıştırabilir ve kodlamanı, platform hedefinden bağımsız olarak yeniden kullanabilirsin.
  • .NET.Core’da çerçeveye bağlı dağıtım ve bağımsız dağıtım gerçekleştirilebilir.
  • Çerçeveye bağlı dağıtım ile uygulaman, üçüncü taraf bağımlılıkların yüklü olduğu sistem çapındaki bir .NET Core sürümüne bağlı olur.
  • Bağımsız dağıtım sayesinde uygulamanı oluşturmak için kullandığın .NET Core sürümü, diğer sürümlerle yan yana çalışabilir.

3. Platformlar Arası Tasarım

.NET Core platformu, platformlar arası bir tasarımdır. Platformlar arası özelliği, geliştirilmesinde en önemli önceliklerden biri olduğundan macOS, Linux ve Windows üzerinde çalışır. .NET Core’da bir projenin kendi geliştiricileri dışında tüm geliştiriciler tarafından çalışılabilmesi, bu platformu iyi bir seçenek haline getirir. Aynı zamanda bu platform, .NET çerçevesine geri bildirim alma ve çok daha geniş bir uygulama kümesinden kullanım avantajı sunar. Bunlara ek olarak geri bildirim, tüm kullanıcılar için çok daha iyi çalışan bir ürün oluşturma şansı verir. Tüm bu özellikleri .NET Core’u “platfom tanımlı” uygulamalar yerine “yazılım tanımlı” uygulamalar için bir adım öne çıkarır.

4. Kütüphanenin Erişim Alanını Genişletme

.NET Standart Kütüphanesi, .NET Core’da kullanıldıktan sonra birçok platformda paylaşılabilir. Aynı kitaplık arka uç hizmetlerde, bulutta veya tablet, mobil ve masaüstünde çalışan istemci uygulamanda çalışabilir. Android, Windows ve iOS’a özel uygulamalar oluşturmak yerine tüm .NET.Core ile tüm platformlarda çalışan tek bir application yazabilirsin.

.NET Standart Kitaplığı, .NET Core için ortak bir standart oluşturur. Daha önce, yeni bir işletim sistemi sürümü piyasaya sürüldüğünde uygulamayı veya kitaplığı bu yeni platform için geliştirmek ve güncellemeyi dağıtmak geliştiricinin görevleri arasındaydı. .NET Core ile yeniden oluşturma ve dağıtma gerekli olmaz. Yeni platform tüm bağımlı kütüphaneleri destekliyorsa bu kitaplıkla da çalıştırılabilir.

.NET Core Ne İşe Yarar?

Genel amaçlı bir yazılım geliştirme çerçevesi olduğunda .NET Core; web, masaüstü, bulut, oyun, IoT da dahil olmak üzere çok sayıda yazılım geliştirmeye yarar. Bu çerçeveyi kullanarak geliştirilen uygulamalar Linux, macOS ve Windows tarafından desteklenir. Aşağıda .NET Core’da yapabileceklerinin örneklerini bulabilirsin.

  • Mobil Uygulamalar: Xamarin, C# kullanarak platformlar arası mobil uygulamalar oluşturmaya yönelik bir dizi araç ve kitaplıktır. .NET Core ile paylaşılan bir .NET kod tabanında Xamarin’den de faydalanarak mobil uygulamalar oluşturabilirsin.
  • Web Uygulamaları: ASP.NET Core, .NET Core ekosisteminin temel bir bileşenidir. ASP.NET Core, web sayfalarını oluşturmaya yönelik bir çerçevedir. Bu çerçeve, MVC mimarisini temel alır ve Web’i oluşturmak için ortak kitaplıklar sağlar. Razor da C# ve TypeScript kullanarak dinamik web sayfaları oluşturmaya yönelik çalışan diğer bir çerçevedir. Bu çerçeveleri kullanarak .NET Core ile web uygulamaları geliştirebilirsin.
  • Masaüstü Uygulamalar: .NET Core, masaüstü uygulamaları oluşturmak için çeşitli çerçeve ve araçlar sağlar. Windows Forms, WPF, UWP ve Xamarin, bu platformun sunduğu dört ana çerçevedir. Ayrıca .NET Core, bu çerçevelerin birlikte çalışmasını da destekler.
  • Nesnelerin İnterneti: .NET Core, IoT Core çalıştırılan IoT cihazları için UWP çerçevesi aracılığıyla IoT geliştirmeyi destekler. UWP; Raspberry Pi, MinnowBoard MAX, DragonBoard 410c ve diğerleri tarafından desteklenen ve IoT üzerinden çalışan uygulamalar oluşturmak için kullanılabilir.
  • Bulut Uygulamalar: Bulut uygulamaların popülaritesi gittikçe artar. Azure de tüm bulut uygulamalarını destekler. .NET Core ve C# uygulamaları, Visual Studio aracılığıyla Azure’de dağıtılabilir.
  • Oyunlar: .NET Core’da kullanabileceğin Unity en popüler oyun geliştirme çerçevelerinden biridir. C# ve UWP mobil, masaüstü, konsol, TV, VR, AR ve Web oyunları geliştirmek için kullanılır.  

.NET Core Avantajları Nelerdir?

.NET Core’un en büyük avantajı gerçek anlamda açık kaynaklı olması ve platformlar arası destek vermesidir. Bu platform, Microsoft’un ilk gerçek platformlar arası hizmeti olarak görülür. Dolayısıyla .NET Core’da yazılan kodun aynısının Windows ile birlikte Linux veya macOS’ta da çalışabiliyor olması geliştiricilere zaman ve kolaylık kazandırır. Aynı zamanda bu özellik, dağıtım ve ölçeklendirilebilirliği de kolaylaştırır. Bunların yanı sıra bu geliştirme platformu aşağıdaki avantajları da sağlar:

  • .NET Core’un performansı oldukça yüksektir. Özellikle Framework ile karşılaştırıldığında oldukça hızlı bir kullanım sunar. Birçok test, bu geliştirme platformunun diğerlerinden 8 kata kadar daha hızlı olduğunu söyler.
  • Eski çerçevelerden uzaklaşan .NET Core, günümüzün modern ihtiyaçlarını karşılamak üzere tasarlanmıştır. Önceki çerçevelerin aksine mobil uyumluluğu, bir kez oluşturulup tüm platformlarda çalıştırılabilmesi, ölçeklenebilir olmasıyla kolaylık sağlar.
  • Toplulukların katkısıyla sürekli olarak geliştirilmiştir. Bu da geliştiricilerin ihtiyacını tam anlamıyla karşılayan bir platform olmasını sağlamıştır. Öyle ki, GitHub’da farklı Microsoft depolarına 10.000’den fazla geliştirici katkıda bulunmuştur. İlginç olan da bunlardan sadece 105’inin Microsoft çalışanı olmasıdır.
  • Hem .NET Framework hem de .NET Core, mikro hizmet geliştirmeyi destekler.
  • Taşınabilirlik de Net.Core avantajları arasında sayılabilen bir özelliktir. Geliştirilen API veya uygulama başka bir konteynere hatta birkaç platforma taşınsa da sorunsuz çalışmaya devam eder. Bu sayede, geliştiriciler projelerinin üzerinde mekandan bağımsız olarak çalışmaya devam edebilir.

En güncel teknolojileri içerisinde barındıran açık kaynaklı bu dili öğrenmek istiyorsan, Techcareer.net’te yer alan bootcamp eğitimlerini takip edebilirsin. Techcareer.net bilişime meraklı olan herkesi bir araya toplamayı, dijital yetenekleri uzmanlarla buluşturmayı hedefleyen bir ekosistemdir. Hemen şimdi https://discord.gg/techcareernet davet bağlantısına tıklayarak Techcareer.net’in Discord komünitesine katılabilir, bilişim teknolojilerinin en güncel duyurularından haberdar olabilirsin.

Sıkça Sorulan Sorular

.NET Core’u mu .NET Framework’ü mü kullanmalıyım?

.NET Core, NET Framework’ün ücretsiz, açık kaynaklı, çapraz platformlu (Windows, Linux ve macOS’ta çalıştırılabilen) güncel sürümüdür. Modern uygulamalar geliştirmek için kullanılır. .NET Framework ise yalnızca Windows tabanlı çalışan ve ASP.NET uygulamaları geliştirmek için kullanılan bir platformdur. Her iki platform da çeşitli avantajlar sağlar. Özellikle CLI üzerinde çalışman gerekiyorsa veya yazılım geliştirmede mikroservislere ihtiyacın olacaksa .NET Core’u tercih edebilirsin. Ancak projen önceden geliştirilmişse ve Windows tabanlı yürütülüyorsa .NET Framework’ü kullanabilirsin.

.NET Core öğrenmek zor mu?

.NET Core, yazılımcıların kolay şekilde en güncel teknolojileri kullanması için geliştirilmiş olduğundan öğrenilmesi çok zor değildir. Çerçeveye yeni başlayanlar bile bu dili rahatlıkla öğrenebilir. Platform, geliştirme sürecini basitleştiren, geliştiricilerin kod yazmasını ve bakımını kolaylaştıran bir dizi araç ve kitaplığa sahiptir. Bu sebeple .NET Core’u öğrenmek de yaklaşık 3-4 ay sürer.

Bootcamp eğitimleri ücretli midir?

Techcareer.net’in Bootcamp sayfasında görebileceğin tüm bootcamp eğitimleri ücretsiz olarak düzenlenir. Eğitimlerde alanında uzman kişilerle birlikte çalışma ve gerçek zamanlı proje geliştirme fırsatı yakalarsın. Bootcamp’i başarıyla tamamladığında da senin adına bir sertifika düzenlenir.

Hackathon yarışmalarına katılım şartı nelerdir?

Hackathon yarışmalarına katılım şartı değişiklik gösterir. Techcareer.net Hackathon sayfasını ziyaret ederek, başvurunu bekleyen etkinlikleri görebilirsin. Kendine uygun olanı bulmak için etkinlik detaylarını inceleyebilirsin.


Daha Fazla

Discord'da Topluluk Nasıl Kurulur?

Discord'da Topluluk Nasıl Kurulur?

Bu blogumuz, discord topluluğunu kurup büyütmen için gerekli tüm ipuçlarını sunarak çevrimiçi etkileşimini geliştirecek.
05.04.2024
2 Dakika

TECHCAREER

Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

SOSYAL MEDYA

TwitterInstagramLinkedinYoutubeFacebook

tr


en

Tüm hakları saklıdır
© Copyright 2024
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu Olarak 31/08/2021-30/08/2024 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 17/08/2021 tarih ve 9317662 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26