I. Node.js là gì?
Node.js là một nền tảng (Platform) phát triển độc lập được xây dựng ở trên JavaScript Runtime của Chrome. Chúng ta có thể xây dựng được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng.
Node.js được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ.
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao.
Nó tạo ra được các ứng dụng có tốc độ xử lý nhanh, real-time thời gian thực.
Node.js áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ hoặc tạo ra các dự án Startup nhanh nhất có thể.
II. Phân biệt Node.js và JavaScript
Về bản chất, Node.js chính là ngôn ngữ JavaScript. Tuy nhiên, điểm khác của Node.js khác với JavaScript là các chương trình viết bằng Node.js sẽ được chạy trên môi trường máy chủ. Ngược lại các chương trình JavaScript thường sẽ được chạy trên môi trường trình duyệt.
Ứng dụng của Node.js
Dưới đây là những ứng dụng có thể và nên viết bằng Nodejs:
– Websocket server: Các máy chủ web socket như là Online Chat, Game Server…
– Fast File Upload Client: là các chương trình upload file tốc độ cao.
– Ad Server: Các máy chủ quảng cáo.
– Cloud Services: Các dịch vụ đám mây.
– RESTful API: đây là những ứng dụng mà được sử dụng cho các ứng dụng khác thông qua API.
– Any Real-time Data Application: bất kỳ một ứng dụng nào có yêu cầu về tốc độ thời gian thực. Micro Services: Ý tưởng của micro services là chia nhỏ một ứng dụng lớn thành các dịch vụ nhỏ và kết nối chúng lại với nhau. Nodejs có thể làm tốt điều này.
Nhược điểm của Node.js
Tốn tài nguyên
Giống như hầu hết các công nghệ mới, việc triển khai Node.js trên host không phải là điều dễ dàng. Node.js đó là nó vẫn đang trong giai đoạn phát triển ban đầu, điều này có nghĩa là một số đặc trưng sẽ thay đổi trong quá trình phát triển tiếp theo.
III. Nhược điểm của Node.js
– Tốn tài nguyên
– Giống như hầu hết các công nghệ mới, việc triển khai Node.js trên host không phải là điều dễ dàng. Node.js đó là nó vẫn đang trong giai đoạn phát triển ban đầu, điều này có nghĩa là một số đặc trưng sẽ thay đổi trong quá trình phát triển tiếp theo.
Nếu bạn cần xử lý các ứng dụng tốn tài nguyên CPU như encoding video, convert file, decoding encryption… hoặc các ứng dụng tương tự như vậy thì không nên dùng NodeJS (Lý do: NodeJS được viết bằng C++ & Javascript, nên phải thông qua thêm 1 trình biên dịch của NodeJS sẽ lâu hơn 1 chút ). Trường hợp này bạn hãy viết 1 Addon C++ để tích hợp với NodeJS để tăng hiệu suất tối đa! (Việc tích hợp rất thân thiện và nhanh chóng)!