2012-04-03 16 views
14

कल मैंने जावास्क्रिप्ट का उपयोग करके अपनी पहली मेट्रो स्टाइल ऐप विकसित करना शुरू कर दिया है। मैं दृश्य स्टूडियो 2011 इस परियोजना टेम्पलेट उत्पन्न कोड का एक समूह जो WinJS पर काफी निर्भर करता के साथ आता है में उन टेम्पलेट्स में से एक का उपयोग किया है। पूरी संरचना एएसपी.NET को इसके दृश्यों और फाइलों के पीछे संबंधित कोड के साथ याद दिलाती है। एक navigator.js फ़ाइल भी है जो दृश्यों के बीच नेविगेशन के लिए ज़िम्मेदार है। पूरा डेटा data.js में रहता है और विभिन्न कार्यों का उपयोग करके पुनर्प्राप्त किया जा सकता है।मेट्रो स्टाइल ऐप्स: WinJS एक जरूरी है?

मैं backbone.js के साथ काम किया है और मैं MVC संरचना और बहुत अच्छा मार्ग की तरह अपनी अवधारणाओं पाया। मेरा सवाल मूल रूप से है यदि आप backbone.js का उपयोग कर ऐसी मेट्रो स्टाइल ऐप को कार्यान्वित कर सकते हैं? क्या मैं विनजेएस को खत्म कर सकता हूं और बस स्क्रैच से शुरू कर सकता हूं? क्या मुझे वर्तमान संरचना में backbone.js को एकीकृत करने का प्रयास करना चाहिए? तब ऐसा कैसा लगेगा? क्या तृतीय पक्ष जावास्क्रिप्ट ढांचे का उपयोग करने के लिए कोई प्रतिबंध हैं? क्या मुझे जेनरेट की गई संरचना को छोड़ देना चाहिए?

सर्वोत्तम प्रथाओं और पैटर्न जावास्क्रिप्ट के साथ मेट्रो शैली Apps का विकासशील क्या हैं?

धन्यवाद

उत्तर

9

आप किसी भी जावास्क्रिप्ट ढांचे आप एक मेट्रो शैली जावास्क्रिप्ट आवेदन के भीतर की तरह उपयोग कर सकते हैं। jQuery के बारे में इस संबंधित सवाल देखें:

jQuery and Windows 8 JavaScript Metro Style Apps

WinJS ढांचे कार्यों के एक जोड़े प्रदर्शन करती है, पहले, प्रबंधन और डेटा जोड़ तोड़ के लिए गैर यूआई एपीआई का एक सेट है सेवा अनुरोध आदि बनाने ... ये हैं आसानी से अन्य जावास्क्रिप्ट ढांचे के साथ बदल दिया। दूसरा यूआई परत है, यहां आप थोड़ा सा संघर्ष कर सकते हैं। विनजेएस यूआई को मेट्रो डिजाइन भाषा का पालन करने के लिए डिज़ाइन किया गया है। यदि आप इसे अपनी यूआई परत से बदलते हैं (उदाहरण के लिए jQuery यूआई का उपयोग करके) आपका आवेदन सही नहीं लगेगा।

व्यक्तिगत तौर पर मैं यूआई परत के लिए WinJS का प्रयोग करेंगे और क्रम के साथ एकीकृत करने (राज्य दृढ़ता, एप्लिकेशन स्विचन आदि ...), लेकिन इस तरह रीढ़ या नॉकआउट मेरी कोड के थोक के लिए के रूप में एक और अधिक मानक JavaScript लाइब्रेरी का उपयोग पोर्टेबिलिटी सुनिश्चित करने के लिए।

+0

अच्छे विचार के लिए धन्यवाद Coline! मैं अभी भी इस तरह के एक वास्तुकला को देखने के लिए संघर्ष कर रहा हूँ। क्या मैं रीबिक को नेविगेटर.जेएस में रीढ़ की हड्डी शैली रूटिंग के साथ बदल दूंगा? क्या बैकबोन की आवश्यकता है। देखें या क्या मैं WinJS UI को अपने टेम्पलेट्स और बाइंडिंग के साथ चिपकूँगा? या मुझे बैकबोन में पीछे WinJS UI कोड लपेटना चाहिए। देखें? दृश्य के प्रस्तुत होने पर 'तैयार' ईवेंट जैसे एप्लिकेशन के जीवन चक्र को नियंत्रित करने वाली कुछ घटनाएं अभी भी हैं। मैं इन्हें कहां संभालेंगे? यह जानना अच्छा है कि अन्य ढांचे का उपयोग करना संभव है लेकिन उनके एकीकरण के कारण सिरदर्द – Helikaon

+3

विनजेएस तीन भाग हैं: स्टाइल शीट, base.js, और ui.js. यदि आप स्टाइल शीट पर निर्भरता लेते हैं, तो आपको इसे "सही दिखने" में कोई परेशानी नहीं होगी। –

+1

मैं वास्तव में बाइंडिंग जैसी चीजों के लिए WinJS का उपयोग करने से बड़े पैमाने पर प्रदर्शन लाभ किसी तरह का है, अगर वहाँ जानना चाहता हूँ, किसी को भी इस पर कोई जानकारी है? –

0

मैं नॉकआउट js का उपयोग और MVVM के लिए js आवश्यकता होती है। दृश्य प्रभाव के लिए, मैं jQuery का उपयोग करता हूं।

(function() { 
    "use strict"; 

    var app = WinJS.Application; 

    app.onactivated = function (eventObject) { 
     require(["/scripts/knockout"], function(ko){ 
      // My knockout viewModel and data binding goes here 
     }); 
    }; 

    app.start(); 
})(); 

आप जगह में रीढ़ पसंद करते हैं, मुझे लगता है कि सेटअप के समान होगा:

मेरे डेटा-मुख्य थोड़ा इस तरह दिखता है।

संबंधित मुद्दे