En kort historia av tid
Vi har alltid pratat om våra hårdvaruuppgraderingar och hur bra de presterar. Vår hårdvaruarkitektur är utan tvekan avgörande för sajtens framgång, men mjukvaran som faktiskt driver AnandTech.com är lika viktig. Nyligen genomförde vi ett stort arkitekturskifte från en ColdFusion-baserad back-end till Microsoft.NET. Vi tänkte att detta skulle vara en intressant artikel för att lyfta fram historien om AnandTech.com ur ett mjukvaruperspektiv.
I den här artikeln kommer vi att diskutera bakgrundsinformation om följande plattformar:
Kall fusion
Macromedia ColdFusion är ett webbaserat språk som fokuserar på RAD-utveckling av dynamiskt webbinnehåll. ColdFusion började baserat på en C++-runtime som tolkade kod i HTML-mallar och kompilerade den till PCODE, som sedan tolkades av ColdFusion-runtime och levererades till webbservern och i sin tur till slutanvändaren som begärde sidan. ColdFusion liknade då PHP och ASP. Nyligen beslutade Macromedia att ta ColdFusion-språket till en standardbaserad plattform, JAVA. ColdFusion körs ovanpå nästan vilken J2EE-server som helst; vi använde ColdFusion fristående version, som använder Macromedia JRUN som J2EE-server. ColdFusion-mallar skrivs i CFML (ColdFusion Markup Language) och kompileras sedan ner till JAVA-bytekod och exekveras av J2EE-servern. Macromedia brukade vara det enda spelet i stan, när det gäller ColdFusion. Nu heter ett företag Nya Atlanta gör en ColdFusion-server som också körs på .NET.
Microsoft .NET
.NET-plattformen är det nya ramverket för att bygga Windows-baserade och webbaserade applikationer från Microsoft. Den ersätter inte bara den äldre ASP-plattformen, utan introducerar även några uppdaterade språk som körs på Common Language Runtime, som är ryggraden i .NET. De tre huvudspråken som används med .NET är: C# (liknar C++), VB.NET (något liknande VB) och J# (ganska nära JAVA). Det fina med denna arkitektur är att den sammanför olika utvecklare på en enda plattform. De som skrev mest i C++ eller JAVA kommer förmodligen att välja C#; och de som är bekanta med VB eller mer utförliga språk kommer förmodligen att välja VB.NET. J# är till för JAVA-utvecklaren. Oavsett vilket språk du skriver din kod på så kompileras den till ett mellanspråk, CIL (Common Intermediate Language), som sedan hanteras och exekveras av CLR. ASP.NET är helt enkelt en annan .NET-baserad miljö som låter dig skriva på något av de språk som körs på CLR. Dess syntax liknar ASP.