Today: Wednesday 23 June 2021 , 11:34 am


advertisment
search




Node.js

Последнее обновление 17 час , 24 минута 195 Взгляды

Advertisement
In this page talks about ( Node.js ) It was sent to us on 22/06/2021 and was presented on 22/06/2021 and the last update on this page on 22/06/2021

Твой комментарий


Введите код
 
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API, написанный на C++, подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel, low.js и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.

История

В 1996 году в компании Netscape были попытки создания серверного JavaScript (Server-side JavaScript — SSJS)Server-Side JavaScript — Archive of obsolete content MDNhttp://www.opennet.ru/docs/RUS/servguide14/contents.html Серверный JavaScript 1.4. Руководство по Использованию., однако технология не получила распространения.
thumbuprightРайан Дал, создатель Node.js
Node.js разработал Райан Даль в 2009 году после двух лет экспериментирования над созданием серверных веб-компонентов. В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия. Целью Node является предложить «простой способ построения масштабируемых сетевых серверов».
Разработка Node.js спонсируется компанией Joyent.
В декабре 2014 года был создан форк io.js.
В мае 2015 года было принято решение о слиянии io.js и Node.js и дальнейшем развитии под эгидой Node.js Foundation .
8 сентября 2015 года вышел Node.js v4.0.0 как результат слияния Node.js v0.12.7 и io.js v3.3.0 .
Важными событиями в развитии платформы стало появление Atomics и https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer SharedArrayBuffer в Node.js 9, а также https://nodejs.org/api/worker_threads.html worker_threads в Node.js 10.5 (и существенное развитие в Node.js 12) . Это позволило создавать многопоточные параллельные приложения, реализовывать примитивы параллельного программирования и работать с разделяемой памятью .

Примеры кода

Создание и запуск HTTP-сервера на Node.js, выдающего Hello, world!:
// Загружаем модуль http
const http = require('http');
// Создаем web-сервер с обработчиком запросов
const server = http.createServer((req, res) => {
console.log('Начало обработки запроса');
// Передаем код ответа и http-заголовки
res.writeHead(200, {
'Content-Type': 'text/plain; charset=UTF-8'
);
res.end('Hello, world!');
);
// Запускаем web-сервер
server.listen(3000, '127.0.0.1', () => {
console.log('Сервер запущен http://127.0.0.1:3000/');
);
Другой пример скрипта, создающего TCP-сервер, который прослушивает порт 8000 и выводит на экран всё, что вводит пользователь:
const net = require('net');
const server = net.createServer(stream => {
stream.setEncoding('utf8');
stream.write('hello\r\n');
stream.addListener('data', data => {
stream.write(data);
);
);
server.listen(8000, 'localhost');

Дополнительные пакеты сторонних разработчиков

В состав Node.js входит собственный установщик пакетов npm. Установка производится при помощи команды:
npm install
Все доступные для установки пакеты и их краткое описание:
npm search
Этой же командой можно производить выборочный поиск пакетов.

Фреймворки Node

  1. Socket.ioSocket.IO
  2. Express.jsExpress — Node.js web application framework
  3. Adonis.js
  4. Hapi.js
  5. Meteor.js
  6. Koa.js
  7. Sails.js
  8. LoopBack.js
  9. Nest.js
  10. Fastify

Стек MEAN, MERN, MEVN

Обычно при веб-разработке на всех уровнях стека используются разные языки программирования.
База данных MongoDB, фреймворки Express.js и AngularJS и технология Node.js вместе образуют стек
MEAN — мощную платформу, на всех уровнях которой применяется всего один язык: JavaScript. Стек
MEAN привлекателен для разработчиков и бизнеса благодаря простоте и экономичности, а конечные
пользователи любят MEAN-приложения за их скорость и отзывчивость. Аббревиатуры MERN и MEVN означают, что в качестве фронтенд-фреймворка используется не AngularJS, а React или VueJS соответственно.

Примечания


Литература


  • {{книга
  • автор = Итан Браун
    часть =
    заглавие = Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript
    оригинал = Web Development with Node and Express
    ссылка =
    издание =
    ответственный =
    место = Санкт-Петербург
    издательство = Питер
    год = 2017
    том =
    страницы =
    страниц = 336
    isbn = 978-1-491-94930-6


  • {{книга
  • автор = Холмс С.
    часть =
    заглавие = Стек MEAN. Mongo, Express, Angular, Node
    оригинал =
    издание =
    место =
    издательство = «Питер»
    год = 2017
    страницы = 496
    isbn = 978-5-496-02459-4
  • {{книга
  • автор = Пауэрс Ш.
    часть =
    заглавие = Изучаем Node. Переходим на сторону сервера
    оригинал =
    издание = 2-е изд.
    место =
    издательство = «Питер»
    год = 2017
    страницы = 304
    isbn = 978-5-496-02941-4
  • {{книга
  • автор = Янг А., Мек Б., Кантелон М.
    часть =
    заглавие = Node.js в действии
    оригинал =
    издание = 2-е изд.
    место =
    издательство = «Питер»
    год = 2018
    страницы = 432
    isbn = 978-5-496-03212-4

    Ссылки

    • Официальный веб-сайт
    • Репозиторий исходного кода
    • Курс лекций по Node.js в Киевском политехническом институте
    • Форум на Google groups
    • Скринкаст Node.JS от А до Я

    Категория:Каркасы веб-приложений на JavaScript
    Категория:Библиотеки JavaScript
    Категория:Свободное программное обеспечение, написанное на C++
     
    Комментарии

    Пока нет комментариев




    последний раз видели
    большинство посещений