+ MENY

Node.js – Javascript på servern

2012 Nov 12
3

Den senaste tiden har jag läst allt mer om node.js när jag har surfat runt på diverse olika sajter skrivna av utvecklare. Till slut blev nyfikenheten för stor och jag bestämde mig för att testa på detta själv.

Jag har ju tidigare utvecklat en del i javascript och framförallt jQuery och känner mig relativt van med koden kring detta så det var nog också en anledningen till att jag ville veta mer.

Kortfattat – Vad är egentligen node.js?

Att ge sig på en kortfattad förklaring om node.js kanske jag som nybörjare (vilket jag är på detta område) egentligen borde undvika. Men jag försöker ändå. Här handlar det om att skaparen till Ryan Dahl har haft ett önskemål om att bygga en server som på bästa sätt är anpassad till realtids applikationer (tänk chat, google docs, rita tillsammans, onlinespel).

Det här görs framförallt genom att hela tiden skriva asynkron kod och framförallt asynkrona funktioner. För dig som tycker att detta låter som mumbojumbo så handlar det hela tiden om att när du gör en aktivitet i ditt ”program” så låser du inte upp programmet utan tillåter att andra aktiveteter sker samtidigt. Perfekt för realtidsapplikationer helt enkelt.

Node.js är i alla fall en server som är byggd ovanpå ett block med C och googles javascript tolkare som heter V8 (är open source). Så det är helt enkelt javascript på servern med viss modifikation. När man själv gör appar med node.js så är det i stort sett bara javascript som kodas (förutom html/css).

Vad kan du göra i Node.js

Node har funnits ett tag nu och det har hunnit byggas en hel del i detta. Bland det mest kända är att det är en del av Linkedins senaste app där node sköter mycket av kommunikationen. Med tiden har det också utvecklats en hel del så kallade moduler som är mycket användbara. Med en modul i node menas att du kan ladda ner ett färdigt bibliotek som förenklar och effektiviserar vissa saker som annars tar lång tid att koda själv. Det här gör att du snabbare och enklare kan gå från idé till färdig applikation. Några sådan moduler som jag själv har använt och tycker är rätt fantastiska är:

  • Mongoose – Fungerar som ett lager mellan databasen mongodb (dokumentbaserad/nosql) och din server.
  • Socket.io – Helt fantistisk modul för att hantera websockets. Dvs kommunikation mellan klient (t.ex webbläsaren) – servern- annan klient.
  • async – Det är lätt att bli aningen förvirrad bland asynkrona funktioner när man själv inte är van vid detta. Async har hjälpt mig att hålla koll på saker och ting.
  • Express.js – Här är vi så nära ett ramverk man kan komma för tillfället för att skapa hela webbplatser. Innehåller det mesta för att helt enkelt bygga en hel hemsida ovanpå node.js.
Alla dessa bibliotek laddar du ner och installerar genom det utmärkta verktyget npm (node packet manager) som ingår i installationsfilen för node.

En liten utvärdering från mig

Nu har jag inte kommit så långt att jag lagt upp någon nodejs app live ännu men jag har lokalt lyckats få till ett antal olika applikationer varav de klassiska som hello world server, chatserver, ngn google docs liknande applikation och lite annat. Hittills så tycker jag själv att de två största utmaningarna har varit att dels förstå hur man överhuvudtaget skall komma igång samt att komma över den asynkrona kullen. Nu skall jag även försöka att få till en komplett medlemsbaserat ramverk som kan användas till framtida utveckling.

Hittills har jag tyckt att det, förutom ovan nämnda saker, har varit väldigt kul, inspirerande och användbart att dyka ner i node.js.

Har du själv gjort något i detta?

Om Simon Rybrand
Jag som driver den här bloggen heter Simon Rybrand. Här skriver jag om entreprenörskap, internetmarknadsföring och webbdesign.Jag driver framförallt sajten MatematikVideo.se där målet är att hjälpa så många som möjligt att lyckas med sina kurser i matematik.

Fokus fokus fokus

2012 Sep 17
4

För tillfället har jag liten eller inget tid till att bolla med flera projekt på en gång. Höstterminen har verkligen dragit igång och jag har fullt upp med att hålla ordning på alla processer på MatematikVideo där vi bland annat har släppt en ny kurs till Matte 3 och jobbar […]

Några saker som jag jobbar med

2012 Aug 13
0

Just nu sitter jag och försöker få igång livsenergin igen sedan en rätt kul helg som jag spenderat på Way Out West festivalen här i Göteborg. Det är lite svårt att komma igång igen efter en kul helg. Tänkte därför mjukstarta lite med ett blogginlägg om några saker som jag […]

Att strukturera ensamarbete mer effektivt

2012 Aug 1
5

Alla som jobbar framför datorn, har eget företag, och satsar på utveckling vill väl vara så effektiva som möjligt. Men det är förstås inte helt lätt alla gånger att i racerfart producera allt det där som du säkerligen skulle önska att du kan producera. Här vill jag dela med mig […]

Responsiv webbdesign

2012 Jun 30
0

Jag håller på att bygga om den här bloggen så att den får sig ett eget wordpress tema. Målet med det här temat är att det skall stödja så kallad responsiv webbdesign där de olika elementen på hemsidan och deras storlek och positionering anpassar sig efter om det är en […]

Ursäkta röran, bygger om

2012 Jun 20
0

Håller just nu på att bygga om min blogg och byter för tillfället tema från Thesis som jag kört på ganska länge till ett egenutvecklat tema. Så det är lite rörigt för tillfället här på bloggen mycket beroende på att Thesis innehåller väldigt mycket temaspecifika egenskaper, något som kanske egentligen […]

Internet, entreprenörskap, diversifiering och att göra meningsfulla sajter

2012 Apr 28
3

Att Google har gjort en uppdatering som berört många sajtägare den senaste veckan har nog inte undgått många i seo världen. Själv har jag inte hunnit att skapa en bild över hela skeendet ännu men liksom många andra affiliates/seoare blivit berörd av det hela. I mitt eget fall är det […]

The latest update of websimon tables

2012 Apr 12
42

In the past few weeks I´ve received 3 – 5 mails per day with questions about my plugin websimon tables mostly about when/if updates of the plugin will be done. Yesterday I made the biggest update so far with lots of new features and some small bugfixes and I felt […]

Uppdatering kring affiliateprojektet

2012 Mar 4
6

Jag påbörjade i höstas en bloggserie om uppbyggnaden av ett affiliateprojekt inom klädnischen. Jag kände att jag ville skriva om hur jag tänker och bygger upp mina projekt över en längre tidsperiod från de allra första stegen till förhoppningsvis en lönsam sajt. Nu tänkte jag att det är dags att […]