2014-06-13 14 views
8

Tôi đang làm việc trên một ứng dụng web nhỏ trong App Engine, sử dụng Angular cho giao diện người dùng. Tôi đã xem qua tài liệu hướng dẫn cho Google Cloud Endpoints, nhưng tôi đang gặp khó khăn trong việc tìm kiếm những lợi thế đáng kể so với việc viết các trình xử lý thông thường trả về JSON. Dưới đây là những lợi thế tôi đã tìm thấy:Google Cloud Endpoints và trình xử lý yêu cầu thông thường cho các ứng dụng web nhỏ?

  • API explorer: tiện dụng, nhưng không phải là quan trọng
  • Auth: hữu ích, nhưng không quá khó khăn để thực hiện
  • thư viện Quê quán: dường như ít quan trọng đối với web-only ứng dụng

Mặt khác, cú pháp để chỉ định điểm cuối là loại xấu xí (so với chỉ định trình xử lý yêu cầu trong webapp2, bình, v.v.). Có lợi thế nào tôi đã bỏ lỡ hoặc những thách thức tôi không dự đoán? Nếu không, điểm kết thúc của Cloud là gì?

Trả lời

15

Điểm cuối là cách thuận tiện cho các dịch vụ được sử dụng bởi cả web, ứng dụng dành cho thiết bị di động nhưng có hạn chế. Tôi sẽ không đề xuất nó cho các ứng dụng chỉ dành cho web.

Điểm cuối tạo điều kiện tạo một API phân phát dữ liệu duy nhất cho web, Android và iOS. Tương tự có thể đạt được bằng cách định nghĩa API REST/JSON của riêng bạn. Sự khác biệt từ REST/dịch vụ JSON là:

Ưu

  1. chính: Nó tạo ra các thư viện khách hàng bản địa dành cho Android và các thiết bị iOS ứng dụng bản địa.

  2. Chuyển đổi sang và từ JSON được thực hiện mà không xác định bất kỳ ánh xạ.

  3. dễ dàng "Google" hội nhập auth (nhưng 'chỉ' Google auth, với sự hỗ trợ OpenID thử nghiệm)

  4. API thám hiểm là một tốt giá trị gia tăng cho Abstraction cũng như quản lý giao diện người dùng (nhưng lại thiếu một số cơ bản dự kiến tính năng, như hỗ trợ cho 'ngày' loại tham số)

  5. [suy nghĩ] bằng việc sử dụng thiết bị đầu cuối với đăng nhập tích hợp và lưu trữ trên ứng dụng động cơ, hầu hết các xác thực liên quan đến vấn đề an ninh được chuyển tới Google

Nhược

  1. chính: Không kiểm soát chuyển đổi JSON. Bạn sẽ thay đổi cấu trúc/mã thực thể của mình thành what Endpoints can handle. ví dụ. không Generics (trong Java)

  2. Không kiểm soát xử lý lỗi trong quá trình chuyển đổi. ví dụ. nếu một cuộc gọi tải xuống gặp sự cố, thì chuyển đổi JSON không thành công mà không đưa ra chi tiết về những gì đã phá vỡ bên trong.

  3. Phần dịch vụ khám phá tải API cho gốc API của bạn (có thể Google không cần nó) có poor browser support.

  4. [Chỉnh sửa: Not applicable anymore] Như @Josh đã đề cập, không có hỗ trợ miền tùy chỉnh.Giải pháp thay thế là sử dụng miền appengine nội bộ cho các cuộc gọi thiết bị đầu cuối, đi kèm với chi phí để duy trì ánh xạ miền cho tất cả các môi trường.

+0

Một bất lợi ** khác là bạn không thể chạy điểm cuối trên miền tùy chỉnh, chỉ tên miền appspot.com. –

1

Tôi thấy việc thiếu hỗ trợ cho thử nghiệm tự động đơn giản khiến cho trình xử lý yêu cầu thông thường phù hợp hơn với ứng dụng web nhỏ của tôi.

2

Điểm quan trọng nhất của điểm cuối google là khả năng có giải pháp có thể mở rộng thay vì sử dụng nền tảng IAAS như Amazon. Ngoài ra, tích hợp với công cụ ứng dụng của google.

Trình khám phá API cộng với lib được tạo bởi khách hàng chỉ là tính năng "đẹp để có" thay vì lý do chính để chọn Điểm kết thúc của Google trên bất kỳ máy chủ SA đơn giản nào trên đám mây.

Các ưu điểm khác là siêu dữ liệu API có thể kiểm soát kiểm soát truy cập, khách hàng được phép, phiên bản và chuyển đổi được tích hợp sẵn.

Điều tốt đẹp đối với tôi là mọi thứ trong nền tảng này thực sự trực quan và được thực hiện với lệnh maven, bao gồm triển khai ứng dụng tới đám mây * .appspot google.

Các vấn đề liên quan