Politik

Vad kan du om HTML5, Apache Cordova och JavaScript, världens populäraste datorspråk?

Den som kollar på den populära öppna programmeringssajten GitHub ser, kanske till sin förvåning, att det i särklass populäraste datorspråket i dag är JavaScript.

JavaScript kanske någon undrar, är inte det det där språket som skapades av Brednan Eich på Netscape för snart tio år sen och som körs i en webbläsare?

Jo precis. Netscape körde Java men man ville också ha en lätt tolkat språk som skulle komplettera Java genom att vädja till icke-professionella programmerare och ta upp kampen mot Microsofts Visual Basic. Som Netscape med rätta såg som sin farligaste konkurrent.

JavaScript släpptes i september 1995 och har visat sig vara ett synnerligen livskraftigt datorspråk.

Huvudorsaken är givetvis webbens starka frammarsch, och nu senast HTM5 och den mobila webben.

HTML5 har tagit den mobila webben och speciellt utvecklingen av appar för Android med storm. I praktiken är HTML5 JavaScript + CSS + HTML, vilket betyder att Microsofts vision av Visual Bacis som ett enkelt programmeringsspråk för massorna, nu lever vidare i JavaScript, speciellt i mobilen.

Apache Cordova och PhoneGap, de två är i princip samma sak, har blivit mycket populärt inom utvecklarna av mobila appar.

Orsaken är följande. Om du skriver en Android-app i Java så konverteras den till s.k. bytecode, som sen exekveras av Dalvik, uppkallad efter den isländska staden, Googles virtuella maskin som kommer färdiginstallerad på varje Android-mobil.

Det betyder att om du också vill portera samma app till IOS på iPad eller iPhone, så måste du skriva om den i Objective C som är Apples motsvarighet till Java.

Men om du istället skriver JavaScript med PhoneGap, så exekveras den koden i Webkit, den webbläsare som kommer med Android och alltså inte i Dalvik.

Och eftersom Apple har sin egen webbläsare som också har stöd för JavaScript, så behöver du bara skriva din kod en gång för att sen kunna distribuera den till de ledande mobila operativsystemen.

Apache Cordoba körs också oftast tillsammans med ett av tre ledande JavaScript-versioner för den mobila marknaden, Sencha Touch, Dojo och JQuery Mobile som används för att skapa användargränssnitten för Android för den som vill hålla sig till JavaScript.

Nu är JavaScript också stort på serversidan. Mozilla Rhino är en JavaScript implementation i Java som gör det lätt att köra JavaScript på servrar. Rhino kan t.om. kompilera JavaScript till Java för snabbare exekvering.

En annan JavaScript-version är Ryan Dahls Node.js, Node.js, JavaScript avsett att kunna köras bl.a. på Webbervrar och använder händelsestyrd, asynkron I/O för att minimera overhead och maximera skalbarhet.

Node.js innehåller också en inbyggd HTTP-server bibliotek, vilket gör det möjligt att köra en webbserver utan användning av extern programvara, till exempel Apache eller Lighttpd. Node.js gör det enkelt för webbutvecklare att skapa en hel webbapplikation i JavaScript, både på server- och klientsidan.

En annan viktig gren av JavaScript-språket är CoffeeScript, ett programmeringsspråk som förenklar den ofta komplicerade och otydliga JavaScript-syntaxen och gör den mer läsbar, s.k. syntaktiskt socker, men som sen korskompileras till traditionellt JavaScript.

CoffeScript är inspirerat av datorspråken Ruby, Python och Haskell JavaScript och gör det möjligt att skriva JavaScript med med mindre kod, vanligtvis 1/3 färre kodlinjer, utan att för den skull påverka JavaScripts prestanda.

Orsaken till JavaScripts enorma popularitet är enkelt, det är det enda datorspråket som de mest populära webbläsarna alla stöder.

Så hur är det med JavaScript och Java, vilket av de två språken är snabbast? Eftersom Java kompileras till s.k. bytecode som sen kan optimeras med en s.k. JIT-kompilator så skulle man tro att Java alltid vinner. Men så enkelt är det inte. Det är en mycket komplicerad fråga som jag får återkomma till vid ett senare tillfälle.

JavaScript har blivit en tummelplats för alla programmeringsintresserad innovative programmerare som gärna skapar sina egna språk, ramverk, system och versioner.

Ett mycket spännande, dynamiskt och idag alltmer svåröverskådligt område.

Pressklipp:
Framtidens mobiler ändrar form,Microsoft laddar för ny generation surfplattor,Ingen fara med mobil anser forskargrupp,Nu funkar SVT Play på Windows Phone

[tags]Javascript, CoffeScript, JavaScript i mobilen, Dialekter av JavaScript. Dalvik JVM, Mobiler och JavaScript[/tags]

One thought on “Vad kan du om HTML5, Apache Cordova och JavaScript, världens populäraste datorspråk?

  1. Bosse

    Ja JavaScript är riktigt användbart till diverse applikationer i webbläsaren och det går att göra mycket, både nyttigt och kul, med JavaScript. Men när det gäller kraftfullhet kan det aldrig tävla med ett “riktigt” kompilerbart programspråk. Ett exempel, jag testade för jämförelsens skull att konstruera en primtalsgenerator (där man skriver in ett starttal och ett stopptal och programmet ska räkna ut alla primtal däremellan) både en mha JavaScript och en motsvarande i C++. JavaScript-programmet korkade snart när talen började bli för stora medan C++-programmet bara körde vidare utan problem. Så visst är det skillnad när beräkningarna per sekund blir riktigt många, då håller inte JavaScript måttet.

Comments are closed.