Node.js là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng kỹ thuật điều khiển theo sự kiện, nhập/xuất không đồng bộ để tối thiểu tổng chi phí và tối đa khả năng mở rộng. Node.js bao gồm có V8 JavaScript engine của Google, [http://github.com/joyent/libuv libUV], và vài thư viện khác.
Node.js được tạo bởi Ryan Dahl từ năm 2009, và phát triển dưới sự bảo trợ của Joyent.
Mục tiêu ban đầu của Dahl là làm cho trang web có khả năng push như trong một số ứng dụng web như Gmail. Sau khi thử với vài ngôn ngữ Dahl chọn Javascript vì một API Nhập/Xuất không đầy đủ. Điều này cho phép anh có thể định nghĩa một quy ước Nhập/Xuất điểu khiển theo sự kiện, non-blocking.
Vài môi trường tương tự được viết trong các ngôn ngữ khác bao gồm Twisted cho Python, Perl Object Environment cho Perl, libevent cho C và EventMachine cho Ruby. Khác với hầu hết các chương trình Javascript, Nodejs không chạy trên một trình duyệt mà chạy trên Server. Node.js sử dụng nhiều chi tiết kỹ thuật của CommonJS. Nó cung cấp một môi trường REPL cho kiểm thử tương tác.
Node.js được InfoWorld bình chọn là "Công nghệ của năm" vào năm 2012.
Ví dụ
Đây là phiên bản hello world HTTP Server trên Node.js:
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(80);
console.log('Server running at http://localhost:80/');
Đoạn mã sau là một máy chủ TCP hoạt động trên cổng 7000 và in ra chuỗi 'hello' trên mỗi kết nối:
var net = require('net');
net.createServer(function (stream) {
stream.write('hello\r\n');
stream.on('end', function () {
stream.end('goodbye\r\n');
});
stream.pipe(stream);
}).listen(7000);
Cộng đồng
Cộng đồng phát triển Node.js chủ yếu tập trung ở hai nhóm google: [http://groups.google.com/group/nodejs nodejs] và [http://groups.google.com/group/nodejs-dev nodejs-dev], một kênh IRC là #node.js trên mạng freenode. Có một hội thảo về Node.js là [http://www.nodeconf.com/ NodeConf] được tổ chức thường niên.
Hiện nay Node.js được sử dụng bởi nhiều công ty trong đó có Linkedin, Microsoft, Yahoo! và Walmart.
Các Framework nổi tiếng
- Express.js được sử dụng phổ biến để phát triển ứng dụng trên nền Nodejs.
- Electron.js được sử dụng để phát triển ứng dụng được sử dụng trên môi trường desktop.
👁️
1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Node.js** là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng
**gulp** là bộ công cụ JavaScript mã nguồn mở của Fractal Innovations và cộng đồng nguồn mở tại GitHub, được sử dụng làm hệ thống xây dựng phát trực tuyến trong phát triển web front-end.
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
**TypeScript** là một ngôn ngữ lập trình được phát triển và duy trì bởi Microsoft. Nó là một siêu tập hợp cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn
**Heroku** là một nền tảng đám mây như một dịch vụ (PaaS) hỗ trợ một vài ngôn ngữ lập trình. Là một trong những nền tảng đám mây đầu tiên, Heroku đã được phát triển
**npm (viết tắt của Node Package Manager / nodepm (pkgmakeinst))** là chương trình quản lý thư viện (package manager) ngầm định trong môi trường Node.js. Nó bao gồm một trình gọi dòng lệnh (CLI) từ
**Chrome V8**, hay đơn giản là **V8**, là một JavaScript engine mã nguồn mở phát triển bởi The Chromium Project cho trình duyệt web Google Chrome và Chromium. Người sáng lập dự án là Lars
**Giấy phép MIT** là một loại giấy phép sử dụng cho các phần mềm mã nguồn mở được phát triển dựa trên một loại giấy phép có nguồn gốc tại Viện Công nghệ Massachusetts (MIT).
**Google Cloud Platform** (**GCP**), được cung cấp bởi Google, là một bộ dịch vụ điện toán đám mây chạy trên cùng một cơ sở hạ tầng mà Google sử dụng nội bộ cho các sản
nhỏ|SpiderMonkey logo **Engine JavaScript** là một thành phần phần mềm thực thi mã JavaScript. Các JavaScript engine đầu tiên chỉ là trình thông dịch, nhưng tất cả các engine hiện đại đều sử dụng biên
Trong kỹ thuật phần mềm, các thuật ngữ **front-end** (đầu trước) và **back-end** (đầu sau) đề cập đến sự tách biệt các mối quan tâm giữa tầng trình diễn (giao diện người dùng) và tầng
**Luồng nút** (_node stream_) là phương pháp chuyển một lượng lớn dữ liệu trên thiết bị di động hoặc trang web (chẳng hạn như tải lên hình ảnh chi tiết) bằng cách chia nhỏ tệp
**AngularJS** (còn được gọi là **Angular 1**) là một framework web miễn phí và mã nguồn mở dựa trên JavaScript, được sử dụng để phát triển các ứng dụng đơn trang (SPA). Framework này đã
**ESP8266**, hay gọi đầy đủ là **ESP8266EX** là một vi mạch Wi-Fi giá rẻ, có hỗ trợ bộ giao thức TCP/IP và có thể tích hợp vào thành phần của vi điều khiển, được sản
**ESP32** là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
**MySQL** là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
**OpenShift** là một dịch vụ nền tảng điện toán đám mây của hãng Red Hat. Phần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên "OpenShift Origin". Người phát
**Red Hat, Inc.** () là một công ty phần mềm Mỹ cung cấp sản phẩm phần mềm mã nguồn mở cho cộng đồng doanh nghiệp. Thành lập năm 1993, Red Hat có trụ sở tại
**Object Pascal** chỉ đến một nhánh của phát sinh hướng đối tượng của Pascal, được biết đến chủ yếu với vai trò ngôn ngữ lập trình chính của Delphi. ## Lịch sử ban đầu tại
**MDN Web Docs**, trước đây là **Mozilla Developer Network** và trước đó nữa là **Mozilla Developer Center**, là trang web chính thức của Mozilla về tài liệu phát triển của các tiêu chuẩn web và
**Visual Studio Code** là một trình soạn thảo mã nguồn được phát triển bởi Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng debug, đi kèm với Git, có chức năng nổi
nhỏ|Jim Zemlin tại lễ khai mạc LinuxCon Europe 2014 nhỏ|Linus Torvalds tại LinuxCon North America 2016 **Linux Foundation** (**LF**) là một hiệp hội thương mại công nghệ phi lợi nhuận được thành lập để thúc
**W3Schools** là một website giáo dục freemium cho việc học lập trình và các công nghệ web trực tuyến. W3Schools có chứa các nội dung gồm hướng dẫn và tài liệu tham khảo liên quan
**ECMAScript** (hay **ES**) là một thương hiệu đặc tả ngôn ngữ kịch bản được tiêu chuẩn hóa bởi Ecma International thông qua **ECMA-262** và ISO/IEC 16262. Nó được tạo ra để tiêu chuẩn hóa JavaScript,
**Apache Kafka** là một nền tảng theo kiến trúc phân tán cho phép lưu trữ sự kiện và xử lý dữ liệu luồng (streaming) mã nguồn mở được phát triển bởi Apache Software Foundation được
**Redis** (/ˈrɛdɪs/; từ viết tắt của **Remote Dictionary Server**) là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu dữ liệu dạng cặp
**Ghost** là một nền tảng blog tự do mã nguồn mở được viết bằng JavaScript và phân phối dưới Giấy phép MIT, được thiết kế để đơn giản hóa quy trình xuất bản trực tuyến
Để xây dựng được một website hoàn chỉnh, chúng ta cần hiểu rõ các thành phần chính cấu tạo nên nó. Hãy cùng điểm qua từng phần một cách đơn giản và dễ hiểu nhất.Tên