Perinteistä Windows desktop-koodia viime aikoina vääntäneenä olen käyttänyt tekniikoita kuten C#, .NET, Windows Communication Foundation ja Windows Presentation Foundation. Toisella silmällä olen tietysti seurannut mainstream webbi-tekniikoita kuten HTML5 + Javascript. Microsoft yrittää Azuren avulla siirtyä Windows-maailmasta Cloud-maailmaan. Pilvi-koodia kirjoitetaan tosin sielläkin usein C#:lla yms. Windows-tekniikoilla.
Törmäsin nyt työssä päinvastaiseen ideaan eli siihen että desktop-sovellus tehtäisiin webbitekniikoilla. Eikä siis pelkästään thin clientia vaan ihan koko sovellus. Jopa sulautettuja järjestelmiä toteutetaan webbi-tekniikoilla.
Tekniikka on nimeltään Node.js. Ideana on, että webbiserveri (Node.js serveri) on tehty tavalla, joka mahdollistaa nopeat vasteajat. Sekä client että server-pään koodi toteutetaan Javascriptillä. Server-pään koodin tekoa tukee laaja Node.js kirjasto.
Tekniikka on nimeltään Node.js. Ideana on, että webbiserveri (Node.js serveri) on tehty tavalla, joka mahdollistaa nopeat vasteajat. Sekä client että server-pään koodi toteutetaan Javascriptillä. Server-pään koodin tekoa tukee laaja Node.js kirjasto.
Mm. kotimainen Reaktor Innovations suosittelee tätä tekniikkaa sulautettujen järjestelmien tekoon. Eli tietokoneen sisälläkin desktop-sovellus voidaan jakaa browser-pohjaiseen clientiin ja http serveriin ja kommunikointi tukeutuu siis koneen sisällä tcp/ip:llä.
Tässä mainio tutoriaali aiheesta http://www.nodebeginner.org/.
Niin ja miksi haluan käyttää Node.js:ää. Juttu lähti siitä, että haluttiin tehdä käyttöliittymä- ja I/O-intensiivinen pikkusovellus Embedded Linuxilla, koska Windows tuntui liian raskaalta ko. käyttöön. Heräsi kysymys miten Linux-puolelle tehdään käyttöliittymiä. Moni suositteli meille QT:tä mutta hylkäsimme sen, koska ajattelimme että se on ehkä hiukan vanhaa maailmaa.
Jäljelle jäi HTML5 ja sitten aloimme ihmetelle, miten I/O ja muu tehdään HTML5-maailmassa. Päädyimme Node.js:ään.
Ei kommentteja:
Lähetä kommentti