हमारी टीम मूल रूप से जावास्क्रिप्ट में न्यूनतम विशेषज्ञता वाले ज्यादातर सर्वर साइड डेवलपर्स शामिल थी। ASP.NET में हम MVC में नियंत्रकों के माध्यम से या हाल ही में MVC में बहुत सारे यूआई लॉजिक लिखते थे।
थोड़ी देर पहले 2 उच्च स्तरीय क्लाइंट साइड डेवलपर्स हमारी टीम में शामिल हुए। वे HTMl / CSS / Javascript में बहुत कुछ कर सकते हैं जो हम पहले सर्वर-साइड कोड और सर्वर-साइड वेब कंट्रोल के साथ कर सकते थे:
- नियंत्रण दिखाएं / छिपाएँ
- सत्यापन करें
- AJAX ताज़ा करने पर नियंत्रण रखें
इसलिए मुझे लगा कि शायद यह हमारे व्यापार तर्क के चारों ओर एक उच्च स्तरीय एपीआई बनाने के लिए अधिक कुशल होगा, थोमा जैसे अमेज़ॅन पूर्ति एपीआई: http://docs.amazonwebservices.com/fws/latest/APIReference/ , ताकि ग्राहक साइड डेवलपर्स पूरी तरह से UI पर कब्जा कर लेंगे, जबकि सर्वर साइड डेवलपर्स केवल व्यावसायिक तर्क पर ध्यान केंद्रित करेंगे।
आदेश देने की प्रणाली के लिए आपके पास एक उच्च स्तरीय एपीआई होगा जैसे:
OrderService.asmx
CreateOrderResponse CreateOrder(CreateOrderRequest)
AddOrderItem
AddPayment
-
SubmitPayment
-
GetOrderByID
FindOrdersByCriteria
...
एपीआई में JSON / REST पहुंच होगी, इसलिए क्लाइंट-साइड UI से उपभोग करना आसान होगा। हम इस API का उपयोग आंतरिक UI विकास और 3-rd पार्टियों के लिए अपने स्वयं के एप्लिकेशन बनाने के लिए कर सकते हैं।
जावास्क्रिप्ट में अग्रिम और अच्छे ग्राहक पक्ष डेवलपर्स की उपलब्धता के साथ, क्या कोड-पीछे / नियंत्रकों से छुटकारा पाने का एक अच्छा समय है और सिर्फ उच्च स्तर के एपीआई (अला अमेज़ॉन) को विकसित करने पर ध्यान केंद्रित करें जो ग्राहक पक्ष डेवलपर्स का उपभोग कर सकते हैं?