NodeJS là gì?

Khái niệm

Khi truy cập trang trủ của NodeJS, các bạn sẽ thấy một câu giới thiệu vô cùng ngắn gọn.

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.

Theo đó, để hiểu được NodeJS là gì, chúng ta phải tìm hiểu về Chrome’s V8 JavaScript engine. Đây là một công nghệ mã nguồn mở cho việc thực thi JavaScript, được Google phát triển trên hai trình duyệt Google Chrome and Chromium. Đến đây, các bạn có thể hiểu V8 như là trình thông dịch JavaScript trên trình duyệt web của Google. Và dựa trên công nghệ này, người ta đã tạo ra NodeJS để có thể thực thi JavaScript trên server, chính thức đưa JavaScript trở thành ngôn ngữ được ứng dụng ở cả hai phía trong mô hình client-server.

Như vậy, NodeJS là một nền tảng (platform) hoặc có thể hiểu là trình thông dịch, giúp chúng ta thực thi mã nguồn JavaScript trên server. Nó không phải một ngôn ngữ lập trình. Nhắc đến nó là nhắc đến ngôn ngữ lập trình JavaScript nhưng không phải dành cho trình duyệt web mà dành cho server.

Điểm mạnh

  • High Scalability – Dễ mở rộng, phù hợp với mô hình microservices.
  • Easy to Learn, Use and Deploy – Dễ học, sử dụng và triển khai ứng dụng.
  • The Benefit of Fullstack JS – Lập trình Fullstack với JS.
  • Huge and Active Community – Cộng đồng lớn và năng động.

Trên đây, tôi chỉ kể ra vài điểm mạnh mà theo tôi đáng để lưu tâm nhất khi tìm hiểu NodeJS. Để tìm hiểu chi tiết hơn, các bạn có thểm tham khảo một vài links ở cuối bài viết.

Ứng dụng

NodeJS phù hợp với một số loại ứng dụng sau:

  • Websocket server: Các máy chủ Online Chat hay Game Server.
  • Fast File Upload Client: 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.

Một số tổ chức nổi tiếng đang sử dụng NodeJS

  • Twitter
  • Reddit
  • Slack
  • Netflix
  • Medium
  • Asana

Chi tiết xem tại https://stackshare.io/nodejs

Tài liệu