ASP.net Core

💡 Vad är ASP.NET Core?

ASP.NET Core är som att ha en supersnabb, cross-platform webbserver i fickan! 🌐

Tänk dig att du ska bygga en webbplats. Förr var det som att bara kunna bygga hus på Windows-mark. Men ASP.NET Core? Det är som en magisk byggnadsteknik som fungerar på Windows, Mac OCH Linux! 🏗️

Microsoft tog sitt gamla ASP.NET och sa: “Vi gör om detta från grunden för att det ska vara snabbare, bättre och fungera överallt!”

🎯 TL;DR

ASP.NET Core = Microsofts moderna, cross-platform webbramverk. Snabbt som blixten ⚡, fungerar överallt 🌍, och perfekt för att bygga allt från bloggar till Netflix-liknande appar.

📋 Efter att ha läst detta kommer du att kunna

  • Förstå varför ASP.NET Core är så populärt 🌟
  • Veta skillnaden mellan “gamla” ASP.NET och nya Core 🆚
  • Se fördelarna med cross-platform utveckling 🖥️
  • Förstå när du ska välja ASP.NET Core för ditt projekt 🤔
  • Bygga din första webbapplikation 🎨

🔧 Grundprinciper

Princip 1: Cross-Platform Freedom

En kodbas = fungerar överallt! Windows, Mac, Linux - vad som helst.

Princip 2: Performance First

ASP.NET Core är byggt för hastighet. Snabbare än dess föregångare.

Princip 3: Modularitet

Välj bara de delar du behöver. Ingen onödig “bloat”.

💭 Tänk så här

💬 Skillnaden mellan ASP.NET (gamla) och ASP.NET Core (nya):


GAMLA ASP.NET:
✅ Endast Windows
✅ Stort och tungt
✅ Svårt att testa
✅ Bundet till IIS

ASP.NET CORE:
🚀 Windows + Mac + Linux
🚀 Lätt och snabbt
🚀 Lätt att testa
🚀 Kan köras var som helst

✨ Fördelar med ASP.NET Core

🎯 Varför välja ASP.NET Core?

  • 🌍 Cross-Platform: En app = kör på Windows, Mac, Linux
  • ⚡ Blixtsnabbt: Optimerat för max prestanda
  • 🧩 Modulärt: Ta bara det du behöver
  • 💰 Gratis: Open source och community-driven
  • 🔒 Säkert: Microsoft har tänkt på säkerhet från start
  • 🏗️ MVC-arkitektur: Håller koden organiserad
  • 📊 Skalbart: Från liten blogg till Netflix-storlek
  • 🔄 Hot Reload: Ändra kod utan att starta om

🛠️ Vad kan du bygga?

  • Web APIs som andra appar kan använda
  • MVC-webbsidor med full funktionalitet
  • Real-time appar med SignalR
  • Microservices för stor arkitektur
  • Blazor-appar (C-Sharp även i browsern!)
  • Progressive Web Apps (PWAs)

⚠️ Saker att tänka på

🤔 När kanske ASP.NET Core INTE är bästa valet:

  • Legacy Windows-appar: Om du MÅSTE använda gamla .NET Framework-bibliotek
  • Mycket enkel statisk sida: Kanske overkill för en enkel HTML-sida
  • Teamet kan bara PHP/Python: Lärningskurvan kan ta tid

💪 Men oftast är det värt det:

  • Community är fantastiskt
  • Microsoft investerar massivt i utveckling
  • Prestanda är i världsklass

🚀 ASP.NET Core i praktiken

🟢 Grundläggande förståelse

ASP = Active Server Pages (dynamiska webbsidor) .NET Core = Microsofts moderna, cross-platform utvecklingsplattform


Användare → Webbrowser → ASP.NET Core Server → Databas
                    ↓
Snygg hemsida ← HTML/CSS/JS ← C-Sharp-kod ← Data

🟡 MVC-arkitektur i praktiken


// MODEL - Vad vi jobbar med (data)
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

// CONTROLLER - Trafikpolisen
public class ProductController : Controller
{
    public IActionResult Index()
    {
        var products = GetProductsFromDatabase();
        return View(products); // Skicka till VIEW
    }
}

// VIEW (Razor-template) - Vad användaren ser
@model List<Product>
<h1>Våra produkter:</h1>
@foreach(var product in Model)
{
    <div class="product">
        <h3>📦 @product.Name</h3>
        <p>Pris: @product.Price kr</p>
    </div>
}

🔴 Avancerat: Web API


[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    [HttpGet]
    public async Task<ActionResult<List<Product>>> GetProducts()
    {
        var products = await _productService.GetAllAsync();
        return Ok(products); // Returnerar JSON automatiskt!
    }

    [HttpPost]
    public async Task<ActionResult<Product>> CreateProduct(Product product)
    {
        var created = await _productService.CreateAsync(product);
        return CreatedAtAction(nameof(GetProducts), created);
    }
}

🔍 När ska du använda ASP.NET Core?

✅ Använd ASP.NET Core när:

  • Du vill bygga webb-APIer som andra appar kan använda
  • Du behöver cross-platform stöd (Windows + Mac + Linux)
  • Prestanda är kritiskt för ditt projekt
  • Du bygger microservices eller moderna arkitekturer
  • Du vill ha senaste säkerhetsfunktioner från Microsoft
  • Teamet redan kan C-Sharp och .NET

❌ Använd INTE ASP.NET Core när:

  • Du bara behöver en statisk HTML-sida
  • Du har massa legacy .NET Framework-kod
  • Teamet är experter på andra tekniker (som Node.js/Python)

📚 Sammanfattning

ASP.NET Core är din bästa vän för modern webbutveckling:

  • 🌍 Cross-platform - kör på Windows, Mac, Linux
  • ⚡ Blixtsnabbt - optimerat för maximal prestanda
  • 🔒 Säkert - Microsoft tar säkerhet på allvar
  • 🏗️ MVC-arkitektur - håller koden snygg och organiserad
  • 💰 Gratis - open source och community-driven
  • 🚀 Framtidssäkert - Microsoft investerar stort

🎯 Övningar

  1. 🟢 Grundläggande: Skapa ditt första ASP.NET Core MVC-projekt
  2. 🟡 Utmanande: Bygg en enkel produktkatalog med databas
  3. 🔴 Expert: Skapa ett fullständigt Web API med authentication

😄 Obligatorisk dad joke

Varför är ASP.NET Core utvecklare alltid så glada?

För att de har server-side humor! 🖥️😄


Undersidor


    Upp

    Upp


    Licens: Apache 2.0 | © 2023 Marcus Medina, Campus Mölndal. Alla rättigheter förbehållna.
    Du får använda och modifiera detta verk enligt villkoren i Apache License, Version 2.0. Du får inte använda detta verk för kommersiella ändamål utan tillstånd från upphovsmannen.