ASP.NET Core Nedir ve Neden Kullanmalıyız?
ASP.NET Core, Microsoft'un geliştirdiği, açık kaynaklı ve platformlar arası çalışabilen bir framework'tür. Web uygulamaları, API'ler ve mikro servisler geliştirmek için mükemmel bir araçtır. Peki, neden ASP.NET Core’u tercih etmeliyiz?
Performans konusunda bir çığır açtı. Diğer platformlara göre çok daha hızlı çalışır ve bu, uygulamanızın performansını doğrudan etkiler. Aynı zamanda esneklik konusunda da oldukça başarılıdır. İster küçük bir proje, ister büyük bir kurumsal çözüm geliştiriyor olun, ASP.NET Core size her türlü olanağı sunar.
ASP.NET Core Projesi Başlatma
Şimdi en heyecanlı kısma geldik: Bir ASP.NET Core projesi başlatmak! Eğer Visual Studio veya Visual Studio Code kullanıyorsanız, çok basit bir şekilde başlatabilirsiniz.
İlk olarak, Visual Studio’yu açın ve "Yeni Proje" seçeneğine tıklayın. Ardından, "ASP.NET Core Web Uygulaması" seçeneğini seçin. Bu noktada, projenize bir isim verin ve "Proje oluştur" diyerek devam edin.
Yine de terminal veya komut satırı kullanmak istiyorsanız, şunu yazabilirsiniz:
dotnet new webapp -n MyFirstWebApp
Bu komut, size yeni bir ASP.NET Core web uygulaması oluşturacaktır. Gerçekten basit, değil mi? Proje oluşturulduktan sonra, Visual Studio ya da Visual Studio Code içerisinde, uygulamanızın temel yapı taşlarına göz atabilirsiniz.
Temel Yapı: Startup.cs ve Program.cs
ASP.NET Core projelerinde, uygulamanın başlangıç noktası Startup.cs dosyasındadır. Burada, uygulamanızın nasıl yapılandırılacağı ve çalışacağı belirlenir. Örneğin, hangi servislerin kullanılacağını, hangi middleware’lerin uygulanacağını buradan ayarlarsınız.
İşte basit bir Startup.cs dosyası örneği:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages(); // Razor Pages kullanımı
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage(); // Hata sayfası (geliştirme ortamında)
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles(); // Statik dosyaları kullanma
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages(); // Razor Pages ile endpoint oluşturma
});
}
}
Uygulamanın çalışabilmesi için gerekli temel yapılandırmalar burada yapılır. Artık uygulamanızı çalıştırabilirsiniz.
Razor Pages ve MVC: Hangisini Seçmeli?
ASP.NET Core, Razor Pages ve Model-View-Controller (MVC) gibi iki güçlü yapı sunuyor. Razor Pages, genellikle basit ve hızlı web uygulamaları geliştirmek isteyenler için idealdir. MVC ise daha büyük ve kompleks projeler için uygundur, çünkü daha fazla yapılandırma ve kontrol sunar.
Razor Pages kullanıyorsanız, işte basit bir Razor Page örneği:
@page
@model MyFirstWebApp.Pages.IndexModel
Hoşgeldiniz!
Bu, ASP.NET Core ile geliştirilmiş ilk sayfanız!
Görüyorsunuz, ne kadar basit! Bu sayfa yalnızca bir mesaj gösteriyor, ancak Razor Pages ile etkileşimli ve dinamik sayfalar oluşturabilirsiniz.
Veritabanı Bağlantısı ve CRUD İşlemleri
Geliştirdiğiniz uygulamanın veritabanına bağlanması çok önemli bir aşamadır. ASP.NET Core, Entity Framework Core ile veritabanı işlemlerini kolaylaştırır. Bu araç sayesinde veritabanı sorguları yazarken güçlü bir yapı ile işinizi çok daha kolay hale getirebilirsiniz.
Öncelikle, veritabanı bağlantısını yapmalısınız:
public class ApplicationDbContext : DbContext
{
public DbSet Products { get; set; }
public ApplicationDbContext(DbContextOptions options) : base(options) { }
}
Sonrasında, CRUD işlemleri (Create, Read, Update, Delete) gerçekleştirebilirsiniz. İşte basit bir ürün listeleme işlemi:
public class IndexModel : PageModel
{
private readonly ApplicationDbContext _context;
public IndexModel(ApplicationDbContext context)
{
_context = context;
}
public IList Products { get; set; }
public void OnGet()
{
Products = _context.Products.ToList();
}
}
Bu, basit bir veri çekme örneğidir. Veritabanından ürünleri çekiyor ve sayfada listelemenizi sağlıyor. Eğer daha fazla işlem yapmak isterseniz, sadece birkaç ek metod eklemeniz yeterli olacaktır.
ASP.NET Core ile API Geliştirme
Web uygulamaları sadece sayfa tabanlı değil, aynı zamanda API tabanlı da olabilir. ASP.NET Core, API geliştirme konusunda oldukça güçlüdür. Bir API oluşturmak için sadece bir Controller sınıfı oluşturmanız yeterli.
İşte basit bir API Controller örneği:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
private readonly ApplicationDbContext _context;
public ProductsController(ApplicationDbContext context)
{
_context = context;
}
[HttpGet]
public ActionResult> GetProducts()
{
return _context.Products.ToList();
}
}
Bu kod, ürünleri listelemek için bir API uç noktası sağlar. Kullanıcılar bu API'yi çağırarak ürün verilerini JSON formatında alabilirler.
Sonuç
ASP.NET Core, web geliştirme dünyasında gerçekten devrim yaratacak bir platform. Herkes için uygun bir çözüm sunan bu platform, güçlü ve esnek yapısı ile öne çıkıyor. Kendi projelerinizi geliştirebilmek için ASP.NET Core’un sunduğu tüm araçlardan yararlanabilirsiniz.
Unutmayın, her şeyden önce bir projeye başlamak ve o projeyi sürekli geliştirmek çok önemlidir. İster basit bir web sitesi oluşturun, ister büyük ölçekli bir uygulama geliştirin, ASP.NET Core ile başarınız kesin!