2011-08-16 12 views
6

मैं 'क्लासिक' शैली के मोबाइल साइटों को विकसित करने के लिए सर्वोत्तम प्रथाओं का शोध कर रहा हूं, यानी मोबाइल साइट जो मोबाइल HTML पेज बनाम छोटे जावास्क्रिप्ट के रूप में वितरित और अनुभवी हैं अनुप्रयोग (jQuery मोबाइल, सेन्चा, आदि)।अलग-अलग मोबाइल डिवाइसों के लिए अलग-अलग पेज संरचना (एचटीएमएल) वितरित करने के लिए सर्वर-साइड विकल्प

  1. , सभी मोबाइल उपकरणों के लिए एक ही पृष्ठ संरचना (एचटीएमएल) उद्धार तो CSS मीडिया क्वेरी या जावास्क्रिप्ट का उपयोग और अधिक सक्षम उपकरणों के लिए अनुभव को बेहतर बनाने:

    दो प्रचलित दृष्टिकोण हैं।

  2. उन्नत क्षमताओं वाले उपकरणों को पूरी तरह से अलग पृष्ठ संरचना (और संभवतः सामग्री) प्रदान करें।

मैं विशेष रूप से सेकंड दृष्टिकोण के लिए सर्वोत्तम प्रथाओं में रूचि रखता हूं। दो अच्छे उदाहरण हैं:

  1. एमआईटी की मोबाइल साइट: एक ही यूआरएल पर Blackberries और सुविधा (कम) आईओएस & Android उपकरणों के लिए की तुलना में फोन के लिए अलग अलग है, लेकिन उपलब्ध - http://m.mit.edu/

m.mit.edu side-by-side on two different devices

  1. सीएनएन मोबाइल साइट: डिट्टो - http://m.cnn.com/

m.cnn.com side-by-side on two different devices

मैं यहां लोगों से सुनना चाहता हूं तो वास्तव में इस तरह कुछ पर काम किया है, और यह बता सकता है कि इस प्रकार के डिवाइस-निर्भर संरचना/सामग्री/अनुभव को वितरित करने के लिए सर्वोत्तम प्रथाएं क्या हैं।

मुझे मोबाइल उपयोगकर्ता-एजेंट पहचान, या WURFL, या this one जैसे अन्य (महान) SO धागे में शामिल किसी भी अवधारणा की आवश्यकता नहीं है। मैंने jQuery मोबाइल और सेन्चा टच का उपयोग किया है और मैं अंतिम मोबाइल अनुभव देने के लिए अधिकांश दृष्टिकोणों से परिचित हूं, इसलिए कोई संकेतक या तो धन्यवाद की आवश्यकता नहीं है।

मैं वास्तव में क्या समझना चाहता हूं: उपयोगकर्ता-एजेंट समूहों के आधार पर सर्वर-साइड डिटेक्शन और डिलीवरी के मामले में इन विशिष्ट प्रकार के अनुभव कैसे वितरित किए जाते हैं - जहां एक स्ट्रिप डाउन पेज स्ट्रक्चर (विभिन्न HTML) वितरित किया जाता है उपकरणों के एक समूह के लिए, और एक और समृद्ध प्रकार का HTML दस्तावेज़ नए उपकरणों को वितरित किया गया, लेकिन दोनों एक ही उप-डोमेन/यूआरएल पर।

आशा है कि सभी समझ में आता है। अग्रिम में बहुत धन्यवाद।

आवेदन/xhtml + xml> एक्सएचटीएमएल पाठ/vnd.wap.wml> पुरानी wml वैप पृष्ठों :

उत्तर

3

एनपीआर में, हम सही एचटीएमएल/सीएसएस/आदि की सेवा के लिए सर्वर साइड 'एप्लिकेशन' का उपयोग करते हैं, यदि उपयोगकर्ता उच्च-अंत डिवाइस या निचले स्तर के फोन पर है या नहीं।

इसलिए, जब कोई मोबाइल डिवाइस npr.org पृष्ठ पिंग करता है, तो हमारे सर्वर संबंधित m.npr.org पर इंगित करने के लिए उपयोगकर्ता-एजेंट पहचान विधि का उपयोग करते हैं। एक बार m.npr.org यूआरएल को निर्देशित करने के बाद, वेब ऐप - जो groovy में लिखा गया है, लेकिन मुझे लगता है कि संभावित रूप से कई चीजें हो सकती हैं - या तो साइट के स्पर्श संस्करण या अधिक सरल, छीन ली गई सामग्री को वापस भेजती हैं। वेब ऐप की पसंद कम से कम कुछ हद तक WURFL डेटा पर आधारित होती है।

मेरे पास स्क्रीनशॉट के साथ तुलना पोस्ट करने के लिए पर्याप्त प्रतिनिधि बिंदु नहीं हैं, इसलिए मुझे आपको साइट पर स्वयं को इंगित करना होगा।

m.npr.org side-by-side

आप m.npr.org में टाइप साइट नीचे छीन देखने के लिए द्वारा अपने डेस्कटॉप ब्राउज़र में देख सकते हैं। और यदि आप अपने स्मार्टफ़ोन पर npr.org पर गए हैं तो स्पर्श संस्करण देखने के लिए पैरामीटर? Devicegate.client = iPhone_3_0 जोड़कर आप डिफ़ॉल्ट डिवाइस पहचान को ओवरराइड कर सकते हैं। यदि आप स्रोत देखते हैं, तो आप देख सकते हैं कि एक ही सबडोमेन में विभिन्न HTML & सीएसएस पर कितना अलग किया जा रहा है।

उम्मीद है कि यह जंगली में ऐसा कुछ देखने में मदद करता है। क्या इसका कोई मतलब है?

+0

वह _totally_ मदद करता है। तो, ये सचमुच ** अलग ** 'ऐप्स' हैं जो यूए के आधार पर परोसे जाते हैं?जॉनी [यहां] द्वारा वर्णित "अलग-अलग ऐप दृश्य" विधि पर कोई भी लाभ/हानि (http://stackoverflow.com/questions/7085796/server-side- विकल्प-to-deliver- अलग-अलग- पृष्ठ- संरचना- html-to -different-mobil/7085907 # 7085907)? – phillipadsmith

1

जो प्रारूप एक मोबाइल डिवाइस की जरूरत है पता लगाने के लिए एक आम तरीका स्वीकार हैडर है। । ।

नए डिवाइस पर जो सभी डेस्कटॉप HTML प्रारूपों को संभाल सकते हैं, आप उपयोगकर्ता एजेंट का उपयोग कर सकते हैं।

तो फिर तुम अपने आप से पूछना करने के लिए आप क्या करना चाहते हैं: एक और स्टाइल शीट को

स्विच (केवल नए डिवाइस के साथ काम करता है)। अन्य दृश्य तर्क पर स्विच करें, जैसे wml पेज टेम्पलेट्स बनाना। एक पूर्ण दूसरे पृष्ठ पर स्विच करें।

मुझे लगता है कि दूसरा दृष्टिकोण सबसे अच्छा है। कई वेब ढांचे में बाकी को फिर से लिखने के बिना किसी अन्य दृश्य तर्क पर स्विच करना आसान हो जाता है (इसकी महिमा में एमवीसी पैटर्न)।

+0

मैंने ऐप में एक अलग दृश्य का उपयोग करने के बारे में सोचा नहीं था। साफ विचार जंगली में इस पैटर्न के उदाहरण? – phillipadsmith

+0

डब्ल्यूएपी 1 और नए एमएचटीएमएल के बीच स्विच करने के बारे में एक दिलचस्प लेख यह है: http://mobiforge.com/developing/story/creating-mobile-sites-drupal-using-multisites। यह ड्रोपल को संबोधित करता है लेकिन इसमें कई रोचक कोड उदाहरण हैं। नए उपकरणों (आईओएस, एंड्रॉइड इत्यादि) के बीच स्विच करने के लिए मुझे लगता है कि jQuery मोबाइल जैसे ढांचे बहुत उपयोगी हैं क्योंकि उनमें से प्रत्येक के लिए एक नया नया वाक्यविन्यास देने की आवश्यकता नहीं है। जैसा कि आपने उल्लेख किया है, सेन्चा भी एक समाधान है, लेकिन मुझे लगता है कि इसका मोबाइल समाधान के लिए 'बड़ा' तरीका है (और मुझे यह नहीं लगता कि यह कंपनी समुदाय संचालित परियोजनाओं को कैसे लेती है और उन्हें बेचती है)। – Johni

1

मेरे पास आपके लिए दो उदाहरण हैं।

  1. कैसे फेसबुक XHP का उपयोग कर इस अलग मार्कअप के लिए सार विभिन्न उत्पादन देने के लिए प्राप्त होता है के बारे में पढ़ें: One Mobile Site to Serve Thousands of Phones

    वहाँ उनके वास्तविक क्रियान्वयन जो मैं चाहता हूँ उपलब्ध था में अच्छी चीजें का एक बहुत हो जाएगा।

  2. मैं HawHaw नामक एक ढांचे का उपयोग करता हूं, जो आपको एक बार (PHP ऑब्जेक्ट्स या एक्सएमएल फाइलों में) लिखने देता है और यह कुछ चेक (स्वीकृति हेडर, एजेंट स्ट्रिंग इत्यादि) के आधार पर डिवाइस पर सही मार्कअप आउटपुट करता है।

+0

सुपर-सहायक, डेविड। धन्यवाद। मैं कुछ दिनों के लिए छुट्टी पर जा रहा हूं, लेकिन मेरी वापसी पर उन लिंक की जांच करेगा। :) – phillipadsmith

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