Nhóm của chúng tôi ban đầu bao gồm hầu hết các nhà phát triển phía máy chủ có chuyên môn tối thiểu về Javascript. Trong ASP.NET, chúng tôi đã từng viết rất nhiều logic UI trong mã phía sau hoặc gần đây hơn thông qua các bộ điều khiển trong MVC.
Cách đây ít lâu, 2 nhà phát triển phía khách hàng cao cấp đã tham gia nhóm của chúng tôi. Chúng có thể thực hiện trong HTMl / CSS / Javascript gần như mọi thứ chúng ta có thể làm trước đây với mã phía máy chủ và điều khiển web phía máy chủ:
- Hiển thị / ẩn điều khiển
- Xác nhận
- Kiểm soát làm mới AJAX
Vì vậy, tôi bắt đầu nghĩ rằng có lẽ sẽ hiệu quả hơn nếu chỉ tạo một API cấp cao xung quanh logic kinh doanh của chúng tôi, giống như API Fulfillment của Amazon: http://docs.amazonwebservice.com/fws/latest/APIReference/ , để khách hàng đó các nhà phát triển bên sẽ hoàn toàn chiếm lấy UI, trong khi các nhà phát triển phía máy chủ sẽ chỉ tập trung vào logic kinh doanh.
Vì vậy, để đặt hàng hệ thống, bạn sẽ có một API cấp cao như:
OrderService.asmx
CreateOrderResponse CreateOrder(CreateOrderRequest)
AddOrderItem
AddPayment
-
SubmitPayment
-
GetOrderByID
FindOrdersByCriteria
...
Sẽ có quyền truy cập JSON / REST vào API, do đó sẽ dễ dàng sử dụng từ giao diện người dùng phía máy khách. Chúng tôi có thể sử dụng API này cho cả phát triển giao diện người dùng nội bộ và cho các bên thứ 3 để tạo các ứng dụng của riêng họ.
Với những tiến bộ trong Javascript và sự sẵn có của các nhà phát triển phía khách hàng tốt, đây có phải là thời điểm tốt để loại bỏ mã phía sau / bộ điều khiển và chỉ tập trung vào phát triển API cấp cao (ala Amazon) mà các nhà phát triển phía khách hàng có thể tiêu thụ?