30/09/2018, 21:09

Thắc mắc về single page application

Mọi người cho hỏi một trang web kiểu SPA có những ưu nhược điểm gì, khi nào nên dùng theo kiểu đấy. Và giữa ajax và angular js có những khác biệt gì về công dụng
Thanks all

Nguyen Ca viết 23:10 ngày 30/09/2018

SPA phải load hết cấu trúc page ban đầu (tất cả script của tất cả trang). trong trương hợp có quá nhiều page, load page ban đầu có thể chậm,
ajax là 1 kĩ thuật get dữ liệu,angular là framework, liên quan gi nhỉ?

Phan Hoàng viết 23:10 ngày 30/09/2018

Ajax là kỹ thuật dùng cho SPA. Vì SPA không bao giờ load lại trang nên việc generate ra HTML/binding data phải thực hiện thông qua các ajaxcall.

Võ Hoài Nam viết 23:19 ngày 30/09/2018

Nếu xài AngularJS thì việc SPA cứ để cho ng-route lo. Còn muốn mạnh mẽ hơn thì xài angular-ui-router. Còn muốn cache nữa thì có bản extends sẽ lo cache.

Còn thuần Ajax thì bạn có thể code nhanh hơn nhưng không có kiến trúc để sau này kiểm soát mã nguồn về sau.

nguyenvtrong viết 23:11 ngày 30/09/2018

Angular JS là để dùng cho những trang SPA, vậy thì tất cả xử lý sẽ ở client à, còn ajax chỉ là lấy dữ liệu bất đồng bộ, mình hiểu như vậy có đúng ko

nguyenvtrong viết 23:22 ngày 30/09/2018

ý mình là cả ajax và angular js và đều lấy dữ liệu và khác biệt giữa hai kiểu đấy

nguyenvtrong viết 23:21 ngày 30/09/2018

Mình nghĩ nếu dùng ajax với mỗi hành động ví dụ như bấm like đều sinh ra request nếu với lượng người dùng lớn liệu server có chịu tải đc không ?

nguyenvtrong viết 23:19 ngày 30/09/2018

Mình muốn tạo một web động mà nó tự cập nhật nếu có dữ liệu mới trong csdl và những thao tác đơn giản như bấm nút thì nó cũng cập nhật trong csdl vậy thì dùng gì là hợp lý nhất

cpt viết 23:12 ngày 30/09/2018

MeteorJS

Post must be at least 20 characters

Nguyen Ca viết 23:16 ngày 30/09/2018

Lấy dữ liệu thì angular cũng dùng ajax để lấy thôi. Trong angular ajax được wrap trong 2 service: $http vâ $resource(hổ trợ gọi REST API). Hình như em chưa hiểu rõ khái niệm ajax.
Chịu tải tốt hay không do server em kiến trúc tốt không, phần cứng đáp ứng tốt không.

nguyenvtrong viết 23:24 ngày 30/09/2018

em cũng mới tìm hiểu thôi, thanks anh nhiều

Võ Hoài Nam viết 23:13 ngày 30/09/2018

Làm SPA với AngularJS thì sẽ dồn xử lý về client. Cần gì thì gọi API của Server thôi.

Khả năng chịu tải của bạn nói hơi mơ hồ. Nếu sợ server bị gởi nhiều request cùng lúc.

  1. Phía Server kiêm xử lý lẫn render giao diện (phương pháp cũ) vẫn chịu tải X việc kiêm X lần xử lý.
  2. Phía Server chỉ mang vai trò cung cấp APIs thì chỉ lo việc xử lý tới CSDL còn việc xử lý giao diện ra sao thì đẩy về client hết. (Hướng này thì có xu hướng chết trên Mobile do cấu hình thấp).
Itachi Citus viết 23:23 ngày 30/09/2018

Phía Server chỉ mang vai trò cung cấp APIs thì chỉ lo việc xử lý tới CSDL còn việc xử lý giao diện ra sao thì đẩy về client hết. (Hướng này thì có xu hướng chết trên Mobile do cấu hình thấp).

Kiến trúc này cũng hơi cũ rồi, bây giờ angular 2 và react đều hỗ trợ server rendering hết
https://www.reddit.com/r/webdev/comments/4iphv4/12_year_of_progress/

Võ Hoài Nam viết 23:26 ngày 30/09/2018

Cảm ơn bác nhiều nhé, để mình coi thử nó.

Bài liên quan
0