Node.js - Giới thiệu
Node.js là gì?
Node.js là một nền tảng phía máy chủ được xây dựng trên Công cụ JavaScript của Google Chrome (V8 Engine). Node.js được phát triển bởi Ryan Dahl vào năm 2009 và phiên bản mới nhất của nó là v0.10.36. Định nghĩa của Node.js được cung cấp bởi tài liệu chính thức của nó như sau:
Node.js là một nền tảng được xây dựng dựa trên thời gian chạy JavaScript của Chrome để dễ dàng xây dựng các ứng dụng mạng nhanh và có thể mở rộng. Node.js sử dụng mô hình I / O hướng sự kiện, không chặn, giúp nó nhẹ và hiệu quả, hoàn hảo cho các ứng dụng thời gian thực sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán.
Node.js là một môi trường thời gian chạy đa nền tảng, mã nguồn mở để phát triển các ứng dụng mạng và phía máy chủ. Các ứng dụng Node.js được viết bằng JavaScript và có thể chạy trong thời gian chạy Node.js trên OS X, Microsoft Windows và Linux.
Node.js cũng cung cấp một thư viện phong phú gồm các mô-đun JavaScript khác nhau giúp đơn giản hóa việc phát triển các ứng dụng web sử dụng Node.js ở một mức độ lớn.
Node.js = Runtime Environment + JavaScript Library
Các tính năng của Node.js
Sau đây là một số tính năng quan trọng khiến Node.js trở thành lựa chọn hàng đầu của các kiến trúc sư phần mềm.
Asynchronous and Event Driven- Tất cả các API của thư viện Node.js là không đồng bộ, tức là không chặn. Về cơ bản, nó có nghĩa là một máy chủ dựa trên Node.js không bao giờ đợi một API trả về dữ liệu. Máy chủ di chuyển đến API tiếp theo sau khi gọi nó và cơ chế thông báo Sự kiện của Node.js giúp máy chủ nhận được phản hồi từ lệnh gọi API trước đó.
Very Fast - Được xây dựng trên Công cụ JavaScript V8 của Google Chrome, thư viện Node.js thực thi mã rất nhanh.
Single Threaded but Highly Scalable- Node.js sử dụng mô hình một luồng với vòng lặp sự kiện. Cơ chế sự kiện giúp máy chủ phản hồi theo cách không chặn và làm cho máy chủ có khả năng mở rộng cao so với các máy chủ truyền thống tạo ra các luồng giới hạn để xử lý các yêu cầu. Node.js sử dụng một chương trình luồng đơn và chương trình tương tự có thể cung cấp dịch vụ cho một số lượng yêu cầu lớn hơn nhiều so với các máy chủ truyền thống như Apache HTTP Server.
No Buffering- Các ứng dụng Node.js không bao giờ đệm bất kỳ dữ liệu nào. Các ứng dụng này chỉ cần xuất dữ liệu theo từng phần.
License- Node.js được phát hành theo giấy phép MIT .
Ai sử dụng Node.js?
Sau đây là liên kết trên github wiki chứa danh sách đầy đủ các dự án, ứng dụng và công ty đang sử dụng Node.js. Danh sách này bao gồm eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo !, và Yammer.
Các dự án, ứng dụng và công ty sử dụng Node
Các khái niệm
Sơ đồ sau mô tả một số phần quan trọng của Node.js mà chúng ta sẽ thảo luận chi tiết trong các chương tiếp theo.
Sử dụng Node.js ở đâu?
Sau đây là những lĩnh vực mà Node.js đang chứng tỏ mình là một đối tác công nghệ hoàn hảo.
- Ứng dụng ràng buộc I / O
- Ứng dụng truyền dữ liệu
- Ứng dụng thời gian thực chuyên sâu về dữ liệu (DIRT)
- Ứng dụng dựa trên API JSON
- Ứng dụng trang đơn
Không sử dụng Node.js ở đâu?
Không nên sử dụng Node.js cho các ứng dụng đòi hỏi nhiều CPU.