Thắc mắc về WEB

Mình ngành Ktpm cũng năm 2 , học đc 1 học kì rồi thấy có hứng với web @@ , mình bắt đầu học html css js , rồi bắt gặp 1 cái famework hay gì đó node js, đọc thử không hiểu gì hết nào là nền tảng , môi trường vậy có cao nhân nào hi sinh chút thời gian cho mình về mảng web này với kiểu như js làm gì , node js làm gì vì sao lại cần nó kiểu như 1 cái khung về web và những vấn đề phát sinh dẫn đến sự xuất hiện của một số thứ như node js , sever này nọ

Câu hỏi của bạn rộng quá, nhưng mình sẽ trả lời trong phạm vi mình hiểu nhé.

  1. js làm gì?
  • JS là ngôn ngữ script dùng trong web, chạy ở phía client. Khi 1 trang web được browser đã load về máy tính của end-user thì lúc đó JS sẽ chạy. (Còn làm sao để có trang web cho browser load thì là công việc của server).
  • JS có thể làm được rất nhiều việc: thay đổi nội dung trang web/css bằng cách thay đổi DOM, gửi request đến server để lấy thông tin mới,…
  1. nodejs làm gì?
  • NodeJS là môi trường chạy javascript (runtime environment). Cũng giống như JRE (Java runtime environment) là môi trường chạy của ngôn ngữ Java. Developer có thể viết mã javascript, NodeJS sẽ dịch javascript và chạy ở phía server (phân biệt với javascript chạy ở client bởi browser).
  • Vì chạy ở phía server nên NodeJS có thể làm vô cùng nhiều việc: tạo ra các trang html để browser tải về, thực hiện các task ngầm (VD: định kỳ quét daynhauhoc.com để xem có bài mới hay ko), lấy và lưu dữ liệu vào database, làm việc với file, …
  1. Vì sao cần 1 khung (framework) về web?
  • Bản thân 1 ngôn ngữ server có hỗ trợ lập trình socket là đã đủ để viết được thành webserver (VD: C++ Web server), có thể phục vụ các web request được rồi.
  • Tuy nhiên các ngôn ngữ thường chỉ hỗ trợ các xử lý cho web ở mức hết sức cơ bản.
    Do vậy, các frameworks xuất hiện, cung cấp các tính năng thuận tiện hơn cho việc viết web.
    VD: express framework hỗ trợ routing, hỗ trợ làm việc với các file html, hỗ trợ xử lý khi có lỗi xảy ra,… (đây là những thứ sẽ phải tự viết nếu chỉ dùng nodejs mà ko dùng framework)

1 vài điểm hy vọng có thể giúp ích cho bạn. :slight_smile:

2 Likes

Nodejs là ngôn ngữ từ bao giờ vậy bạn??

2 Likes

Mình đã update lại, thanks bạn

thanks ban cung hinh dung duoc it nhieu roi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?