क्लाइंट पक्ष में सभी UI तर्क चल रहे हैं?


9

हमारी टीम मूल रूप से जावास्क्रिप्ट में न्यूनतम विशेषज्ञता वाले ज्यादातर सर्वर साइड डेवलपर्स शामिल थी। 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 पार्टियों के लिए अपने स्वयं के एप्लिकेशन बनाने के लिए कर सकते हैं।

जावास्क्रिप्ट में अग्रिम और अच्छे ग्राहक पक्ष डेवलपर्स की उपलब्धता के साथ, क्या कोड-पीछे / नियंत्रकों से छुटकारा पाने का एक अच्छा समय है और सिर्फ उच्च स्तर के एपीआई (अला अमेज़ॉन) को विकसित करने पर ध्यान केंद्रित करें जो ग्राहक पक्ष डेवलपर्स का उपभोग कर सकते हैं?

जवाबों:


6

क्लाइंट साइड पर सर्वर साइड साइड को ऑफ करने और एप्लिकेशन की जवाबदेही बढ़ाने के लिए सत्यापन ठीक है लेकिन सर्वर साइड सत्यापन हमेशा करें। कोई JavaScript बंद कर सकता है और REST API का उपयोग करते समय सीधे जावास्क्रिप्ट की आवश्यकता नहीं होगी।


हां, सत्यापन भी डोमेन / एपीआई का एक हिस्सा होगा। ग्राहक का पक्ष खींचेगा कि एपीआई से क्या मान्य होना चाहिए या हम प्रत्येक विधि के लिए क्या आवश्यक है, आदि का दस्तावेजीकरण करेंगे। यदि ग्राहक की ओर से अभी भी सबमिशन में सत्यापन त्रुटियां हैं - हम अपवादों को फेंक देंगे।
मैग

4

एक बात का ध्यान रखें कि जटिल UI को पदानुक्रम, मास्टर / डिटेल रिलेशनशिप और अन्य UI कॉन्सेप्ट जैसी चीजों का समर्थन करने के लिए एक अतिरिक्त "UI असिस्ट" लेयर की आवश्यकता हो सकती है जो वास्तव में बिजनेस लेयर में मौजूद नहीं हैं। यह अक्सर इन क्षमताओं में से कुछ को लागू करने के लिए संभव नहीं है w / o व्यापार परत पर कई दौर की यात्राएं कर रहा है, जो प्रदर्शन को नीचा दिखाता है। कम से कम, मैं यूआई को डेटाबेस तक सीधी पहुंच प्रदान करने के लिए "यूआई असिस्ट" परत रखना पसंद करता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.