tiistai 13. toukokuuta 2014

Cloud9 IDE - Your Code Anywhere, Anytime

Piti alkaa tehdä Node.js koodia ja törmäsin tähän pilvipohjaiseen IDE:een mitä ilmeisesti Node.js- yhteisössä käytetään aika paljon, vaikka tämä ei ole mitenkään Node.js:ään rajoittunut.

Node.js-koodia voi tehdä mm. Microsoftin Visual Studiolla, missä teen varmaan sitten varsinaisen tuotantoversion koodista. Mutta alkuunpääsemisessä Cloud9 on verraton - voin Chromebookillani koodata kotona samaa koodia kuin töissä käyttämässäni Windows PC:ssä.

Esimerkiksi koodasin aamukahvilla kotona samalla kun luin Node.js kirjaa.

lauantai 3. toukokuuta 2014

Kysymyksestä "Windows-maailma vai Cloud-maailma?" ideaan tehdä sulautettua koodia HTML5:lla ja Javascriptillä

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.

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.