News & Events
Node.js là gì?
- 26/06/2018
- Posted by: duong
- Category: Video học Lập trình web
Khái niệm về Node.js
Trước khi chúng ta tìm hiểu xem Node.js là gì, hãy tìm hiểu tại sao Node.js ra đời, nó phục vụ cho mục đích gì?
Nếu bạn bắt đầu từ việc lập trình HTML, bạn được biết đến một thứ rất hay gọi là JavaScript, nhưng từ trước tới nay bạn mới chỉ sử dụng nó ở mức độ hết sức cơ bản là tăng sự tương tác với người dùng cho các trang web của bạn.
Cái mà bạn thật sự muốn là “cái gì đó mang tính thực tế”, bạn muốn biết làm thế nào để xây dựng những website lớn và phức tạp – bạn học một ngôn ngữ lập trình chẳng hạn như PHP, Ruby, Java, và bắt đầu viết “backend” code. (Phần code sinh ra mã HTML).
Tuy nhiên, bạn vẫn quan tâm đến JavaScript, bạn thấy chúng qua các bài giới thiệu về jQuery, Prototype, hay tương tự như thế, khiến JavaScript trở nên cao cấp và phức tạp hơn với bạn, không hẳn chỉ dừng lại ở window.open().
Xét cho cùng thì tất cả vẫn chỉ dừng lại ở phía frontend (thực thi trên trình duyệt), tuy rằng bạn biết thêm “gia vị” cho trang web của bạn bằng việc sử dụng jQuery, nhưng lạc quan mà nói, bạn vẫn chỉ là một người dùng JavaScript chứ không phải một lập trình viên JavaScript.
Và Node.js ra đời, nó là một cách để chạy JavaScript ở phía máy chủ, thật tuyệt phải không? Giờ đây nhờ có Node.js mà chúng ta đã có thể chạy JavaScript thay vì phải code PHP hay Java trên web server. Một lợi ích nữa mà Node.js mang lại đó là việc xây dựng một hệ thống web cũng trở nên dễ dàng hơn, bởi vì team frontend và team backend giờ đây đã có thể “nói chuyện” với nhau qua cùng một ngôn ngữ duy nhất.
Tuy nhiên, cái gì cũng có hai mặt của nó.
Ưu và nhược điểm của Node.js
Ưu điểm:
- Node.js được xây dựng trên nền V8 javascript engine – cỗ máy thực thi mã javascript của trình duyệt Chrome nổi tiếng. Node.js giúp server của chúng ta có thể được viết bằng javascript.
- Node.js được sinh ra để phục vụ các ứng dụng thời gian thực.
- Tốc độ thực thi và khả năng mở rộng: Node.js có tốc độ rất nhanh. Tốc độ là điều quan trọng khi bạn mới chỉ là một startup đang cố gắng tạo một sản phẩm lớn và nó phải đảm bảo được khả năng mở rộng nhanh chóng.
- Không phải học thêm ngôn ngữ lập trình mới: có thể bạn cũng đã biết một chút về JavaScript, vì vậy tại sao lại phải phiền toái để học thêm về một ngôn ngữ lập trình hoàn toàn mới như PHP?
- Các hàm trong Node.js là non-blocking, có nghĩa là các dòng lệnh được thực thi song song với nhau, khác với PHP, là các hàm trong PHP bị block (các dòng lệnh phải đợi cho tới khi các lệnh trước đó được hoàn thành)
Nhược điểm:
- Node.js không thích hợp để xử lý các ứng dụng tốn tài nguyên CPU như video encoding, file converting, decoding encryption…
- Node.js không chỉ đơn giản là một sự thay thế cho Apache – các ứng dụng web đang tồn tại sẽ không có khả năng tương thích, và bạn có thể sẽ làm việc hiệu quả hơn với những ứng dụng phát triển từ đầu
- Node.js cò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. Với Node.js, mọi API đều có thể thay đổi – một cách không tương thích ngược – hãy thật cẩn thận với những API mà bạn đang dùng, và luôn đặt câu hỏi:
“Khi nó thay đổi, nó sẽ ảnh hưởng gì đến dự án của tôi?”
Nếu bạn đã đọc đến đây, bạn không chỉ biết được Node.js là gì, mà còn biết được liệu rằng bạn có hợp với nó hay không.
Cộng đồng sử dụng Node.js đang phát triển, có thể bạn sẽ không nhận được nhiều sự trợ giúp lúc gặp khó khăn với Node.js. Nhưng Node.js đã và đang chứng tỏ bản thân nó bằng một loạt những ưu điểm như trên. Vậy sao bạn không biến mình thành một trong những kẻ tiên phong và liều lĩnh nhận lấy thử thách này? Chắc chắn những gì sau này bạn nhận được sẽ rất ngọt ngào.
ĐĂNG KÝ NHẬN TÀI LIỆU VÀ TƯ VẤN MIỄN PHÍ PHƯƠNG PHÁP HỌC LẬP TRÌNH WEB PHP TỐT NHẤT
Trả lời Hủy
Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.