5. Bố cục đề tài
1.7.2 Ưu và nhược điểm của SPA
Ưu điểm [11]
Xây dựng giao diện người dùng cuốn hút hơn.
Giảm tải trên máy chủ: cách xây dựng trang web trước đây đòi hỏi phải nạp rất nhiều nội dung trùng lặp cho mỗi trang, với cách tiếp cận SPA tránh sự lặp lại và giúp ứng dụng hiệu quả hơn.
Với SPA việc thay đổi hiển thị một vùng trên giao diện trở nên mượt mà hơn và không làm ảnh hưởng đến các vùng xung quanh.
SPA giảm thiểu thời gian phản hồi của trang web bằng cách chỉ trao đổi dữ liệu với server. Trong thời gian chờ server phản hồi dữ liệu, giao diện sẽ hiển thị thanh tiến trình chờ giúp người dùng không cảm thấy ức chế vì sự chậm trễ.
Nhược điểm [13]
Hạn chế trong việc tối ưu hóa bộ máy tìm kiếm (Search Engine Optimization-SEO): SPA tạo giao diện và sắp đặt nội dung trên Client thông qua JavaScript nên bộ máy tìm kiếm không tiếp cận trang HTML đầy đủ khi thực hiện đánh chỉ mục trang. Tuy nhiên, hiện nay đã có giải pháp cung cấp trang web đầy đủ khi bộ máy tìm kiếm truy cập vào SPA (có thể tham khảo PhantomJS).
Hiệu năng không đồng đều: SPA phụ thuộc rất nhiều vào phía Client, nghĩa là trang web của bạn có thể tải và hiển thị nhanh chóng với một số trình duyệt web (Client) trong khi một số khác chậm hơn do sử dụng thiết bị cũ.
Caching: Vì các trang chỉ được sinh ra đầy đủ và sắp đặt nội dung vào giao diện hoàn chỉnh ở Client nên không thể cache đầy đủ các trang HTML ở phía Server, do đó chúng ta không thể tận dụng các kỹ thuật Caching trong quá trình phát triển ứng dụng SPA.