Node.js
| Tác giả gốc | Ryan Dahl |
|---|---|
| Nhà phát triển | Node.js Developers |
| Phiên bản ổn định | Node.js 24 LTS Node.js 25 (Hiện tại) |
| Kho mã nguồn | |
| Viết bằng | C++, JavaScript |
| Hệ điều hành | z/OS, Linux, macOS, Microsoft Windows, SmartOS, FreeBSD, OpenBSD, IBM AIX[1] |
| Thể loại | Runtime environment |
| Giấy phép | MIT License |
| Website | nodejs |
Node.js là môi trường khởi chạy (runtime) JavaScript đa nền tảng, mã nguồn mở chạy trên Windows, Linux, macOS. Node.js chạy trên nhân V8 JavaScript của Google, và thực thi mã JavaScript bên ngoài trình duyệt. Theo Stack Overflow Developer Survey, Node.js là một trong những công nghệ web phổ biến nhất.[2]
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.[3][4]
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.[5]
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.[6] 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.[7]
Ví dụ
[sửa | sửa mã nguồn]Đâ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
[sửa | sửa mã nguồn]Cộng đồng phát triển Node.js chủ yếu tập trung ở hai nhóm google: nodejs và 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à NodeConf được tổ chức thường niên.[8]
Hiện nay Node.js được sử dụng bởi nhiều công ty trong đó có Linkedin,[9][10] Microsoft,[11] Yahoo![12] và Walmart.[13]
Các Framework nổi tiếng
[sửa | sửa mã nguồn]- 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.
Xem thêm
[sửa | sửa mã nguồn]- NPM - bộ quản lý đóng gói nổi bật của Node.js. Từ phiên bản Node.js 0.6.3, npm được cài tự động với Node.js.
- YARN - Bộ quản lý đóng gói mã nguồn mở với hiệu năng cao.
- JSAN, viết tắt của JavaScript Archive Network - một bộ quản lý gói khác ít dùng hơn.
- Opa, một hướng tiếp cận khác cho lập trình ứng dụng web, có nhiều đặc trưng của Node.js
Tham khảo
[sửa | sửa mã nguồn]- ^ "nodejs/node". GitHub. ngày 13 tháng 4 năm 2022.
- ^ "Stack Overflow Developer Survey 2025". Stack Overflow (bằng tiếng Anh). Truy cập ngày 10 tháng 10 năm 2025.
- ^ Why Everyone Is Talking About Node, By Jolie O'Dell, ngày 10 tháng 3 năm 2011, Mashable
- ^ Alex Handy (ngày 24 tháng 6 năm 2011). "Node.js pushes JavaScript to the server-side". SDTimes. Truy cập ngày 4 tháng 9 năm 2011.
- ^ Hughes-Croucher, Tom; Wilson, Mike (2012). Up and Running with Node.js. Up and Running (ấn bản thứ 1). Sebastopol: O'Reilly. tr. vii. ISBN 978-1-4493-9858-3.
I was concerned about the ability to program advanced push features into the website like I had seen in Gmail
See the book's Foreword at OReilly.com - ^ Implementations/node.js - CommonJS Spec Wiki
- ^ "Node.js Selected by InfoWorld for 2012 Technology of the Year Award". MarketWatch. ngày 11 tháng 1 năm 2012. Bản gốc lưu trữ ngày 2 tháng 2 năm 2012. Truy cập ngày 26 tháng 1 năm 2012.
- ^ NodeConf Schedule Announced Lưu trữ ngày 17 tháng 9 năm 2012 tại Wayback Machine, By Klint Finley, ngày 7 tháng 4 năm 2011, ReadWriteHack
- ^ "You'll never believe how LinkedIn built its new iPad app". VentureBeat. ngày 2 tháng 5 năm 2012. Bản gốc lưu trữ ngày 12 tháng 8 năm 2015. Truy cập ngày 10 tháng 5 năm 2012.
- ^ [1], LinkedIn's developer blog discusses their Node.js stack optimizations
- ^ "Here's why you should be happy that Microsoft is embracing Node.js". The Guardian. ngày 9 tháng 11 năm 2011. Truy cập ngày 10 tháng 5 năm 2012.
- ^ [2] Lưu trữ ngày 6 tháng 8 năm 2012 tại Wayback Machine, Yahoo! Developer Network announces Cocktails project using Node.js
- ^ "Why Walmart is using Node.js". VentureBeat. ngày 24 tháng 1 năm 2012. Bản gốc lưu trữ ngày 29 tháng 8 năm 2015. Truy cập ngày 10 tháng 5 năm 2012.
Đọc thêm
[sửa | sửa mã nguồn]- Hughes-Croucher, Tom; Wilson, Mike (tháng 4 năm 2012), Up and Running with Node.js , O'Reilly Media, tr. 204, ISBN 978-1-4493-9858-3
Liên kết ngoài
[sửa | sửa mã nguồn]- Website chính thức
- npm Lưu trữ ngày 14 tháng 10 năm 2013 tại Wayback Machine
- Ryan Dahl: Node.js | JSConf.eu on Blip Lưu trữ ngày 22 tháng 6 năm 2012 tại Wayback Machine
- How to install NodeJS Lưu trữ ngày 7 tháng 8 năm 2012 tại Wayback Machine