
Một chuyên gia tại SapotaCorp đang phát triển tốc độ hệ thống cho khách hàng
Phần lớn các hệ thống ngày nay đều sử dụng công nghệ REST API giúp tạo ra những phương thức kết nối các thư viện và ứng dụng khác. Nếu như máy bạn có mobile app thì chắc chắn là REST API.

Click vào ảnh để có thể xem rõ hơn
Tìm hiểu về REST API:
REST (REpresentational State Transfer) được đưa ra vào năm 2000, trong luận văn tiến sĩ của Roy Thomas Fielding (đồng sáng lập giao thức HTTP).
Nó là một dạng chuyển đổi cấu trúc dữ liệu, là một phong cách kiến trúc cho việc thiết kế các ứng dụng có kết nối. Nó sử dụng HTTP đơn giản để tạo cho giao tiếp giữa các máy.
Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.
Tuy nhiên, REST API đã có tuổi đời hơn 20 năm và bộc lộ hạn chế, dữ liệu lấy ra cần phải vừa đủ không dư thừa nhưng đa phần hệ thống hiện tại sử dụng công nghệ cũ (REST API) khiến dữ liệu bị dư thừa làm cho tốc độ tải trang bị chậm.
Thí dụ: Bạn có thông tin của người dùng gồm hàng trăm trường thông tin khác nhau như: Họ tên, ngày sinh, quê quán, lần cuối đăng nhập… Nhưng có một tình huống bạn chỉ cần lấy những ai có ngày sinh là tháng 9, bạn chỉ cần lấy đúng thông tin đó là :Họ tên và ngày sinh, tuy nhiên dữ liệu vẫn trả về cho bạn hàng trăm trường thông tin cho bạn. Bạn thử tưởng tượng bạn có hàng trăm nghìn thông tin của người dùng như vậy khi dữ liệu trả về sẽ rất lớn và khiến tốc độ website của bạn càng dùng càng CHẬM.
Năm 2012, Facebook đã phát triển GraphQL nhằm giảm thiểu số lượng dữ liệu đáng kể những bất cập mà REST API đang mắc phải.
So sánh đôi chút về công nghệ cũ (REST API) và công nghệ mới (graphQL):
“REST là một cách phổ biến để lấy dữ liệu từ máy chủ. Khi khái niệm REST được phát triển, client applications tương đối đơn giản và tốc độ phát triển không giống như ngày nay.
REST do đó phù hợp với nhiều ứng dụng.
Tuy nhiên, cách sữ dụng API đã thay đổi nhiều trong vài năm gần đây. Đặc biệt, có ba yếu tố thử thách cách thiết kế API:
1. Tăng sử dụng mobile apps tạo ra nhu cầu tải dữ liệu hiệu quả
Việc gia tăng sử dụng mobile apps, các thiết bị có điện năng thấp và vấn đề về kết nối là những lý do khiến Facebook phát triển GraphQL.
GraphQL giảm thiểu số lượng dữ liệu cần được chuyển qua mạng và do đó cải thiện đáng kể các ứng dụng hoạt động trong những điều kiện này.
2. Nhiều platforms và frontend frameworks khác nhau
Sự không đồng nhất của các frontend frameworks và platforms chạy các ứng dụng của client làm cho việc xây dựng và duy trì một API phù hợp với yêu cầu của tất cả mọi người trở nên khó khăn.
Với GraphQL, mỗi khách hàng có thể truy cập chính xác dữ liệu cần thiết.
3. Phát triển nhanh
Yêu cầu phát triển nhanh và cập nhật sản phẩm thường xuyên đã trở thành một tiêu chuẩn của nhiều công ty. Với các API REST, cách xử lí dữ liệu của server thường cần phải được sửa đổi để đáp ứng các yêu cầu cụ thể và thay đổi thiết kế ở phía client.
Điều này cản trở việc phát triển nhanh và cập nhật sản phẩm.”
Như bạn thấy đấy, REST model cũ giống y như việc bạn đặt cái bánh Pizza, rồi gọi ship hàng online và kêu bên tiệm giặt ủi đem đồ đến cho bạn. Tất cả diễn ra với 3 cuộc gọi và 3 cửa hàng.
GraphQL mặt khác lại giống như là thư kí riêng của bạn vậy: Sau khi bạn đưa địa chỉ của 3 cửa hàng và nói yêu cầu của bạn thì GraphQL sẽ làm hết mọi chuyện còn lại trong khi bạn chỉ việc chờ chúng được chuyển đến cho mình.
Hãy để lại thông tin website của bạn để chuyên gia của chúng tôi kiểm tra miễn phí hệ thống của bạn và đưa ra giải pháp giúp website của bạn chạy nhanh hơn:
(Nguồn: https://viblo.asia/p/tim-hieu-graphql-phan-1-graphql-vs-rest-api-924lJYG6ZPM#_vi-sao-su-dung-graphql-0, https://topdev.vn/blog/graphql/, https://movan.vn/rest-api-gioi-thieu-rest-api/)