Dart är faktiskt ett nytt programmeringsspråk som har föreslagits och utvecklats av Google.

Google har skapat språket för att lösa några av de problem som finns i JavaScript, men kan det verkligen ersätta det eller det kommer att orsaka huvudvärk?

Låt oss ta reda på mer.

Q. Dart låter inte som någonting världen behöver. Eller gör vi det?

en. Tja, den specifika orsaken till att utveckla Dart är att skapa ett modernt språk som är flexibelt, snabbt och användbart vid skapandet av webbaserade applikationer, så det är ett område av stort intresse för många utvecklare och användare.

Q. Jag trodde att vi redan hade ett språk för det? Är det inte vad JavaScript är för?

en. Det är en av de viktigaste omstridiga frågorna kring Dart. JavaScript skapades inte verkligen med tanken på att göra komplicerade webbapplikationer. Det var utformat för att manipulera DOM (Document Object Model) eller, med andra ord, för att förstöra huvuddelen med applikationens visnings / gränssnitt. Det var inte riktigt utformat med förut kännedom om de uppgifter som nu förväntas av det.

Q. Tja, är det inte den visningsdel som jag faktiskt använder i min webbläsare?

en. När webbapplikationer var väldigt enkla, ja. Men det hjälper till att veta lite om bakgrunden här.

Innan den nuvarande generationen av webbapplikationer, om du ville göra fjärrbehandling på en uppgift, använde du en klient / servermodell. Klienten skulle ansluta till servern och de skulle utbyta information, vanligtvis med klientprogrammets hanteringsinmatning och visning, och servern gör allt tungt lyft. Det är den tunna klientvärlden av beräkning som det var.

Problemet med det här systemet är att det är "dyrt" att hålla en beständig anslutning till servern och koppla upp serverns resurser. Lösningen var att skapa en slags statslös servermodell, som skulle utföra en uppgift och returnera nödvändig information, och sedan glömma det - som en slags online-subrutin.

Detta innebär att konsistensen ligger på kundsidan - webappen måste komma ihåg vad som händer, kontrollera gränssnittet och sådant. Eftersom webapplikationer har blivit mer komplexa betyder det mer arbete. Det är ett större jobb än att bara göra informationen i en annan typsnitt.

Q. Men JavaScript har gjort det jobbet, har det inte?

en. Ja det har. Det är verkligen ganska anmärkningsvärt vilka saker som har byggts med JavaScript och Ajax-teknik. Vi är vana vid dem nu, men kom ihåg saker som Google Maps var förvånande när de skapades.

Men det är inte utan kritiker eller problem. Ett av de mindre problemen är att medan användargränssnittet av programmet finns i JavaScript, är det inte så bra på serverns sida att JavaScript är nästan lika bra - nästan alla program skrivs i Java på serverns sida eller något liknande. Det verkar inte som för mycket av ett problem, men det är mer irriterande för de personer som försöker skapa webbapps.

Dessutom är JavaScript ganska grundläggande. Nästan alla appar använder sig av ett bibliotek som JQuery för att försöka göra saker enklare att skapa och förbli konsekventa bland webbläsare. Webbläsarkompatibilitet är ett problem, men Dart har som mål att inkludera mycket av denna funktionalitet på själva språket. Det är lite av ett kludge, och mer ineffektivt än det borde vara.

Q. Men människor kommer fortfarande att utvecklas i Dart och Java?

en. Tja, inte nödvändigtvis. Dart är utformad för att köras som en virtuell maskin (precis som Java), så det finns ingen anledning till att det inte kan köras på serverns sida. Det är också utformat som ett riktigt språk - det har många konstruktioner och funktioner som är användbara för att göra stora appar, som inte existerar på samma sätt i JavaScript.

Q. Men ändå måste alla lära sig ett nytt språk - det kan inte vara bra?

en. Det är inte så dåligt, eftersom det lånar mycket av de bekanta. Det liknar saker som Java och C, och även JavaScript på platser. Det skulle inte ta en behörig JavaScript-programmerare som längtar efter att förstå grunderna i Dart.

Och du glömmer att det gör många knepiga grejer enkelt, eftersom det är utformat med webbapps i åtanke. Det hanterar problem som uppstartstid, skräpuppsamling och gängning. Det är värt att lära sig en extra bit av syntax för att skära timmar utanför utvecklings tiden.

Q. Det här låter bra. Utvecklaren måste vara överlycklig!

en. Tja, inte exakt. Du ser att många har använt javascript i åratal, har byggt upp företag runtom, utvecklat verktyg för det och vet hur det fungerar. De ser införandet av ett nytt verktyg som ett slags hot. Så, många utvecklare är motsatt av överlyckliga.

Q. Jo det är förståeligt. Men utvecklarna av webbläsare måste åtminstone vara nöjda.

en. Tja, nej. Återigen ser det många av dem som ett hot. Kom ihåg att Google har tagit en stor del av webbläsarmarknaden redan med Chrome.

Om det också var att styra utvecklingen av det språk som alla använder för att skriva webbapps, kan du se hur folk kan börja tänka att det hela var lite av en sömnad.

Mozilla har redan föreslagit att det inte kommer att överväga att inbädda Dart-stöd i framtida versioner av Firefox. Sedan jobbar Brendan Eich för Mozilla (och han uppfann JavaScript).

Q. Så det verkar som om Dart troligtvis bara kommer att vara tillgängligt i Chrome.

en. Jag antar att du har en bättre kristallkula än vi gör ...

Q. Tja, om majoriteten av utvecklare inte vill ha det, och majoriteten av webbläsare inte vill stödja det, det ser ut som en icke-starter ...

en. Vi påstår med respekt att när det gäller webteknik är utvecklare inte det viktigaste folket - användarna är. Tänk på en värld där du kan köra dina applikationer som vanligt, riktigt snabbt eller med extrafunktioner. Vilket alternativ ska du välja??

Det är inte för svårt att se en framtid där Google Mail, Google Dokument, Google Maps och Google allting körs bättre eller mer förbättrat i Chrome. Ergo, folk kommer att vilja köra dem i Chrome. Och om de ser någon form av konkurrensfördel, vill andra att deras applikationer ska springa i Dart.

Med Chrome OS och Chrome App Store har Google gott om möjligheter att leverera snabbare och bättre apps. Åtminstone verkar det vara planen.

Q. Men det är inte det heller ganska splittrande, och även vad Microsoft försökte göra med ActiveX och Internet Explorer?

en. Jo, det är lite likt. Google är lite mer öppet om tekniken. Den är skapad enligt den reviderade BSD-licensen, så själva koden är så öppen som du kan få.

Q. Det är inte meningen, om folk kommer att tvingas till ett tvåspråkig internet.

en. Nej. Men ingen föreslår att folk på något sätt blir tvungna att använda Dart. Det som ofta förbises är att många av världens webbapplikationsutvecklare faktiskt arbetar för Google. Om de vill skapa ett nytt verktyg som är bättre för dem att använda och, som biprodukt, släppa det gratis till resten av världen gratis, ska vi verkligen klaga?

Q. Tja, det verkar fortfarande som en icke-starter. Varför skulle någon bygga en webbapp som inte skulle köras i de flesta webbläsare?

en. Det finns en potentiell lösning på det - en kors-kompilator som genererar JavaScript från Dart-kod. Även om det för närvarande inte fungerar så bra. En enkel "Hello World" app blir 180k kod.

Q. Hah! Så mycket för effektivitet ...

en. Tja, det kommer säkert att förbättras, eftersom det kan vara en av nycklarna för att få Dart mer allmänt accepterad utanför Google.

Q. Jag kan fortfarande inte se en framtid i den. Och även Google verkar ganska bättre att stänga saker än att skapa nya saker ... Buzz, Wave, Labs ...

en. Men ja. Det skulle vara lite av en satsning för att spela din försörjning på Dart. Men som tidigare nämnts, trots att de bara används av Google själva, skulle Dart fortfarande få stor inverkan på webben, och förmodligen för Google själva, vars servernräkningar måste vara ganska skrämmande. Små effektivitetsbesparingar för Google kan lägga till mer än en bankers bonus!

Q. Ändå verkar det som en sak som bara gynnar Google.

en. Tja, den specifika orsaken till att utveckla Dart är att skapa ett modernt språk som är flexibelt, snabbt och användbart vid skapandet av webbaserade applikationer, så det är ett område av stort intresse för många utvecklare och användare.

Q. Så vi borde titta på detta utrymme ...

en. Du har förmodligen rätt. Om du vill kolla in den aktuella koden till Dart-språket, är den värd, erm, Google Code (http://code.google.com/p/dart). Språket självt, inklusive lite redan användbar dokumentation och några utvecklingsverktyg (ja, förmörkelser) är på huvudsidan på dartlang.org.