Real-Time Web Applications with Node.js & Express.js
Node.js is a software system designed for writing highly scalable Internet applications, notably web servers. Programs are written in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability. Unlike most JavaScript programs, it is not executed in a web browser, but is instead a server-side JavaScript application. Node.js consists of Google’s V8 JavaScript engine plus several built-in libraries.
In this course you’ll learn the fundamentals of Node.js and how to use Node.js to build lightweight, real-time full stack web-applications with Node and the Express framework. Participants will also learn how to interface Node.js with back-end databases and discover how to use several of the leading external modules for Node.js.
לחצו כאן React המהווה דרישת קדם לקורס Javascript לקורס
Course Objectives:
- Create high performance scalable user facing Node.js servers
- Create API endpoints
- Learn to connect to databases and render view templates
- Authenticate users
- Build real-time services
Why should you learn Node.js:
- js is fast & scalable
- js adoption by the world web development community is exponential and extended with over 260,000 code libraries to get any job done
- js is used in production by leading brands: PayPal, Linkedin, Apple, ebay, Amazon, Sony, Yahoo, Yammer, intel, salesforce, IBM, Siemens, General Motors, Walmart, Goldman Sachs, Citigroup, B.M.W, The New York Times, Geeklist, Ghost, GoDaddy, Trello, Uber, Modulus, Zendesk, HBO, redhat, AirBnb, Netflix, Oracle, Mastercard and many many more…
- Ideal for creating api’s on the fly, rapid web application development with many available front-end frameworks
- IoT – Node.js plays well with the internet of things – increasing exponentially the number of connected devices like health monitors, sensors, tags, bots, thermostats, cars and all variety of “smart” devices that need to talk to disparate data and services both in real-time and offline.
This course is a good fit for both junior web developers as well as experienced developers from other development environments, wanting to leverage JavaScript on the server to create scalable user facing api’s and real-time applications.
This course is for web developers with knowledge of JavaScript, who wish to develop cross-platform JavaScript applications.
Introduction to Node.js
- What is Node and what it is not
- js Features and internals
- Project setup: Hello World
- Blocking vs. non-blocking I/O
- Spawning a web server in 5 lines of code
- Debugging node applications
Modular JavaScript with Node.js
- js Core Modules
- Installing external code libraries
- npm popular packages
- Writing Modular JavaScript with Node.js
- Publishing packages
Writing Async code with Promises
- Asynchronicity and callbacks
- Introducing the Async problem (callback hell)
- Promises to the rescue
- Collections & Flow Controllers
- Promises libraries
Working with the file system
- Files & folders manipulations
- fs-extra package
- Working with streams
- Challenge project- file-system & Promises summery
Data Access 01 – Relational Databases with mySql
- mySql npm package
- Hello DB – Simple DB connection
- CRUD examples
- Sequelize ORM
Command-line interfaces
- The built-in REPL
- Custom REPL
- Build command-line tools
Unit-Testing Node Applications
- Overview
- Mocha test runner
- Assertion libraries
- Mocking libraries
- Modular tests
- Testing Synchronous & Asynchronous code
The Express Web Framework
- Overview
- Express project setup
- Application configuration
- Routing
- Views and Templating
- Persistence with Cookies, In-Memory Sessions and session-stores.
- Authentication with Passport.js
- Central Exception handling
- Reviewing other Node.js based frameworks overview like Sails.js, Koa & Meteor
Data Access 02 – NoSQL databases with MongoDB
- Overview
- Tooling up – installing mongo, clients and drivers.
- MongoDB driver vs Mongoose ODM
- DB Connection
- Schemas & Models
- Data types
- CRUD operations
- Single Page Applications review
Real-time communication
- Introduction to real-time communication
- Web Sockets & sockets libraries
- Streams – streaming chunked data
- Build a live chat application
- Redis overview
Real-world scenarios
- Hosting node.js applications
- Deployment & monitoring Node based applications
- Scaling Node.js
- Email services and considerations
- Scheduled tasks

- על פי דרישה מועד פתיחה
- 9:00-16:30
ימים ושעות
- 40
שעות אקדמיות
- מתקדם
רמת הקורס
- עברית/English
שפת הדרכה
לבדיקת התאמה לקורס
ממליצים
לפתיחה והורדת סילבוס