Real-Time Web Applications with Node.js & Express.js

Lightweight, scalable web applications, optimized JavaScript on the server.
Description:

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
יניק גלעדיריב גלעד, המייסד של חברת CasaVersa, פלטפורמת חילופי הבתים. זוהי לא הפעם הראשונה שיריב מעורב בחברת סטארטאפ – הוא היה אחראי לאחת מהגירסאות הראשונות של הסטארטאפ הישראלי Wibbitz, העומדת מאחורי פלטפורמה ליצירת סרטוני וידאו אוטומטיים. למעלה מ-10 שנים יריב מעביר קורסים מקצועיים בתחום פיתוח WEB, משמש כמרצה מוביל במסגרות שונות, משתתף בכנסים מקצועיים ובונה הכשרות מקצועיות.
  • על פי דרישה מועד פתיחה
  • 9:00-16:30daysימים ושעות
  • 40academic hours שעות אקדמיות
  • מתקדםcourse levelרמת הקורס
  • עברית/Englishlanguageשפת הדרכה
  • לבדיקת התאמה לקורס
  • [current_url]

    השאירו פרטים ונחזור אליכם בהקדם!