I. Node.js là gì?
Node.js là một nền tảng đượ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ộ giúp chương trình nhẹ và hiệu quả.
Môi trường Node.js cho phép người dùng JavaScript triển khai ngôn ngữ cho kịch bản phía máy chủ, đồng thời chạy các tập lệnh để tạo nội dung trang web động.
Node.js được viết bởi Ryan Dahl vào năm 2009, với bản phát hành ban đầu được phát triển để hỗ trợ Linux và Mac OS X. Một bản dựng sau đó đã được thêm vào để hỗ trợ Windows vào năm 2011.
Vì Node.js không phải là ngôn ngữ lập trình truyền thống, mà là môi trường runtime, nên rất dễ học cho cả nhà phát triển Front End và Back End.
Các lập trình viên Node.js back-end có thể được hưởng lợi từ hiệu quả, tốc độ cao và hiệu suất cao của Node.js, cộng với chia sẻ mã và bổ sung các công cụ miễn phí như theo dõi và gỡ lỗi.
Khi nói đến NodeJS thì phải nghĩ tới vấn đề Realtime. Realtime ở đây chính là xử lý giao tiếp từ client tới máy chủ theo thời gian thực. Giống như khi bạn lướt Facebook thì mỗi khi bạn comment hay like một topic nào đó thì ngay lập tức chủ topic và những người đã comment trên đó sẽ nhận được thông báo là bạn đã comment.
II. Những tính năng quan trọng của Node.js
1. Không đồng bộ và hướng sự kiện
Tất cả các API của thư viện Node.js đều không đồng bộ (none-blocking). Về cơ bản, điều đó có nghĩa là máy chủ dựa trên Node.js không bao giờ chờ API trả về dữ liệu. Máy chủ chuyển sang API tiếp theo sau khi gọi nó và cơ chế thông báo về 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 đó (Realtime).
2. Rất nhanh
Được xây dựng trên Công cụ JavaScript V8 của Google Chrome, thư viện Node.js rất nhanh trong việc thực thi mã.
3. Single Threaded nhưng có khả năng mở rộng cao
Node.js sử dụng một mô hình luồng đơn 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 hạn chế để xử lý các yêu cầu.
Node.js sử dụng một chương trình luồng đơn và cùng một chương trình có thể cung cấp dịch vụ cho 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ư Máy chủ HTTP Apache.
4. 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ỉ đơn giản là xuất dữ liệu trong khối.
5. License
Node.js được phát hành theo giấy phép MIT.
III. Những dự án đã sử dụng Node.js?
Sau đây là danh sách 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.
IV. 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.
NodeJS là gì
V. Node.js được sử dụng ở đâu
Sau đây là các lĩnh vực mà Node.js đang chứng tỏ mình khả năng công nghệ hoàn hảo của mình.
– I/O bound Applications
– Data Streaming Applications
– Data Intensive Real-time Applications (DIRT)
– JSON APIs based Applications
– Single Page Applications