Nasz zespół pierwotnie składał się głównie z programistów po stronie serwera z minimalną wiedzą specjalistyczną w zakresie Javascript. W ASP.NET pisaliśmy dużo logiki interfejsu użytkownika w kodowaniu lub ostatnio przez kontrolery w MVC.
Jakiś czas temu do naszego zespołu dołączyło 2 programistów wysokiego poziomu. Mogą robić w HTMl / CSS / JavaScript prawie wszystko, co wcześniej mogliśmy zrobić z kodem po stronie serwera i kontrolkami sieci po stronie serwera:
- Pokaż / ukryj elementy sterujące
- Dokonaj walidacji
- Kontroluj odświeżanie AJAX
Zacząłem więc myśleć, że być może bardziej efektywne byłoby po prostu utworzenie interfejsu API wysokiego poziomu wokół naszej logiki biznesowej, podobnie jak Amazon Fulfillment API: http://docs.amazonwebservices.com/fws/latest/APIReference/ , aby ten klient programiści poboczni w pełni przejmą interfejs użytkownika, podczas gdy programiści po stronie serwera skoncentrują się wyłącznie na logice biznesowej.
Tak więc do zamawiania systemu miałbyś interfejs API wysokiego poziomu, taki jak:
OrderService.asmx
CreateOrderResponse CreateOrder(CreateOrderRequest)
AddOrderItem
AddPayment
-
SubmitPayment
-
GetOrderByID
FindOrdersByCriteria
...
Byłby dostęp do JSON / REST do API, więc łatwo byłoby korzystać z interfejsu użytkownika po stronie klienta. Możemy użyć tego interfejsu API zarówno do tworzenia wewnętrznych interfejsów użytkownika, jak i do tworzenia własnych aplikacji dla stron trzecich.
Dzięki postępom w Javascript i dostępności dobrych programistów po stronie klienta, czy to dobry moment, aby pozbyć się koderów / kontrolerów i skoncentrować się na tworzeniu interfejsów API wysokiego poziomu (ala Amazon), które programiści po stronie klienta mogą konsumować?