CĂN BẢN
SERVER
MYSQL
MONGODB
MODULE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

NodeJS là gì? Đặc tính và các framework NodeJS phổ biến

Trong bài này mình sẽ giới thiệu một chút về NodeJS là gì, sau đó đưa ra những đặc điểm cơ bản của NodeJS, đó là lý do tại sao nó trở thành công nghệ HOT nhất hiện nay 2024

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Dạo này lướt Facebook toàn thấy chủ đề về nên học gì vào năm 2024?, Các câu trả lời chủ yếu là NodeJS, AngularJS, Phalcon FW, ... Đó đều là những framework rất hot đấy. Nhưng nói vè NodeJS thì có vẻ hấp dẫn nhất.

Và trong bài đầu tiên về chủ đề NodeJS này mình sẽ giới thiệu khái niệm NodeJS là gì và những thành phần cần thiết trong NodeJS.

1. NodeJS là gì?

NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine, nó được sử dụng để xây dựng các ứng dụng web như các trang video clip, các forum và đặc biệt là trang mạng xã hội phạm vi hẹp. NodeJS là một mã nguồn mở được sử dụng rộng bởi hàng ngàn lập trình viên trên toàn thế giới.

Bài viết này được đăng tại [free tuts .net]

NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ WIndow cho tới Linux, OS X nên đó cũng là một lợi thế. NodeJS cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất.

nodejs la gi 1 jpg

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.

Nếu ban nghĩ Facebook đang sử dụng Ajax thì bạn đã sai rồi nhé, nếu họ sử dụng Ajax thì Server họ sẽ chết ngay lập tức bởi các request gửi lên với số lượng tính theo tỉ :3. Còn nếu bạn hỏi Facebook có phải sử dụng NodeJS không thì mình xin trả lời là mình không biết nhé :D Vì mình không phải là nhà phát triển Facebook.

Hoặc là ứng dụng Google Analytics, nếu bạn muốn làm một trang như vậy thì sẽ đụng tới Realtime, mà đụng tới Realtime thì NodeJS là một sự chọn lựa khá tốt. Đấy là mình thảo luận còn Google nó sử dụng công nghệ gì thì mình cũng chả biết :D.

Ok bây giờ ta sẽ tìm hiểu sơ lược qua một số tính năng của NodeJS, thực sự mà nói thì các tính năng này lúc mới học đọc vào cũng chả hiểu là cái gì cả nhưng một khi đã thấm rồi thì ắt sẽ tự hiểu ra, vì vậy phần dưới đây bạn có thể để dành đọc sau khi sử dụng được căn bản NodeJS.

2. Các đặc tính của NodeJS

Qua phần tìm hiểu NodeJS là gì mình có giới thiệu một đặc tính rất quan trọng đó là Realtime, tuy nhiên vẫn còn khá nhiều đặc tính mà bạn cần phải biết trước khi học NodeJS.

  • Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ (none-blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữ liệu về. Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế thông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từ các cuộc gọi API trước (Realtime).
  • Chạy rất nhanh: NodeJ được xây dựng dựa vào nền tảng V8 Javascript Engine nên việc thực thi chương trình rất nhanh.
  • Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồng duy nhất với sự kiện lặp. cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứng một cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như trái ngược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu. Node.js sử dụng một chương trình đơn luồng và các chương trình tương tự có thể cung cấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thống như Apache HTTP Server.
  • Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủ yếu là đầu ra dữ liệu.
  • Có giấy phép: NodeJS đã được cấp giấy phép bởi MIT License.

Sau đây là sơ đồ về các thành phần quan trọng trong NodeJS mà trong series này chúng ta sẽ tìm hiểu dần (hình sưu tầm từ tutorialspoint).

cac dac tinh cua nodejs jpg

3. Hai NodeJS framework sử dụng phổ biến

Cho mình tạm gọi NodeJS là một công nghệ mới, hay một ngôn ngữ mới nhé mọi người. Sau đây mình sẽ liệt kê danh sách tất cả những framework của NodeJS đang được sư dụng phổ biến nhất tại Việt Nam.

Express

ExpressJS là một trong những framework phổ biến dùng để xây dựng API và Website phổ biến nhất của NodeJS. Nó được sử dụng rộng rãi đến mức hầu như mọi dự án Web nào đều bắt đầu bằng việc tích hợp Express. Có rất nhiều lý do để chọn ExpressJS:

  • Có nhiều tính năng hỗ trợ tất cả những gì bạn cần trong việc xây dựng Web và API
  • Quản lý các route dễ dàng
  • Cung cấp một nền tảng phát triển cho các API
  • Hỗ trợ nhiều thư viện và plugin
  • Bảo mật và an toàn hơn so với việc code thuần
  • Hỗ trợ cộng đồng tuyệt vời

SocketIO

SocketIO là một web-socket framework có sẵn cho nhiều ngôn ngữ lập trình.

Trong NodeJS, SocketIO cho phép xây dựng một các ứng dụng realtime như chatbot, tickers, dashboard APIs, và nhiều ứng dụng khác. SocketIO có lợi ích hơn so với NodeJS thông thường.

  • Hỗ trợ route URL tùy chỉnh cho web socket
  • Tích hợp dễ dàng hơn với Express JS
  • Hỗ trợ clustering với Redis

Ngoài ra còn một số framework khác như:

  • BodyParser
  • ails.JS
  • Hapi.JS
  • Total.JS
  • LoopBack
  • Meteor
  • Restify
  • Koa

4. Nên học NodeJS ở đâu

Để học tốt NodeJS thì theo mình tốt nhất bạn nên tìm một khóa học online chất lượng, như vậy bạn sẽ không mất quá nhiều thời gian vào việc tìm hiểu một công nghệ mới.

Youtube cũng là một kênh học NodeJS tuyệt vời đấy nhé, ở đó có rất nhiều người training online tiếng Anh lẫn tiếng Việt. Bạn có thể lên đó và tìm với từ khóa "nodejs căn bản".

Hiện nay có rất nhiều khóa học online chất lượng, bạn có thể tham khảo tại đây.

5. Lời kết

Qua bài tìm hiểu NodeJS là gì này bạn thấy rõ ràng việc học NodeJS vào năm 2016 này là một quyết định sáng suốt phải không các bạn :D Cá nhân mình cũng đang tìm hiểu thôi nên trong quá trình viết bài nêu có gì không đúng thì mong các bạn góp ý tích cực và bỏ qua nhé. Hy vọng hết năm 2016 này Freetuts sẽ có một chuyên đề học NodeJS hoàn chỉnh cho các bạn tham khảo.

Cùng chuyên mục:

Cách gửi mail trong NodeJS có file đính kèm

Cách gửi mail trong NodeJS có file đính kèm

Crawl dữ liệu website bằng NodeJS cơ bản

Crawl dữ liệu website bằng NodeJS cơ bản

CORS là gì ? Xử lý CORS trong NodeJS

CORS là gì ? Xử lý CORS trong NodeJS

Chắc hẳn trong quá trình xử lý các request tới server thì một vài trường…

Xử lý form trong Express

Xử lý form trong Express

Xây dựng URL trong Express

Xây dựng URL trong Express

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách xây…

Populate trong Mongoose

Populate trong Mongoose

Error Handling & Debugging trong Socket.io

Error Handling & Debugging trong Socket.io

Namespaces & Rooms trong Socket.io

Namespaces & Rooms trong Socket.io

Middleware trong Mongoose

Middleware trong Mongoose

Create / Read / Update / Delete trong Mongoose

Create / Read / Update / Delete trong Mongoose

Validation trong Mongoose

Validation trong Mongoose

Subdocuments trong Mongooose

Subdocuments trong Mongooose

Documents trong Mongoose

Documents trong Mongoose

Trong bài viết này chúng ta sẽ tìm hiểu về documents trong Mongoose

Models trong Mongoose

Models trong Mongoose

SchemaTypes trong Mongoose

SchemaTypes trong Mongoose

Schemas trong Mongoose

Schemas trong Mongoose

Mongoose trong NodeJS

Mongoose trong NodeJS

Làm việc với Table MySQL sử dụng Nodejs

Làm việc với Table MySQL sử dụng Nodejs

Kết nối với MongoDB trong NodeJS

Kết nối với MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Top