2010-07-26 9 views
14

मैं एक सीएस ग्रेड छात्र हूं, और मुझे मोज़िला फ़ायरफ़ॉक्स वेब ब्राउज़र के विकास में शामिल होने में कुछ अतिरिक्त समय बिताने में दिलचस्पी है। मैं एचटीएमएल रेंडरर, जावास्क्रिप्ट इंजन इत्यादि में योगदान देना चाहता हूं लेकिन मेरे पास पार्सर्स या इसी तरह की चीजें लिखने में कोई ठोस अनुभव नहीं है, और मेरे पास कहां से शुरू करने के लिए कोई सुराग नहीं है।मोज़िला फ़ायरफ़ॉक्स के विकास में शामिल कैसे हो?

निश्चित रूप से https://developer.mozilla.org/En/Developer_Guide/ में कुछ लिंक हैं लेकिन चूंकि फ़ायरफ़ॉक्स पहले से ही बहुत बड़ी परियोजना है, मुझे नहीं पता कि मुझे कहां से सीखना शुरू करना चाहिए।

तो, मेरा सवाल यह है कि वेब ब्राउजर डेवलपमेंट के साथ शुरू करने के लिए मुझे सबसे पहले क्या सीखना है और जहां से मैं इसे सीख सकता हूं (कोई लिंक)? क्या मुझे संशोधित करना है कि पार्सर्स/कंपाइलर्स कैसे लिखें? मैं HTML रेंडरर/जावास्क्रिप्ट इंजन लिखना कैसे सीखूं? क्या यह भी संभव है कि वे पहले से ही बहुत बड़ी परियोजनाएं हैं? कुछ समय पहले, मैंने वी 8 जावास्क्रिप्ट इंजन (http://code.google.com/p/v8/) का स्रोत कोड डाउनलोड किया था, लेकिन मैं इसके स्रोत कोड से बहुत कुछ नहीं समझ पाया क्योंकि यह अत्यधिक अनुकूलित कोड था, और शुरुआती के लिए मेरे पास शुरुआती के लिए कोई उपयोगी टिप्पणी नहीं थी कि क्या हो रहा है।

अद्यतन: मैं सी, सी ++, जावा, पीएचपी, सी #, वीबी.नेट, जावास्क्रिप्ट के साथ काफी सहज काम कर रहा हूं और मुझे यह जानने में अधिक दिलचस्पी है कि वेब ब्राउजर कैसे वेब पेज का विश्लेषण करता है, यह कैसे काम करता है और डोम को बनाए रखता है , सीएसएस कैसे लागू किया जाता है, एचटीएमएल रीफ्लो इंजन कैसे काम करता है, यह जावास्क्रिप्ट इंजन के साथ कैसे इंटरैक्ट करता है, यह वेब सर्वर के साथ कैसे इंटरैक्ट करता है, स्क्रीन पर घटक कैसे खींचे जाते हैं आदि

+0

यह वास्तव में क्या आप मोज़िला के अंदर काम करना चाहता हूँ, और क्या आप जानते हैं कि भाषाओं/साथ काम करना चाहते पर निर्भर करता है। उस जानकारी के साथ अद्यतन करें, और मैं आपको एक उत्तर प्रदान कर सकता हूं। – sdwilsh

+0

मैं आपको अपडेट करता हूं, लेकिन उन चीज़ों का दायरा जो आप सीखना चाहते हैं वह वास्तव में बड़ा है। बहुत कम (यदि कोई है?) जो लोग सक्रिय हैं मोज़िला योगदानकर्ता अब भी यह सब कुछ कैसे काम करता है। क्या उनमें से एक है जिसे आप पहले हैकिंग शुरू करना चाहते हैं? – sdwilsh

+0

मैं HTML घटकों के मूल प्रतिपादन के साथ शुरू करना चाहता हूं। मैं समझता हूं, प्रतिपादन स्वयं बहुत बड़ा है। क्या इसका कोई सबसेट है जो आप सुझाएंगे (प्रतिपादन के तहत) कि मैं शुरू कर सकता हूं? डीओएम के निर्माण के साथ पहले हो सकता है? –

उत्तर

11

getting started पर दस्तावेज़ पढ़ें। #developers में irc.mozilla.org पर रुको और दिलचस्प बातचीत के लिए देखें। #introduction में खुद को पेश करें और प्रश्न पूछें। http://bugzilla.mozilla.org पर जाएं और दिलचस्प लगने वाले घटकों में खुली बग की खोज शुरू करें, फिर अपनी कल्पना को पकड़ने वाली बगों को देखें। प्रासंगिक कोड का पता लगाने में मदद के लिए http://mxr.mozilla.org/ और http://dxr.mozilla.org जैसे टूल का उपयोग करें, और # डेवलपर में प्रश्न पूछें। जानें, हैक, दोहराना।

मैंने पिछले वर्षों में अपने अनुभवों के बारे में a post लिखा था, और ऐसा लगता है कि मोज़िला डेवलपर्स की एक बड़ी राशि ने उस मार्ग को प्रतिबिंबित किया है।

+0

मुझे आपकी पोस्ट और आपके ब्लॉग पर कई अन्य पोस्ट पसंद हैं। मैं उस पथ का अनुसरण करूंगा जिसे आपने और दूसरों ने सुझाव दिया है। धन्यवाद! –

+1

जोश के "बग्स अहॉय" वेबपैप को अपने कौशल और हितों से मेल खाने में मदद करने के लिए अच्छे पहले कार्यों के लिए भी देखें: http://www.joshmatthews.net/bugsahoy/ – cdleary

+1

http://whatcanidoformozilla.org साइट भी है जो आपके कौशल से मेल खाने वाली परियोजना में शामिल होने में आपकी सहायता करें। –

6

आप ज्ञात बग की एक सूची की समीक्षा करना चाहेंगे और देखें कि क्या आप उन्हें ठीक करने में सक्षम हैं। दरवाजे में पैर पाने का दूसरा संभावित तरीका गुणवत्ता आश्वासन कार्यों में शामिल होना है, जो आपको आवेदन के बेहतर आंतरिक सीखने में मदद करेगा।

+1

एमसीएल सच बोलता है। आप हैकर्स शुरू करने से पहले पार्सर्स या प्रतिपादन के बारे में जानने के लिए सब कुछ सीखना नहीं चाहते हैं, आप कभी शुरू नहीं करेंगे। बस एक बग ढूंढें जो ठीक करने के लिए दिलचस्प लग रहा है, और कोड बेस के चारों ओर अपना रास्ता ढूंढें जब तक कि आप उस बग को ठीक करने के लिए पर्याप्त न समझें। जितना अधिक आप सीखेंगे, उतना ही आप कर सकेंगे। Irc.mozilla.org # डेवलपर में बहुत से सहायक लोग हैं जो आपको अपना रास्ता खोजने में मदद कर सकते हैं। –

+0

और @ टेड मिल्केज़ारेक, सुझावों के लिए धन्यवाद। हो सकता है कि मैं पहली बार एक बग को ठीक करने की कोशिश कर रहा हूं अन्यथा मैं कभी भी शुरू नहीं करूंगा ... –

3

यदि आप पार्सिंग में रूचि रखते हैं, तो परिमित राज्य ऑटोमाटा और औपचारिक ग्रामर सीखें, यह किसी भी समय आपके सीएस पाठ्यक्रम का हिस्सा होना चाहिए, जैसे कि कंपाइलर्स क्लास में। जावास्क्रिप्ट भाग के लिए, जेआईटी कंपाइलर्स के बारे में अध्ययन करें, विशेष रूप से एक ट्रेसिंग जेआईटी कैसे काम करता है। मोज़िला विकास ब्लॉग का पालन करें, यहाँ एक अच्छा प्रारंभिक लेख है: http://hacks.mozilla.org/2010/03/a-quick-note-on-javascript-engine-components/

अंत में, लेकिन कम से कम नहीं महत्वपूर्ण बात,, पहले से ही वहाँ काम कर रहे लोगों से संपर्क करने की कोशिश करते हैं, और एक संरक्षक-छात्र संबंध बनाने की कोशिश वे आप कार्यों प्रदान कर सकते हैं और कर सकते हैं कोड पर काम करते समय अटक जाते हैं तो मदद करें। ओपनसोर्स सम्मेलनों में जाना एक परियोजना के पीछे लोगों से मिलने और योगदान देना शुरू करने का एक शानदार तरीका है।

+0

लिंक और विभिन्न सुझावों के लिए धन्यवाद। –

5

[अच्छी पहली बग] व्हाइटबोर्ड स्थिति के साथ बगजिला में चिह्नित बग शुरू करने के लिए एक अच्छी जगह है। आप सूची here देख सकते हैं।

अपनी पसंद की कुछ ढूंढें और इसे ठीक करने का प्रयास करें! आईआरसी पर डेवलपर्स (irc.mozilla.org में # डेवलपर) आमतौर पर फंस जाते समय मदद करने में खुश होते हैं।

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