Bài 1: Node.JS là gì?
Nội dung của bài
Node.js là gì?
Node.js là một nền tảng Javascript runtime xây dựng trên V8 Engine, được phát triển bởi Ryan Lienhart Dahl vào năm 2009. Với node.js chúng ta có thể xây dựng ứng dụng server-side trên javascript.
Đặc điểm của node.js
- Không đồng bộ: Đặc điểm đầu tiên của Node.js là tính bất đồng bộ. Node.js không cần đợi API trả dữ liệu về, vậy nên mọi APIs nằm trong thư viện Node.js đều không được đồng bộ, hiểu đơn giản là chúng không hề blocking (khóa). Server có cơ chế riêng để gửi thông báo và nhận phản hồi về các hoạt động của Node.js và API đã gọi.
- Tốc độ nhanh: Với phần core phía dưới lập trình gần như toàn bộ bằng ngôn ngữ C++, kết hợp với V8 Javascript Engine mà Google Chrome cung cấp, tốc độ vận hành, thực hiện code của thư viện Node.js diễn ra rất nhanh.
- Đơn giản – Hiệu quả: Tiến trình vận hành của Node.js đơn giản song lại mang đến hiệu năng cao nhờ ứng dụng mô hình single thread và các sự kiện lặp. Một loạt cơ chế sự kiện cho phép server trả về phản hồi bằng cách không block, đồng thời tăng hiệu quả sử dụng. Các luồng đơn cung cấp dịch vụ cho nhiều request hơn hẳn Server truyền thống.
- Không đệm: Nền tảng Node.js không có vùng đệm, tức không cung cấp khả năng lưu trữ dữ liệu buffer.
Tại sao nên chọn node.js?
Với cơ chế bất động bộ (asynchronous), hướng sự kiện (event-driven) node.js được các lập trình viên ưa thích:
- Xử lý đồng thời hàng ngàng kết nối với.
- Tốc độ nhanh.
- Có khả năng mở rộng.
- Có thể phát triển bằng Javascript.
- Cộng đồng Nodejs khá lớn và được cung cấp miễn phí cho người dùng.
Node.js có thể làm gì?
Với các đặc tính mạnh mẽ của một nền tảng phát triển, Node.js được sử dụng để giải quyết nhiều vấn đề như: Websocket server, Fast File Upload Client, Ad Server, Cloud Services, RESTful API, Any Real-time Data Application,..
Chú ý: Đừng nhầm lẫn node.js là một framework hay một ngôn ngữ lập trình, node.js là một nền tảng ( platform ).