Altbilgi içeriğine atla
Iron Academy Logo
C# öğrenin
C# öğrenin

Diğer Kategoriler

Linux Üzerinde C# Geliştirme: Dizi Tanıtımı

[[academy-video-youtube({"vid": "kK4A6veGCOQ", "start_time": "0", "title": "Linux'ta C#: Seri Tanıtımı", "creator": "Tim Corey", "length": "14d 29s"})]]

Çoğu C# geliştiricisi için, Windows şimdiye kadar çalıştıkları tek işletim sistemi olmuştur. Tool'lar, IDE, dağıtım hedefleri hepsi tek bir platform etrafında döner. Son işletim sistemi değişiklikleri ile ilgili gizlilik endişeleri, eski donanımları yeniden kullanma isteği veya yalnızca birden fazla ortamı bilmenin profesyonel avantajı nedeniyle, bu yöntem zaman zaman işe yaramaz hale gelebilir.

Tim Corey, "Linux'te C#: Seri Girişi" başlıklı videosunda tamamen Linux'te .NET uygulamaları geliştirme üzerine çok parçalı bir seriye başlıyor. Bu açılış bölümü, kod yazılmadan önceki manzarayı kapsar: hangi Linux dağıtımını seçeceğiniz, C# geliştirme için hangi editörlerin çalıştığı, hangi tür projeler oluşturabileceğiniz ve oluşturamayacağınız ve iş akışının artık Windows gibi görünmediğinde neler beklemeniz gerektiği. .NET'i geleneksel evinin dışında çalıştırma konusunda merakınız varsa, bu yol haritasıdır.

Neden Linux? Daha Fazla Seçenek İçin Gerekçe

Tim, samimi bir gözlemle başlıyor: Tek bir platforma kilitlenmek esnekliğinizi sınırlar. Microsoft'un AI ile ilgili Windows değişiklikleri üzerine yapılan önceki bir video, alternatifler hakkında konuşmalara yol açtı ve bu seri, bu tartışmalardan doğdu. Amaç, Windows'tan vazgeçmek değil, yetenek setinize ikinci bir geçerli ortam eklemektir.

Bu genişlik gerçek bir profesyonel değer taşır. Yeni bir iş Mac veya Linux üzerinde çalışmayı gerektiriyorsa ya da bir dağıtım hedefi Linux sunucusunda çalışıyorsa, iş akışını zaten bilen bir geliştirici belirgin bir avantaja sahiptir. Tim, diziyi bir platform savaşı olarak değil, farklı bir açıdan yaklaşarak .NET bilginizi derinleştirme yolu olarak çerçeveliyor.

Linux Mint Seçimi

[1:28 - 2:42] Yenilerin şaşırmasına neden olan bir şey, "Linux"un tek bir işletim sistemi olmadığıdır. Bu, her biri kendi masaüstü ortamına, paket yöneticisi varsayılanlarına ve tasarım felsefesine sahip yüzlerce farklı dağıtımın altında yer alan bir çekirdektir. Tim, seçeneklerin çokluğunun bunaltıcı gelebileceğini kabul ediyor ve ardından bu seri için kararı basitleştiriyor: Linux Mint.

Mint, kararlılık ve aşinalık arasında bir denge kurar. Masaüstü düzeni, Windows kullanıcılarının zaten bildiği bir yapıya benzer; bir görev çubuğu, bir başlat menüsü karşılığı ve öngörülebilir şekilde davranan bir dosya yöneticisine sahiptir. Bu görsel benzerlik, iki sistemin aynı olduğunu iddia etmeden geçişi kolaylaştırır. Pop!_OS gibi diğer dağıtımlar da sağlam seçimlerdir, ancak Windows'a alışkın geliştiriciler için Mint en erişilebilir başlangıç noktasını sunar.

.NET Geliştirme için IDE Seçenekleri

[2:42 - 3:57] Visual Studio sadece bir Windows uygulaması olduğundan, Linux geliştiricilerinin farklı bir editöre ihtiyacı vardır. Tim, iki ana yolun altını çizer: C# Dev Kit eklentisi ile eşleştirilen VS Code ve JetBrains Rider.

VS Code, C# Dev Kit ile son sürümlerde önemli ölçüde gelişti, ancak Tim bazı pürüzlerin kaldığını belirtiyor. Lisanslama, Visual Studio ile aynı modeli takip eder: bireysel geliştiriciler ve küçük ekipler için ücretsizdir, daha büyük organizasyonlar için ücretli bir katman sunar. JetBrains Rider artık kişisel projeler için ücretsiz bir topluluk sürümü sunarak geliştiricilere ön bir maliyet olmaksızın ikinci bir seçenek sağlıyor. Seri, genel olarak VS Code'u tercih edecek ancak her iki aracı da ele alacak, çünkü her bir aracın eldeki göreve bağlı olarak farklı güçlü yönleri var.

Makine Özellikleri: Gerçekten Neye İhtiyacınız Var

[4:00 - 6:14] Linux'un en pratik satış noktalarından biri, çok az donanım gerektirmesidir. Tim, aralığı gösteren iki örnek paylaşıyor. Öncelikle, yaklaşık 400 MHz işlem gücüne ve çift çekirdekli bir CPU'ya sahip olan bir Raspberry Pi klavye bilgisayarında C# Dev Kit ile VS Code'u çalıştırmayı anlatıyor. Blazor uygulamasını arayüzde oluşturdu ve çalıştırdı. Deneyim yavaştı ama çalıştı.

İkinci örnek, çoğu geliştirici için daha ilişkili. Windows 10 altında kullanılamaz hale gelmiş eski bir dizüstü bilgisayar (tıkladıkça zaman aşımına uğrayan, yüklenmeyi reddeden uygulamalar) taze bir kurulumdan sonra sorunsuz bir şekilde Linux Mint çalıştırdı. Windows masaüstünü zar zor çalıştırabilen aynı donanım, işlevsel bir geliştirme makinesine dönüştü. Tim, daha iyi özelliklerin hala daha iyi bir deneyim sunduğunu açıkça belirtse de, Linux üzerinde C# geliştirme için minimum seviye, Windows'a göre çok daha düşük bir yerde duruyor.

Yapabileceğiniz ve Yapamayacağınız Proje Türleri

[6:17 - 8:23] Her .NET proje türü Windows dışına çıkmaz ve bu sınırları önceden anlamak, sonrasında yaşanacak hayal kırıklığını önler. Hem WinForms hem de WPF, işletim sistemine entegre edilmiş Windows'a özgü kütüphanelere bağlıdır. UWP aynı sınırlamayı taşır. Bunların hiçbiri Linux'ta derlenmeyecek veya çalışmayacak.

MAUI, dikkat etmeye değer bir incelik ekler. Birden fazla platformu (Windows, macOS, iOS, Android) hedef almasına rağmen, Linux bunlar arasında değildir. Bu ayrım önemlidir çünkü geliştiriciler bazen "çapraz platform" teriminin "her yerde" anlamına geldiğini varsayarlar, pratikte MAUI'nin ulaşımı hem Linux'u hem de web'i hariç tutar.

Hangi iş yüzeyi geniş bir alanı kapsar. C# öğreniminin temelini oluşturan konsol uygulamaları, değişiklik yapılmadan çalışır. Hizmet uygulamaları (Linux terminolojisinde daemonlar) tamamen desteklenmektedir. Tüm ASP.NET Core web yığını, API'ler, Blazor uygulamaları, gRPC hizmetleri ve çalışan hizmetler dahil, Linux üzerinde aynı şekilde çalışır. Masaüstü uygulamalarının işletim sistemlerini kapsaması gerektiğinde, Uno Platform seride ileride ele alınacak bir konu olarak öne çıkıyor, Linux'ta oluşturup Windows ve macOS'a dağıtmanıza olanak tanıyor.

Bu Seri Ne Yapmayacak

[8:37 - 11:52] Tim başlarda üç beklenti belirliyor. Öncelikle, dizi Microsoft karşıtı değildir. GitHub, Azure, Edge, VS Code, ve .NET'in kendisi tüm Microsoft ürünleridir ve bu serinin çeşitli bölümlerinde görüneceklerdir. Mesele, hangi araçları kendi şartlarınıza uygun olarak benimsemeye karar vermenizdir, size dayatılmaları değil.

İkincisi, bu bölümler Linux'u tek doğru tercih olarak konumlandırmayacaktır. Windows, birçok geliştirici ve iş akışı için doğru ortam olmaya devam etmektedir. Linux seçeneklerinizi genişletir; Windows'un iyi başa çıktığı her senaryoyu değiştirmez. Değer, her iki platformu da anlamakta yatar, böylece belirli bir duruma uygun olanı seçebilirsiniz.

Üçüncü olarak, ve belki de geçiş yapan geliştiriciler için en önemlisi: Linux'un Windows ile aynı şekilde çalışmasını beklememelisiniz. Yazılım yüklemek daha fazla komut satırı etkileşimi içerir. Paket yönetimi, temelde farklı bir model izler. Windows'ta otomatikmiş gibi hissedilen bazı iş akışları, Linux'ta belirli adımlar gerektirir. Seri, ortaya çıktıkça her bir farklılığı ele alacak, neden var olduklarını açıklayacak ve bunlarla nasıl başa çıkılacağını gösterecek.

Farklılıklar Bekleyin, Eksiklikler Değil

Platform değiştirirken yaygın bir tuzak, her şeyi zaten bildiklerinizle karşılaştırarak ölçmektir. Tim bunu doğrudan ele alıyor: Windows'u geride bırakmak, bazı görevlerin alışılmadık görüneceği ve hissedileceği gerçeğini kabul etmek demektir. Pencere yönetimi, yazılım kurulumu ve sistem yapılandırması, Linux'ta kendi geleneklerine sahiptir.

Bazı bu modeller gerçekten daha iyi. Örneğin, Linux'un paket yöneticisi modeli, her uygulamanın kendi güncelleyicisini yönetmesine bel bağlamak yerine, tüm yazılım yığınızı tek bir sistem aracılığıyla güncel tutar. Diğer farklılıklar sadece uyum gerektirir. Tim, bunu Windows'tan Mac'e geçişe benzetiyor, burada tercih ettiği pencere yapıştırma davranışını elde etmek için üçüncü taraf bir araç yüklüyor. Linux'ta da eşdeğer bir durum yaşanır: Zamana yayılan bir şekilde, çevrenizi kendi tercihleriniz doğrultusunda uyarlarsınız, geride bıraktıklarınızı aynen yansıtmasını beklemek yerine.

Sonuç: Serinin Yol Haritası

[13:34 - 14:10] Tim sona yaklaşırken sırada ne olduğunu ana hatlarıyla belirtiyor. Dizi, mevcut Windows kurulumunuza dokunmadan tüm deneyimi test edebilmeniz için bir USB sürücüde Linux Mint kurulumuyla başlar. Buradan itibaren, sonraki bölümler kalıcı kurulum, geliştirme araçlarının kurulumu ve gerçek uygulamalar geliştirmeyi kapsar. Yolculuk dışı videolar, süreç boyunca Linux'a özgü yapılandırma görevlerini ele alacaktır.

Sonuç

Bu girişten çıkarılacak ana mesaj basit: Linux, C# ve .NET geliştirme için uygun ve yetenekli bir platformdur, ancak başlamadan önce anlamanız gereken birkaç sınır vardır. Donanım gereksinimleri mütevazıdır, araçlar olgunlaşmıştır ve modern geliştirme için en önemli proje türleri (web, API, hizmetler, konsol) tavizsiz çalışır.

Yalnızca Windows üzerinde çalışan geliştiriciler için bu seri, erişiminizi genişletmek adına yapılandırılmış bir yol sunar. Bir USB bellek (thumb drive) ile başlamak, kaybedecek hiçbir şey olmadığı ve kazanılacak anlamlı bir beceri olduğu anlamına gelir.

Eğer deneyim işe yararsa, ne beklemeniz gerektiğini bilerek kalıcı bir kuruluma geçiş yapabilirsiniz

Tam videoyu YouTube Kanalında izleyin ve Linux üzerinde C# geliştirme hakkında daha fazla bilgi edinin.

Hero Worlddot related to Linux Üzerinde C# Geliştirme: Dizi Tanıtımı
Hero Affiliate related to Linux Üzerinde C# Geliştirme: Dizi Tanıtımı

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js ile çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara