Node.js - Det samlede server-side web-udviklingsforløb (inkl. Raspberry Pi)

Formål

At give deltagere viden og færdigheder til at kunne forstå og bruge Node.js -- et højperformance server-framework, som gør at al server-side webudvikling foregår med JavaScript.

Beskrivelse

Node.js er en softwareplatform, som bruges til at bygge skalérbare server-side applikationer. Node.js bruger JavaScript, er open source, har høj performance via non-blocking I/O og kan bruges sammen med fx Microsofts IIS og Mac. 

Node.js sætter webudviklere i stand til at udføre hele webapplikationen i JavaScript.

Vi starter med en kort introduktion til non-blocking I/O i Node.js, som er en stor del af hemmeligheden bag Node.js.

Vi ser på, hvorfor dette passer så godt til programmeringssproget JavaScript. Udvikling med node.js er 100% server-side JavaScript inkl. adgang til filsystemet på serveren, adgang til NoSQL-Databaser. 

Du lærer at programmere din egen HTTP Web Server og REST Data Service, så du i fremtiden af din Webkarriere kun behøver at bruge JavaScript til klient- og server-programmering. 

Vi arbejder med både Windows IIS8 og MAC på kurset. Du lærer at 'hoste' din egen WebServer på dit eget domæne og 'hoste' dine mobile Web Apps på Microsoft public cloud Windows Azure for node.js.

Som en del af kursusmaterialet udleveres en Raspberry Pi-computer. Denne er node.js (JavaScript-baseret). På kurset bruges Raspberry Pi til at etablere og 'hoste' din egen web-server, som du efterfølgende selv har rådighed over.

Dette kursus udgør sammen med det efterfølgende ”SU-093 jQuery - Det samlede client-side web-udviklingsforløb” et virkelig godt forløb for webudviklere.

Forudsætninger

  • SU-093 - jQuery – Det samlede client web-udviklingsforløb  

Hardware

  • Raspberry Pi

Materialer

  • Kursusmateriale på dansk

Tilhørende certificering

  • PS0910 - SCDP - Web Frameworks Certified Developer Professional 

Tilhørende test

  • TSU-095 - Node.js - Det samlede server-side web-udviklingsforløb 

Indhold

  • Server-side Node.js
    • Why big business social-sites like Facebook, Twitter, LinkedIn and others use Node.js?
    • Why is JavaScript the only Non-blocking programming language for the web? 
    • Installing Node.js on windows Internet Information Server & MAC.
    • Event-driven and non-blocking execution environment. 
    • Understanding and using asynchronous control flows. 
    • Importing and exporting Modules.
    • Learn how to think in Modules.
    • Installing external modules with the Node Package Manager. 
    • Creating & hosting your own HTTP Server.
  • Creating web applications in node.js using Express Module
    • Creating and using middleware components. 
    • Using the Connect module. 
    • Setting up a project with Express.
    • Hosting & Configuration Web Server for security and Cross-Origin Resource Sharing
  • Creating DataServices with Node.js
    • REST DataServices. 
    • Building a JSON WebService with Express. 
    • Consuming the Rest Service with jQuery.ajax
  • Buidling Real-Time Web Applications using WebSocket
    • The need for real-time web applications. 
    • HTML5 Websockets. 
    • Using the Open source Microsoft SignalR & socket.io 
    • Using WebSocket to build Real-Time Chat
  • Using NoSQL Database with Node.js
    • Why NoSQL Database? 
    • What is wrong with SQL for WebApps? 
    • Using Redis.io (key-value Storage) to build REST DataService
    • Using MongoDB (Document-oriented Storage) 
  • Hosting WebApps to Cloud with node
    • Self-hosting vs. Cloud-hosting 
    • Self-Hosting your Node WebApps on IIS8 or Apache-server
    • Cloud-Hosting your Node WebApps on Windows Azure