Klicka på startknappen i den lilla mediaspelaren ovan för att lyssna på lektionen. (Man kan behöva vänta en stund på att ljudfilen laddas ner.) Om mediaspelaren inte syns, eller om det inte fungerar av något annat skäl, kan man klicka här för att ladda ner mp3-filen (ca 16 minuter, ca 7 megabyte). Beroende på hur webbläsaren är konfigurerad kan det kräva ett separat mp3-spelarprogram av något slag. Tänk på att lektionerna ger en översikt och introduktion. Du måste läsa i kursboken och arbeta med övningarna för att tillgodogöra dig kursen! Bild 1: Kompilering Kommer ni ihåg grundkursen om programmering? Ett program skrivs i form av Källkod i något programspråk, till exempel C, C++, Pascal eller (för oss som fyllt 40) FORTRAN. En kompilator översätter, eller kompilerar, källkoden till ett språk som datorn förstår, ett körbart program. Varje datortyp, och varje operativsystem, har sitt eget körbara format. Bild 2: Den gamla vanliga sortens programmering Varje datortyp, och varje operativsystem, har sitt eget körbara format och sin egen kompilator. Det behövs till exempel en särskild kompilator för Windows och en annan kompilator för MacOS X. Även hur källkoden får se ut skiljer sig en del, särskilt om man vill använda operativsystemanrop eller grafik. Flera olika versioner av källkoden, och flera olika körbara program. (Eller så utvecklar man bara för Windows på x86 och inget annat.) Bild 3: Java från Sun Microsystems Ett språk (Java) kompileras till kod, bytekod, för en "virtuell maskin" (JVM, Java Virtual Machine). Den virtuella maskinen finns för många olika operativsystem och många olika datorer. En enda version av källkoden, och ett enda körbart program. (Operativsystem och datortyp spelar inte längre så stor roll.) Bild 4: .NET från Microsoft Många språk (bland annat C#) kompileras till kod, Intermediate Language, för en "virtuell maskin" (JVM, Java Virtual Machine). Den virtuella maskinen finns för Windows. En enda version av källkoden, och ett enda körbart program. (Och ett enda operativsystem, nämligen Windows.) Fast det är inte riktigt sant: Microsoft har gjort "virtuella .NET-maskiner" även till Windows CE på olika typer av handdatorer. Andra arbetar med att utveckla .NET-maskiner för annat än Windows. Bild 5: .NET Compact Framework - en delmängd av .NET .NET Framework ("den virtuella maskinen") är ganska stor, och får inte plats på smådatorer. .NET Compact Framework är en mindre version av vanliga skrivbords-.NET. Den här bilden känner vi igen från lektion 1. Vi har gjort en enkel tillämpning i .NET Compact Framework, med några knappar och textfält, och kör den på en handdator med Pocket PC. Bild 6: Samma tillämpning körd i skrivbords-.NET .NET Compact Framework är en delmängd av vanliga skrivbords-.NET. En del klasser, och en del finesser i klasserna, från skrivbords-.NET saknas i .NET Compact Framework. Allt i .NET Compact Framework finns med i skrivbords-.NET. Därför kan en tillämpning, som utvecklats och kompilerats för .NET Compact Framework, även köras i vanliga skrivbords-.NET! (Men inte tvärtom.) Här i Windows XP, men det funkar även i Windows 2000. Bild 7: Mer om .NET Compact Framework Windows CE - Microsofts små-dator-Windows (inte bara handdatorer) Pocket PC - för handdatorer, bygger på Windows CE .NET Compact Framework - en delmängd av .NET Framework Windows CE .NET - den senaste versionen av Windows CE Pocket PC 2003 - den senaste versionen av Pocket PC, innehåller .NET Compact Framework (måste installeras separat i tidigare versioner av Pocket PC) Två typer av kod: managed code ("hanterad kod"?) unmanaged code ("ohanterad kod"?) eller native code Tre klasser av tillämpningar i .NET: Windows Forms ("Windows-formulär"?) - vanliga Windows-program Web Forms ("webbformulär"?) - HTML och skript som körs i en webbläsare uppkopplad mot en webbserver Web Services ("webbtjänster"?) - inget användargränssnitt, utan för kommunikation mellan program De tre klasserna av tillämpningar i .NET Compact Framework: Windows Forms: ja Web Forms: bara klienter, inte servrar Web Services: bara klienter, inte servrar (men: kan göras i ohanterad kod i Windows CE!) Läsanvisningar Den här lektionen motsvaras av kapitel 1, .NET Compact Framework Architecture, i kursboken. Läs kapitlet översiktligt som bakgrund. Några frågor som kan användas som instuderingsfrågor: Vad är .NET? Vad är de viktigaste likheterna och skillnaderna mellan .NET (från Microsoft) och Java (från Sun)? Vad är Windows CE? Vad är Pocket PC? Hur förhåller sig Windows CE till Pocket PC? Vad är .NET Compact Framework? Hur skiljer sig .NET Compact Framework från skrivbordsvarianten av .NET Framework? Vad är Visual Studio .NET 2003? Vad är C#? Vad är lättast för en programmerare: att börja med .NET Compact Framework och sen fortsätta med skrivbordsvarianten av .NET Framework, eller att börja med skrivbordsvarianten och sen fortsätta med .NET Compact Framework? Varför? Vad är "managed code"? Vad är "unmanaged code" (eller "native code")? Vad är en emulator? Vad är "Windows Forms", "Web Forms" och "Web Services"? Vad är en "assembly" i .NET? Vad motsvaras det av i Java? Vad är "DLL hell", och hur löser man det problemet i .NET? Om du vill skriva svar på instuderingsfrågorna, räcker det för de flesta frågorna med en eller några få meningar. Ett tillägg hösten 2006 (inte med på ljudspåret): Det finns en ny version av Visual Studio .NET, nämligen Visual Studio 2005 (alltså utan ".NET" i namnet). Boken använder Visual Studio .NET 2003 i sina exempel, och det gör även den här webbkursen, men om man vill (och törs) kan man i stället använda Visual Studio 2005. Jag har inte provkört alla exempel, men det verkar fungera ganska lika. Programmeringsövningar Det finns inga programmeringsövningar till den här lektionen. Föregående lektion | Lektionslista | Nästa lektion Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se), 22 augusti 2006
Klicka på startknappen i den lilla mediaspelaren ovan för att lyssna på lektionen. (Man kan behöva vänta en stund på att ljudfilen laddas ner.) Om mediaspelaren inte syns, eller om det inte fungerar av något annat skäl, kan man klicka här för att ladda ner mp3-filen (ca 16 minuter, ca 7 megabyte). Beroende på hur webbläsaren är konfigurerad kan det kräva ett separat mp3-spelarprogram av något slag.
Flera olika versioner av källkoden, och flera olika körbara program. (Eller så utvecklar man bara för Windows på x86 och inget annat.)
En enda version av källkoden, och ett enda körbart program. (Operativsystem och datortyp spelar inte längre så stor roll.)
En enda version av källkoden, och ett enda körbart program. (Och ett enda operativsystem, nämligen Windows.)
Fast det är inte riktigt sant: Microsoft har gjort "virtuella .NET-maskiner" även till Windows CE på olika typer av handdatorer. Andra arbetar med att utveckla .NET-maskiner för annat än Windows.
Den här bilden känner vi igen från lektion 1. Vi har gjort en enkel tillämpning i .NET Compact Framework, med några knappar och textfält, och kör den på en handdator med Pocket PC.
Några frågor som kan användas som instuderingsfrågor:
Det finns en ny version av Visual Studio .NET, nämligen Visual Studio 2005 (alltså utan ".NET" i namnet). Boken använder Visual Studio .NET 2003 i sina exempel, och det gör även den här webbkursen, men om man vill (och törs) kan man i stället använda Visual Studio 2005. Jag har inte provkört alla exempel, men det verkar fungera ganska lika.
Föregående lektion | Lektionslista | Nästa lektion