Bästa svaret
Om du vill göra enkla / medelstora skripter på serversidan bör du vara gå till PhP. Det är ett av de bästa serverskript som finns, Hands Down! Det är det mest populära serversidespråket någonsin!
Om du vill hantera enorma belastningar som Facebook eller google, bör du titta på Python Scripting. Eller till och med att använda C-programmering på serversidan.
Här följer en översikt över vanliga språk på serversidan
CGI / Perl
Perl har funnits längre än själva World Wide Web. Version 1 släpptes den 18 december 1987, ett fullständigt decennium innan de andra språken som omfattas av den här artikeln till och med tänktes! Om du är ny med de här sakerna undrar du förmodligen hur ett webbutvecklingsspråk på serversidan kunde ha funnits före själva webben. Ser du, Perl skapades inte som ett webbutvecklingsspråk. Perl är faktiskt ett multifunktionellt skriptspråk som var utformat för att hantera uppgifter som involverar mycket textmanipulation. Perl är mycket bra på att jonglera bitar av text från olika källor och kombinera dem för att bilda kompletta dokument, vilket är exakt vad som är involverat i webbutveckling på serversidan. Under ett och ett halvt årtionde sedan dess skapande har Perl utökats med -moduler , bitar av ibland komplexa funktioner som kan anslutas till språket för att anpassas den till olika specialiserade ändamål. Ett sådant syfte är att skapa dynamiskt webbinnehåll via Common Gateway Interface (CGI) som stöds av de allra flesta webbservrar. CGI är ett standardmedel med vilket webbserverns programvara kan lämna en webbläsares begäran om en webbsida till något program. Sanningen att säga kan CGI-program skrivas (och har ibland skrivits) i C / C ++ om det behövs. Med sin praktiska texthantering har Perl dock alltid varit bättre lämpad för jobbet, och nu när Perl levereras med CGI.pm -modulen inbyggd, av de smutsiga detaljerna i hanteringen av saker som HTML-formulärinlämningar hanteras åt dig. Som en sista välsignelse grundades Omfattande Perl Archive Network (CPAN) för att tillhandahålla en central källa för tilläggsmoduler, provskript och i vissa fall helt utvecklade webbapplikationer. Idag finns versioner av Perl gratis på alla större operativsystem (från vanliga Windows till den mest obskyra Unix-varianten), och om du vill göra det till något komplicerat är chansen att någon redan har skrivit en modul för att göra ditt jobb enklare . Den enda nackdelen med detta språk är att eftersom det inte var specialbyggt för webbutveckling, har det inte optimerats vare sig för hastighet, skalbarhet eller enkel användning i en webbserverinställning. Det finns mycket lättare språk där ute att lära sig som kan göra lika mycket i webbutvecklingsarenan, men Perl låter dig också göra mycket mer än bara webbutveckling om du behöver. Fördelar:
- Ett moget språk med över ett decennium av historia, du är mindre benägna att stöta på buggar i Perl än på vilket annat språk som helst på serversidan.
- Det är GRATIS, men en bra bok som visar repen kan sätta tillbaka dig lite.
- De flesta bra webbhotell stöder Perl, så du kommer förmodligen inte behöva betala extra för webbhotell.
- Ett stort nätverk av dedikerade Perl-utvecklare över hela världen står till ditt förfogande. Inte bara kommer de att svara på dina frågor på otaliga Perl-diskussionsgrupper och e-postlistor, men bland annat CPAN-arkivet ger dig många exempel att arbeta med.
Nackdelar:
- Även om det finns vissa alternativ för att förbättra situationen, skala inte Perl särskilt bra på upptagna servrar. Om du vill skapa en webbapplikation som kan få många träffar på kort tid kan du söka någon annanstans.
- Perl är känd för att ha fem olika sätt att göra även det enklaste, vilket kan göra det svårt att lära av andras arbete om de inte använde samma metod som du är van vid att se. Dessutom är Perl-utvecklare kända för att hitta det kortaste sättet att skriva ett visst program, så du kan bli förvånad över att bara titta på ett exempelskript för att upptäcka att ett komplett e-handelsvagnskript har skrivits i tre rader kod, varav de flesta är squiggles och backslash.
- Perl är optimerad för Unix-plattformen som den skapades på, så om du förväntar dig att arbeta på en Windows-server har du förmodligen bättre val prestationsmässigt.
- Perl är Open Source-programvara, vilket innebär att det inte finns något formellt stöd för det.Trots den enorma supportgrupp som finns tillgänglig för dig, om något går fel, är den enda personen du verkligen kan lita på dig själv.
Målutvecklare : De flesta webbutvecklare som fortfarande arbetar med Perl idag brukar vara Unix-administratörer och användare som också sätter Perl i arbete i andra delar av sitt system. För människor som dessa är Perl ett tröstande ”gå var som helst, gör vad som helst” -verktyg som alltid kan lita på. Om du är en oerfaren utvecklare som står inför uppgiften att underhålla en webbplats som ursprungligen skrevs i Perl, ta tag i ett par bra böcker och förbered dig på att lägga till en verkligen kraftfullt verktyg för din arsenal.
ASP
Innan vi går vidare, låt oss få något ur vägen för puristerna där ute. Microsoft Active Server Pages (ASP) är inte ett språk. Snarare är ASP ett ramverk som låter dig kombinera ett av ett antal skriptspråk (VBScript och JavaScript är de mest populära alternativen) med en utökbar uppsättning programvaru komponenter . Dessa komponenter behandlas som objekt av det skriptspråk du väljer när det används som en del av ASP-ramverket. Kärnan i ASP ligger i dess förmåga att kombinera relativt enkla skriptspråk som VBScript och JavaScript med kraftfulla programvarukomponenter som normalt används av C / C ++ -utvecklare. Okej, det är Microsofts försäljningsnivå ur vägen. Låt oss nu möta fakta: för alla praktiska ändamål kan ASP lika gärna vara ett språk. Du får helt enkelt välja mellan att skriva VBScript ASP eller JavaScript ASP. Eftersom det mesta av provkoden där ute är skrivet i VBScript är ditt val allt annat än gjort för dig. Således anses ASP i allmänhet vara ett språk för att utveckla dynamiska webbplatser som använder VBScript, och under det paraplyet utmärker det sig. ASP är lätt att lära sig, tillräckligt kraftfull för de flesta vanliga webbutvecklingar på serversidan och ganska bra prestationsmässigt. ASP är nära kopplat till Windows-operativsystemet (de flesta programvarukomponenter som ASP förlitar sig på för sin funktion är Windows-specifika) och Microsoft Internet Information Services webbserverprogramvara. Av dessa skäl är det varken praktiskt eller önskvärt att köra en webbplats baserad på ASP på något annat än en Windows-baserad server. Om du ställer in din egen webbserver betyder det att du måste investera i en kopia av Windows 2000 Server (även om mycket av ASP körs på Windows 2000 Professional, är IIS inte lika skalbar på den plattformen). Om du betalar för webbhotell betyder det att du betalar för en Windows-baserad server, vilket vanligtvis är dyrare. Hur som helst du tittar på det kommer ASP att kosta dig pengar att köra. Det finns versioner av ASP som kan köras på en Apache-server som körs under Linux, men om du inte är specifikt är målet att flytta en befintlig ASP-webbplats till en Linux-server, det är liten poäng. En annan oro för ASP-utvecklare är den relativt begränsade karaktären hos komponenterna som levereras med ASP. Om allt du behöver för din ansökan är databasanslutning, en sökmotor, e-posthanteringstjänster, grundläggande formulärbehandling och sessionsspårning, så passar ASP dig bra. Mindre vanliga funktioner kräver dock vanligtvis att du installerar ytterligare programvarukomponenter på din server. Det finns många företag där ute som producerar komponenter för användning med ASP som genererar PDF-filer, interagerar med FTP-servrar, hanterar binära filuppladdningar och många andra saker. Tyvärr tenderar dessa komponenter, som ASP, att vara kommersiella lösningar som kostar pengar. Uppsidan av allt detta är att ASP är en mycket väl stödd teknik, med all stöd från Microsofts utvecklingssamhälle bakom sig. MSDN , Microsoft Development Network tillhandahåller en mängd tekniska artiklar och referensmaterial för ASP-utvecklare, och Microsofts supportpersonal kommer gärna att undersöka eventuella problem du har i ditt utvecklingsarbete (för ett pris). Om du när som helst absolut behöver svar på en fråga kan du vara säker på att det kommer någon där vars uppgift det är att ge dig svaret. Fördelar:
- Ganska lätt att lära sig, men programmering krävs.
- Inbyggd i Windows 2000 Server – ingen installationshuvudvärk.
- Professionell support tillgänglig.
Nackdelar:
- Det är inte gratis (om du inte redan använder en Windows-server)
- Specialiserad funktionalitet kan kräva att du köper kommersiella komponenter eller utvecklar dem själv i C / C ++ eller Visual Basic.
- Om du är van vid C-stil-syntax (delad av C / C ++, Java, Perl, PHP, etc.), kan det vara svårt att ta itu med Vioscript-idiosynkraserna.
Målutvecklare: Om du har gjort någon utveckling med VBScript eller Visual Basic eller har utvecklat COM-objekt i Windows innan, då är detta definitivt webbutvecklingsplattformen för dig. ASP är också ungefär lika vänligt för icke-programmerare som ett programmeringsspråk kan bli (men om du verkligen hatar programmering, kolla in Cold Fusion, nästa steg). Om du är bekväm att ansluta dig till Windows för din webbserverplattform och har råd med kostnaderna, eller om företaget du arbetar för helt enkelt kräver den supportnivå som Microsoft kan erbjuda, är ASP en fantastisk teknik att lära sig. Cold Fusion För webbdesignern som aldrig har skrivit ett program förut, kan valet av webbutvecklingsplattform på serversidan vara fruktansvärt. Oavsett vilken väg du går står du inför ett stort, ont programmeringsspråk att lära dig och ditt huvud börjar bara värka … Ursprungligen skapat av Allaire 1995 och nyligen köpt ut av Macromedia , var Cold Fusion utformad för att vara annorlunda. Istället för ett skriptspråk ger Cold Fusion dig en uppsättning taggar att lära dig. Ja, taggar – precis som de HTML-taggar som du har lärt känna och älska! Låt oss ta exemplet med att publicera information som är lagrad i en databas på webben. Med de allra flesta språk på serversidan måste du lägga till kod i din Webbsida för att bryta ut från HTML-läge, ansluta till databasen, begära poster från databasen som du vill visa och bearbeta resultaten som databasen skickar dig för att visa den som en del av webbsidan. I Cold Fusion, detta gemensam uppgift görs med två taggar: en
- Extremt lätt att lära sig – ingen programmering krävs!
- Kraftfull och mycket skalbar (den senaste versionen har stöd för både mjukvaru- och maskinvarubaserad serverkluster).
- Professionell support från Macromedia.
- Tvärplattform.
Nackdelar:
- Dyrt att ställa in upp din egen server: Cold Fusion Server Professional 5.0 kostar 1 295 $
- Programmerare kanske inte gillar taggbaserade utvecklingsmetoder.
Målutvecklare: Webbdesigners som är bekväma med HTML men behöver lägga till färdigheter på serversidan i deras repertoar utan att behöva lära sig ett programmeringsspråk. Ur den genomsnittliga utvecklarens synvinkel är att lära sig Cold Fusion precis som att lära sig några nya taggar. Icke-designare kommer sannolikt också att värma upp till prydligheten med programmering på serversidan med taggar, så om du är trött på att felsöka dina serversidesskript kan Cold Fusion vara värt en titt!
PHP
PHP är en relativ nykomling på serverns utvecklingsarena och har fått ett stort anhängare bland programmerare med sina bekant syntax och omfattande funktionsbibliotek. Dess relativt enkla syntax och låga, låga pris (det är gratis!) Har gjort det till ett attraktivt alternativ till Microsofts ASP för nya utvecklare. PHP har kallats av vissa för att vara Perl-mördare av skriptsvärlden på serversidan. För webbutveckling kan PHP göra nästan allt som Perl kan, och gör det vanligtvis snabbare och lättare. Till skillnad från Perl, som vanligtvis körs som ett CGI-program som webbservern åberopar för att hantera varje sidförfrågan, kan PHP integreras med din webbserver så att den fungerar mycket mer effektivt.PHP är ett extremt kapabelt språk med ett brett utbud av inbyggda funktioner för att göra allt från att spåra användarsessioner till att generera dynamisk grafik och till och med PDF-filer i farten! Inga moduler att installera, inga kommersiella tillägg att köpa … PHP hanterar allt själv! I själva verket är nästan den enda svagheten i PHP att det är relativt svårt att utöka språket för att lägga till icke-standardfunktionalitet som inte hanteras av dess inbyggda funktioner. Att göra detta kräver kunskap om C / C ++ programmering och är inte för svag i hjärtat! Lyckligtvis måste du komma med en mycket esoterisk webbapplikation för att kräva funktionalitet som inte redan är inbyggd i PHP. PHP är gratis, öppen källkodsprogramvara över plattformar. Den integreras med alla större webbservrar på alla större operativsystem. Detta är en stor välsignelse för utvecklare med en budget, eftersom de kan skapa en komplett Linux-baserad webbserver med PHP-stöd och inte betala en krona för programvara! Nackdelen med detta är naturligtvis att det inte finns något formellt stöd för eventuella problem du kan stöta på med PHP. Eftersom PHP är en så ny och aktivt utvecklad teknik, finns det fortfarande enstaka buggar i de senaste versionerna. Låt inte dessa niggles skjuta upp dig, dock – PHP har en extremt aktiv användargrupp (ett stort segment finns i våra egna SitePoint-forum !) som alltid är ivriga att hjälpa dig med eventuella snubblar, och de nuvarande versionerna av PHP är ganska stabila och pålitliga. Fördelar:
- Ganska lätt att lära sig, särskilt för utvecklare med C / C ++, Java eller Perl-upplevelse.
- Aktiv användargrupp som är villig att ge dig en hand att komma igång.
- Allt är inbyggt i språket.
- Det är gratis!
- Tvärplattform .
Nackdelar:
- Detta språk var utformat för att vara programmerarvänligt, vilket tyvärr gör det lite mindre vänligt för icke-programmerare.
Målutvecklare: Webbutvecklare med en budget som gillar enkel programmering (t.ex. JavaScript), eller har inget emot att lära dig hur. PHP ger dig mycket kraft med relativt enkel kodstruktur, men kanske inte passar till mycket avancerade applikationer som inte stöds av PHP: s inbyggda funktioner.
Java
Java är förmodligen den mest kraftfulla plattformen för webbutveckling på serversidan idag. Från små Java-program (Servlets) som hanterar webbsideförfrågningar till JavaServer Pages (JSP) som kombinerar HTML med anpassade taggar och Java-kod, och till och med upp till Enterprise JavaBeans (EJB), mjukvarukomponenter med sofistikerade förmågor för att bära information sömlöst över servrar nätverk för att ta emot distribuerade applikationer är Java verkligen en het teknik. En erfaren Java-webbutvecklare kan enkelt dra in löner som överstiger 100 000 US $ / år. Som du förväntar dig finns det en anledning till det: Java är inte lätt att lära sig! Till skillnad från skriptspråk som Perl, ASP och PHP är Java ett fullfjädrat programmeringsspråk som kan skriva stora program! Någon med lite programmeringserfarenhet kan förvänta sig att hämta en kunskap om Java-språket om en månad eller två med hjälp av en bra bok, och inom en annan månad skulle det sannolikt kunna hämta grunderna för enkel programmering på serversidan med Java. Nu, om du är intresserad av att göra en karriär inom programmering på serversidan kanske det inte verkar mycket, men om du bara vill få något att fungera snabbt, kan ett enklare språk som PHP få dig att fungera om en vecka eller mindre! Java är känt för sin filosofi Write One, Run Anywhere (WORA), och faktiskt kan Java köras på alla större webbservrar och alla större operativsystem. Java-webbapplikationer kan också buntas i en .WAR-fil (Web Application Archive) som sedan kan installeras på vilken Java-aktiverad webbserver som helst, oavsett plattform. Tillverkarna av Java planerade att denna mekanism skulle användas för att distribuera kommersiella webbapplikationer för användning på Java-webbservrar; Men enligt min erfarenhet tenderar Java-webbapplikationer att vara skräddarsydda lösningar på komplexa problem snarare än säljbara lösningar som du kan köpa online. Många olika leverantörer producerar plug-ins som gör det möjligt för webbservrar som Apache och IIS att köra Java-webbapplikationer, och medan de flesta är gratis för personlig användning och utveckling måste majoriteten betalas innan du kan använda dem för att betjäna en reklam Hemsida. Fördelar:
- Extremt kraftfull och skalbar.
- Tvärplattform.
- De flesta Java-serverplugin är gratis för personliga ändamål och utvecklingsändamål.
Nackdelar:
- Java tar mycket arbete att lära sig.Börja inte ens om du inte menar allvar med att lära dig objektorienterad programmering.
- De flesta Java-serverplugins måste betalas om de ska användas för att vara värd för en kommersiell webbplats.
Målutvecklare: Seriösa utvecklare som vill ha det bästa inom kraft, flexibilitet och skalbarhet för sina webbapplikationer och inte har något emot att betala för det i svett, tårar och utvecklingstid. Sammanfattning I den här artikeln tittade vi på de relativa funktionerna, fördelarna och nedgångarna för alla de stora utvecklingsalternativen på serversidan som finns idag:
- Perl : ett moget språk över flera plattformar som kan vara svårt att förstå
- ASP : Microsofts kraftfulla, Windows-baserade ramverk
- Cold Fusion : ett kraftfullt taggbaserat alternativ för icke-programmerare
- PHP : ett plattformsalternativ med öppen källkod med många funktioner inbyggda
- Java : den ultimata kraften och flexibiliteten för seriösa programmerare
Skål
Svar
PHP är bara ett skriptspråk på serversidan. Vilket programmeringsspråk som helst kan användas som alternativ så länge det finns en serverprogramvara som stöder detta. Du kan använda Python för Django, JavaScript för Node.JS, ASP. Net för IIS, Java för Tomcat, Php för Apache och många fler som Jag har inte använt ännu.
Min personliga favorit är ASP .net MVC, eftersom jag kan använda den kraftfulla Visual Studio för att koda och kan använda C #. Jag gillar inte php bara för att den inte har en mycket bra IDE (förmodligen har jag aldrig fått en) så kraftfull som Visual Studio och för det mesta är php fortfarande processuell. Jag har kodat i objektorienterade språk under större delen av min karriär och manus i procedur verkar för arkaisk för mig. Jag hatar till och med JS för det, men åtminstone är jQuery där för att lösa de flesta av mina problem.
Det är bara min känsla att php saknar den struktur som behövs för ett stort projekt. Ja, jag vet att facebook använder php, men det är mycket anpassat och de har begåvade ingenjörer för att skapa sina egna ramar och IDE. Jag har till och med provat ramverk som CodeIgniter och CakePHP. Även om de verkligen är bättre än att skriva rå php-kod kan de inte jämföra lyx att skriva C # -kod.