Node.js là gì? Tổng quan về Node.js

Trong bài viết trước Cisnet.edu.vn đã giới thiệu cho bạn các thông tin cơ bản về Node.js. Để tìm hiểu rõ hơn, sâu hơn về Node.js, bạn đọc cùng tham khảo tiếp bài viết Node.js là gì? Tổng quan về Node.js dưới đây của Cisnet.edu.vn.

Như Cisnet.edu.vn đã đề cập trong bài viết trước, Node.js được viết dựa trên ngôn ngữ JavaScript và chạy trên nhiều nền tảng khác nhau bao gồm Windows, Linux, Unix, Mac OS X, … . Cùng tham khảo tiếp bài viết dưới đây của Cisnet.edu.vn để tìm hiểu rõ hơn Node.js là gì? Tổng quan về Node.js.

node js la gi tong quan ve node js node js la gi tong quan ve node js

Khái niệm Node.js là gì?

Node.js là gì? Tổng quan về Node.js

Node.js là gì?

Node.js là nền tảng Server Side được phát triển dựa trên Javascript Engine (V8 Engin) được tích hợp trên Google Chrome, và được phát triển bởi Ryan Dahl vào năm 2009, phiên bản mới nhất là v0.10.36.

Trong tài liệu chính thức, Node.js được định nghĩa như sau:

“Node.js là nền tảng được phát triển dựa trên Javascript runtime trên Chrome để xây dựng các ứng dụng mạng nhanh hơn và quy mô lớn hơn. Node.js sử dụng mô hình non-blocking I/O để tạo các ứng dụng nhẹ và hiệu quả cho các ứng dụng dữ liệu thời gian thực chạy trên các thiết bị phân tán”.

Node.js là môi trường runtime mã nguồn mở, đa nền tảng, được sử đụng để phát triển các ứng dụng mạng và ứng dụng phía máy chủ. Các ứng dụng Node.js được viết bằng JavaScript, và có thể chạy trong runtime Node.js trên các nền tảng OS X, Windows và Linux.

Ngoài ra Node.js cũng cung cấp thư viện bao gồm nhiều module JavaScript giúp đơn giản hóa việc phát triển các ứng dụng web bằng cách sử dụng Node.js với các phần mở rộng.

Node.js = Môi trường Runtime + Thư viện JavaScript

Đặc điểm của Node.js

Dưới đây là một số đặc điểm quan trọng giúp Node.js trở thành sự lựa chọn đầu tiên của các kiến trúc sư phần mềm:

Lập trình không đồng bộ và mô hình Event Driven: Tất cả API của thư viện Node.js không đồng bộ, tức là non-blocking. Về cơ bản, máy chủ dựa trên Node.js không phải chờ API trả về dữ liệu. Máy chủ chuyển sang API tiếp theo sau khi gọi và cơ chế thông báo sự kiện (Event) của Node.js giúp máy chủ nhận phản hồi từ cuộc gọi API trước đó.

– Cực nhanh: Được phát triển dựa trên Javascript Engine V8 Engin trên Chrome, thư viện Node.js thực thi mã cực nhanh.

– Xử lý các yêu cầu chỉ trong một Single Threaded: Node.js sử dụng mô hình Single Threaded trong vòng lặp sự kiện. Cơ chế sự kiện giúp máy chủ phản hồi non-blocking và mở rộng khả năng xử lý yêu cầu so với các máy chủ truyền thống tạo ra các chuỗi giới hạn để xử lý các yêu cầu. Node.js sử dụng chương trình single threaded, chương trình này có thể cung cấp dịch vụ cho nhiều yêu cầu hơn so với các máy chủ truyền thống như Apache HTTP Server.

– Không bộ đệm: Các ứng dụng Node.js không lưu trữ bộ nhớ bất kỳ dữ liệu nào. Các ứng dụng đơn giản này xuất dữ liệu theo khối.

– Giấy phép bản quyền: Node.js đươc phát hành theo giấy phép MIT.

Các ứng dụng nào sử dụng Node.js?

Danh sách trên Github Wiki liệt kê đầy đủ các dự án, ứng dụng và công ty đang sử dụng Node.js, bao gồm eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipin, Yahoo!, và Yammer.

Các thành phần của Node.js

Dưới đây là sơ đồ mô tả các thành phần quan trọng của Node.js mà Cisnet.edu.vn sẽ giới thiệu chi tiết hơn trong các bài viết tiếp theo.

node js la gi tong quan ve node js 1 node js la gi tong quan ve node js 1

Node.js được sử dụng trong các lĩnh vực nào?

Node.js được sử dụng trong các lĩnh vực công nghệ dưới đây:

– Các ứng dụng I/O ràng buộc.
– Ứng dụng streaming dữ liệu.
– Data Intensive Real-time Applications (DIRT).
– Các ứng dụng dựa trên API JSON.
– Ứng dụng Single Page.

Không nên sử dụng Node.js trong lĩnh vực nào?

Không nên sử dụng Node.js cho các ứng dụng chuyên sâu CPU.

Bài viết trên đây Cisnet.edu.vn vừa giới thiệu cho bạn về Node.js là gì? Tổng quan về Node.js. Trong bài viết tiếp theo Cisnet.edu.vn sẽ giới thiệu tiếp cho bạn về cách thiết lập môi trường Node.js như thế nào nhé. Ngoài ra bạn có thể tìm hiểu Python và JavaScript khác nhau như thế nào? để phân biệt cũng như lựa chọn cho mình một ngôn ngữ lập trình phù hợp, tốt nhất cho bản thân nhé.

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *