वेबकिट
| File:WebKit logo (2015).svg | |
| Original author(s) | Apple Inc.[1][2] |
|---|---|
| Developer(s) | Apple Inc., Adobe Systems, Sony, KDE, Igalia, and others |
| Initial release | November 4, 1998 (KHTML released) June 7, 2005 (WebKit sourced) |
| Preview release | Nightly[3]
|
| Repository | https://github.com/WebKit/WebKit |
| Written in | C++[4] |
| Operating system | macOS, iOS, Linux,[5] Microsoft Windows[6][7] |
| Type | Browser engine |
| License | LGPLv2.1 (rendering engine, JavaScript engine), BSD 2-Clause (additional contributions from Apple)[8] |
| Website | webkit |
वेबकिट (webkit) एक ब्राउज़र इंजन है जिसे एप्पल द्वारा विकसित किया गया है और मुख्य रूप से इसके सफारी वेब ब्राउज़र के साथ-साथ किसी भी वेब ब्राउज़र के iOS और आईपैड OS संस्करण में उपयोग किया जाता है। वेबकिट का उपयोग ब्लैकबेरी ब्राउजर, PS3 से प्रारंभ होने वाले प्लेस्टेशन कंसोल, टिज़ेन मोबाइल ऑपरेटिंग सिस्टम,ऐमज़ान किन्डल ई बुक्स रीडर के साथ सम्मिलित एक ब्राउज़र और इंटरनेट ब्राउज़र (निनटेनडो 3DS) से प्रारंभ होकर निनटेनडो कंसोल पर भी किया जाता है। वेबकिट का C ++ अप्लिकेशन प्रोग्रामिंग इंटरफेस (API) विंडो (कंप्यूटिंग) में वर्ल्ड वाइड वेब सामग्री प्रदर्शित करने के लिए कंप्यूटर प्रोग्रामिंग का एक समूह प्रदान करता है, और ब्राउज़र सुविधाओं को लागू करता है जैसे कि उपयोगकर्ता द्वारा क्लिक किए जाने पर लिंक का अनुसरण करना, बैक-फ़ॉरवर्ड सूची का प्रबंधन करना और हाल ही में देखे गए पृष्ठों के इतिहास का प्रबंधन करना।
वेबकिट KDE से KHTML और KJS (सॉफ्टवेयर) लाइब्रेरी के एक फोर्क (सॉफ्टवेयर विकास) के रूप में प्रारंभ हुआ,[1][9] और तब से KDE योगदानकर्ताओं, एप्पल, गूगल, नोकिया, [9]बिटस्ट्रीम इंक, ब्लैकबेरी लिमिटेड, सोनी, इगलिया और अन्य द्वारा विकसित किया गया है।[10] वेबकिट macOS, माइक्रोसॉफ्ट विंडोज, लिनक्स, और कई अन्य यूनिक्स-जैसे ऑपरेटिंग सिस्टम का समर्थन करता है।[11] 3 अप्रैल, 2013 को, गूगल ने घोषणा की कि उसने वेबकोर, वेबकिट के एक घटक को ब्लिंक (ब्राउज़र इंजन) नाम के अंतर्गत गूगल क्रोम और ओपेरा (वेब ब्राउज़र) के भविष्य के संस्करणों में उपयोग करने के लिए फोर्क किया था।[12][13]
वेबकिट BSD 2-अधिनियम लाइसेंस के अंतर्गत उपलब्ध है।[14][8] वेबकोर और जावास्क्रिप्टकोर घटकों के अपवाद के साथ, जो GNU लेसर जनरल पब्लिक लाइसेंस के तहत उपलब्ध हैं। 7 मार्च, 2013 तक, वेबकिट, एप्पल का एक ट्रेडमार्क है, जो U.S. पेटेंट और ट्रेडमार्क कार्यालय के साथ पंजीकृत है।[15]
उत्पत्ति
कोड जो वेबकिट बन जाएगा, 1998 में KDE HTML (KHTML) लेआउट इंजन और KDE जावास्क्रिप्ट (KJS (सॉफ्टवेयर)) इंजन के रूप में प्रारंभ हुआ। 25 जून 2001 को डॉन मेल्टन द्वारा एप्पल के अंदर वेबकिट परियोजना प्रारंभ किया गया था।[16] KHTML और KJS (सॉफ़्टवेयर) के सॉफ्टवेयर फोर्क के रूप में। मेल्टन ने KDE विकासकर्ता को ई-मेल में समझाया[1] कि KHTML और KJS (सॉफ़्टवेयर) छोटे होने (कोड की 140,000 पंक्तियों से कम), बिना कोई गलती से डिज़ाइन और मानकों के अनुरूप होने के कारण अन्य उपलब्ध तकनीकों की तुलना में आसान विकास की स्वीकृति देते हैं। KHTML और KJS को व्यवस्थापक लाइब्रेरी (कम्प्यूटिंग) की मदद से OS X में पोर्ट किया गया और वेबकोर और जावास्क्रिप्टकोर का नाम परिवर्तित दिया गया।[1] एप्पल के परिवर्तनों की पहले प्रकाशन के साथ, जून 2002 में एक KDE प्रेषित सूची के लिए एक ई-मेल में जावास्क्रिप्टकोर की घोषणा की गई थी।[17]
एप्पल के अनुसार, कुछ परिवर्तन जो विभिन्न विकास योजना के लिए आवश्यक थे, उनमें OS X- विशिष्ट विशेषताएँ सम्मिलित थीं जो KDE के KHTML में अनुपस्थित थीं, जैसे कि प्रयोजन-C, KWQ (उच्चारण क्वैक) KHTML को कार्य करने के लिए आवश्यक Qt के उपसमुच्चय का कार्यान्वयन OS X उद्देश्य C ++ में लिखा गया है, और OS X कहलाता है।[18]
विभाजित विकास
वेबकोर और KHTML के बीच कोड का आदान-प्रदान तेजी से कठिन हो गया क्योंकि कोड आधार अलग हो गया क्योंकि दोनों परियोजनाओं में कोडिंग और कोड साझा करने के अलग-अलग दृष्टिकोण थे।[19] एक बिंदु पर KHTML विकासकर्ता ने कहा कि वे एप्पल के परिवर्तनों को स्वीकार करने की संभावना नहीं रखते थे और दावा किया कि दोनों समूहों के बीच संबंध एक दुःखद विफलता थी।[20] एप्पल ने बड़े भाग में अपने परिवर्तन प्रस्तुत किए जिनमें अपर्याप्त प्रलेखन के साथ प्रायः कोडबेस में भविष्य के परिवर्धन के संबंध में कई परिवर्तन सम्मिलित थे। इस प्रकार, ये भाग KDE विकासकर्ता के लिए KHTML में वापस एकीकृत करने के लिए कठिन थे।[21] इसके अतिरिक्त, एप्पल ने मांग की थी कि विकासकर्ता एप्पल के स्रोत कोड को देखने से पहले गैर-प्रकटीकरण समझौतों पर हस्ताक्षर करें और तब भी वे एप्पल के बग डेटाबेस तक पहुँचने में असमर्थ थे।[22]
प्रकाशित ''डिवोर्स'' की अवधि के समय, KDE विकासकर्ता कर्ट फ़ेफ़िले (पिपिटास) ने एक लेख प्रविष्ट किया जिसमें दावा किया गया कि KHTML विकासकर्ता वेबकोर से KHTML में कई (लेकिन सभी नहीं) सफारी संशोधन को बैकपोर्ट करने में प्रबन्धित रहे, और उन्होंने सदैव ऐप्पल से आने वाले संशोधन की सराहना की और अभी भी करते हैं। लेख में यह भी उल्लेख किया गया है कि आपसी संबंध और भविष्य के सहयोग के तरीकों को सुधारने के बारे में चर्चा करने के लिए एप्पल ने KHTML विकासकर्ता से संपर्क करना प्रारंभ कर दिया है।[23] वस्तुतः, KDE परियोजना KHTML की प्रतिपादन गति में सुधार करने और Acid2 प्रतिपादन परीक्षण के स्वीकृति सहित सुविधाओं को जोड़ने के लिए इनमें से कुछ परिवर्तनों को सम्मिलित करने में सक्षम थी।[24]
सूचना में फोर्क के खंड की उपस्थिति के बाद, ऐप्पल ने सार्वजनिक संशोधन-नियंत्रण भंडार में वेबकिट फोर्क का स्रोत कोड प्रकाशित किया।[25]
वेबकिट टीम ने मूल वेबकिट कोड आधारित में कई एप्पल-विशिष्ट परिवर्तनों को उत्क्रमित कर दिया था और अन्य प्लेटफ़ॉर्म पर कोर प्रस्तुतीकरण कोड को समर्पण करने के लिए प्लेटफ़ॉर्म-विशिष्ट निष्कर्षण स्तरों को लागू किया था।[26]
जुलाई 2007 में, Ars टेचनिका ने बताया कि KDE समूह KHTML से वेबकिट में जाएगी।[27] हालांकि, कई वर्षों के एकीकरण के बाद, KDE विकास प्लेटफार्म संस्करण 4.5.0 अगस्त 2010 में वेबकिट और KHTML दोनों के समर्थन के साथ प्रकाशित किया गया था, और KHTML का विकास बनाए रखता है।[28]
मुक्त-स्रोत
7 जून 2005 को, सफ़ारी विकासकर्ता डेव हयात ने अपने वेबलॉग पर घोषणा की कि एप्पल वेबकिट को मुक्त-स्रोत कर रहा था ( पूर्व में, केवल वेबकोर और जावास्क्रिप्टकोर ही मुक्त-स्रोत थे) और वेबकिट के संशोधन नियंत्रण ट्री और प्रकाशन ट्रैकर तक अभिगम पता लगा रहा था।[25]
दिसंबर 2005 के मध्य में, स्केलेबल वेक्टर ग्राफिक्स (SVG) के लिए समर्थन को मानक निर्माण में मिला दिया गया था।[29]
वेबकिट के जावास्क्रिप्ट-कोर और वेबकोर घटक GNU लेसर जनरल पब्लिक लाइसेंस के अंतर्गत उपलब्ध हैं, जबकि शेष वेबकिट BSD 2-अधिनियम लाइसेंस के अंतर्गत उपलब्ध है।[8]
आगे का विकास
This section needs to be updated. (July 2015) |
2007 की प्रारंभ में, विकास दल ने परिवर्तनशील वर्तिका पत्र (CSS) एक्सटेंशन को लागू करना प्रारंभ किया, जिसमें CSS एनिमेशन, संक्रमण और 2D और 3D रूपांतरण दोनों सम्मिलित हैं;[30] मानकीकरण के लिए 2009 में वर्ल्ड वाइड वेब संघ (W3C) को कार्यकारी प्रारूप के रूप में ऐसे एक्सटेंशन प्रकाशित किए गए थे।[31]
नवंबर 2007 में, परियोजना ने घोषणा की कि उसने HTML5 प्रारूप विनिर्देशन की मीडिया सुविधाओं के लिए समर्थन जोड़ा है, जिससे सन्निहित वीडियो को मूल रूप से प्रस्तुत किया जा सकता है और वेबकिट में लेख-नियंत्रित किया जा सकता है।[32]
2 जून, 2008 को, वेबकिट परियोजना ने घोषणा की कि उन्होंने जावास्क्रिप्टकोर को स्क्विरेलफिश, एक बाईटकोड व्याख्यात्मक (कंप्यूटिंग) के रूप में पुनः लिखा है।[33][34] 18 सितंबर, 2008 को घोषित स्क्विरेलफिश अधिकतम मात्रा (संक्षिप्त SFX) में विकसित हुई परियोजना, जो जावास्क्रिप्ट को मूल मशीन कोड में संकलित करती है, एक बाईटकोड व्याख्यात्मक की आवश्यकता को समाप्त करती है और इस प्रकार जावास्क्रिप्ट निष्पादन को गति देती है।[35] प्रारंभ में, SFX के लिए एकमात्र समर्थित प्रोसेसर संरचना x86 था, लेकिन जनवरी 2009 के अंत में, SFX को OS X के लिए x86-64 पर सक्षम किया गया था क्योंकि यह उस प्लेटफॉर्म पर सभी परीक्षण पारित करता है।[36]
वेबकिट2 (WEBKIT2)
8 अप्रैल, 2010 को वेबकिट2 नामक एक परियोजना को वेबकिट को पुनः डिज़ाइन करने की घोषणा की गई। इसका लक्ष्य उन घटकों को संक्षिप्त करना था जो अपने आसपास के इंटरफ़ेस या एप्लिकेशन शेल से आसानी से वेब प्रस्तुतीकरण प्रदान करते हैं, एक ऐसी स्थिति बनाते हैं जहां वेब सामग्री (जावास्क्रिप्ट, HTML, लेआउट आदि) एप्लिकेशन UI से अलग प्रक्रिया में रहती है। इस सारांश का उद्देश्य वेबकिट2 की तुलना में वेबकिट2 के लिए पुन: उपयोग को अधिक सरल प्रक्रिया बनाना था। वेबकिट2 में मूल वेबकिट से असंगत API परिवर्तन था, जिसने इसके नाम परिवर्तन को प्रेरित किया।[37]
वेबकिट2 लक्ष्य लिनक्स, MacOS, विंडोज, GTK, और मीगो-हरमटन पर स्थापित किए गए थे।[38][39] OS X के लिए सफारी संस्करण 5.1 के साथ नए API में परिवर्तित गया।[40] iOS 8 के बाद से iOS के लिए सफारी वेबकिट2 में परिवर्तित गया।[41]
मूल वेबकिट API का नाम परिवर्तित कर वेबकिट-लेगसी API कर दिया गया है।[42] वेबकिट2 API का नाम परिवर्तित कर सामान्य वेबकिट API कर दिया गया है।[43]
प्रयोग
वेबकिट का उपयोग सफारी (वेब ब्राउज़र) के अंदर प्रस्तुतीकरण इंजन के रूप में किया जाता है और पूर्व में विंडोज, macOS, और एंड्रॉयड (ऑपरेटिंग सिस्टम) (संस्करण 4.4 किटकैट से पहले) पर गूगल के गूगल क्रोम वेब ब्राउज़र द्वारा उपयोग किया जाता था। क्रोम केवल वेबकोर का उपयोग करता है, और इसमें क्रोम V8 नामक अपना स्वयं का जावास्क्रिप्ट इंजन और एक मल्टीप्रोसेस सिस्टम सम्मिलित है।[44] iOS के लिए क्रोम वेबकिट का उपयोग करना निरंतर रखता है क्योंकि एप्पल के लिए यह आवश्यक है कि उस प्लेटफ़ॉर्म पर सम्मिलित वेब ब्राउज़र अवश्य करें.[45] MacOS और iOS पर अन्य एप्लिकेशन वेबकिट का उपयोग करते हैं, जैसे कि एप्पल का ई-मेल क्लाइंट मेल (एप्पल), ऐप स्टोर, और माइक्रोसॉफ्ट के माइक्रोसॉफ्ट अनुगामी व्यक्तिगत सूचना प्रबंधक का 2008 का संस्करण, दोनों ही HTML सामग्री को प्रस्तुत करने के लिए वेबकिट का उपयोग करते हैं।
स्थापित आधार
वेबकिट के आसपास नए वेब ब्राउज़र बनाए गए हैं जैसे कि S60 (सॉफ्टवेयर प्लेटफॉर्म) ब्राउज़र[46] सिम्बियन मोबाइल फोन पर, ब्लैकबेरी ब्राउज़र (वर्शन 6.0+), मिडोरी, क्रोम ब्राउजर),[47][48]संस्करण 4.4 किटकैट से पहले का Android वेब ब्राउज़र, और संस्करण 4.10 से प्लेस्टेशन 3 सिस्टम सॉफ़्टवेयर में उपयोग किया जाने वाला ब्राउज़र।[49] KDE का रेकोनक वेब ब्राउज़र और प्लाज्मा कार्यक्षेत्र भी इसे मूल वेब प्रस्तुतीकरण इंजन के रूप में उपयोग करते हैं। वेबकिट को उनके मूल प्रस्तुतीकरण इंजनों की जगह ओमनीवेब, आईकैब और वेब (पूर्व नाम एपिफेनी) और स्लीपनिर में प्रस्तुतीकरण इंजन के रूप में अपनाया गया है।, जो उनके मूल प्रस्तुतीकरण इंजनों की जगह ले रहा है। GNOME's के वेब ने कुछ समय के लिए गेको (लेआउट इंजन) और वेबकिट दोनों का समर्थन किया, लेकिन टीम ने फैसला किया कि गेको का प्रकाशऩ चक्र और भविष्य की विकास योजनाएँ इसे समर्थन निरंतर रखने के लिए बहुत जटिल बना देंगी।[50] webOS अपने एप्लिकेशन रनटाइम के आधार पर वेबकिट का उपयोग करता है।[51] वेबकिट का उपयोग HTML को प्रस्तुत करने और एडोब इंटीग्रेटेड रनटाइम एप्लिकेशन प्लेटफ़ॉर्म में जावास्क्रिप्ट चलाने के लिए किया जाता है। एडोब क्रिएटिव सूट CS5 में, वेबकिट का उपयोग उपयोगकर्ता इंटरफ़ेस के कुछ भागों को प्रस्तुत करने के लिए किया जाता है। 2010 के पूर्वार्ध तक, एक विश्लेषक ने वेबकिट-आधारित ब्राउज़र के साथ भेजे गए मोबाइल हैंडसेट की कुल संख्या 350 मिलियन होने का अनुमान लगाया।[52] अप्रैल 2015 के मध्य तक, वेब ब्राउज़र का वेबकिट उपयोग भाग 50.3% था।[53]
पोर्ट
हयात द्वारा वेबकिट के मुक्त- स्रोत की घोषणा करने के एक हफ्ते बाद, नोकिया ने घोषणा की कि उसने वेबकिट को सिम्बियन ऑपरेटिंग सिस्टम में पोर्ट कर लिया है और S60 चलाने वाले मोबाइल फोन के लिए वेबकिट पर आधारित एक ब्राउज़र विकसित कर रहा है। S60 के लिए नामित वेब ब्राउज़र, इसका उपयोग नोकिया, सैमसंग, LG और अन्य सिम्बियन S60 मोबाइल फोन पर किया गया था। एप्पल ने आईफोन, आइपॉड टच और आईपैड पर चलाने के लिए वेबकिट को iOS में भी पोर्ट किया है, जहाँ इसका उपयोग उपकरण के वेब ब्राउज़र और ई-मेल सॉफ़्टवेयर में सामग्री प्रस्तुत करने के लिए किया जाता है।[54] एंड्रॉयड (ऑपरेटिंग सिस्टम) मोबाइल फ़ोन प्लेटफ़ॉर्म ने अपने वेब ब्राउज़र के आधार के रूप में वेबकिट (और इसके ब्लिंक (ब्राउज़र इंजन) के बाद के संस्करण) का उपयोग किया[55][56][57] और जनवरी 2009 में घोषित पाम प्री में वेबकिट पर आधारित एक इंटरफेस है।[58] ऐमज़ान किन्डल 3 में एक प्रयोगात्मक वेबकिट आधारित ब्राउज़र सम्मिलित है।[59]
जून 2007 में, एप्पल ने घोषणा की कि वेबकिट को सफारी के भाग के रूप में माइक्रोसॉफ्ट विंडोज में पोर्ट कर दिया गया है। हालाँकि विंडोज के लिए सफारी को नीरवता से बंद कर दिया गया था[60] कंपनी द्वारा, माइक्रोसॉफ्ट के ऑपरेटिंग सिस्टम के लिए वेबकिट के पोर्ट अभी भी सक्रिय रूप से बनाए हुए हैं।[61][62] विंडोज पोर्ट काम करने के लिए एप्पल के स्वाम्य पुस्तकालय का उपयोग करता है और इसका उपयोग आईक्लाउड के लिए[63] और आईट्यून[64] विंडोज के लिए किया जाता है जबकि विनकैरो पोर्ट पूरी तरह से मुक्त-स्रोत और पुनर्वितरण योग्य पोर्ट है।[65][66]
वेबकिट को कई टूलकिट में पोर्ट किया गया है जो कई प्लेटफॉर्म का समर्थन करता है, जैसे कि लिनक्स के लिए GTK टूलकिट, वेबकिट GTK नाम के अंतर्गत जिसका उपयोग एलॉइए (Eolie),[67] गनोम वेब,[68][69] एडोब इंटीग्रेटेड रनटाइम, EFL, और क्लटर (सॉफ्टवेयर) टूलकिट द्वारा किया जाता है।[70] Qt सॉफ़्टवेयर में Qt वेबकिट नामक मॉड्यूल के रूप में Qt 4.4 प्रकाशऩ में एक वेबकिट पोर्ट सम्मिलित था[71] (चूंकि Qt वेबइंजन द्वारा प्रतिस्थापित किया गया, जो हालांकि ब्लिंक का उपयोग करता है)। Qt पर आइरिस ब्राउज़र ने भी वेबकिट का उपयोग किया। EFL पोर्ट-E-वेबकिट -(सैमसंग और प्रोफ़्यूज़न) द्वारा विकसित किया गया था [72] स्टैंड अलोन ब्राउज़र, विजेट्स-गैजेट्स, रिच टेक्स्ट व्यूअर और कंपोजर के रूप में उपयोग के लिए सन्निहित और मोबाइल सिस्टम पर ध्यान केंद्रित करना।[citation needed] क्लटर पोर्ट Collabora (सहयोग) द्वारा विकसित किया गया है और रॉबर्ट बॉश GmbH द्वारा प्रायोजित है।
वेबकिट (प्लेयों द्वारा प्रायोजित) के साथ समन्वयित की गई एक परियोजना भी थी[73] जिसे ओरिजिन वेब ब्राउजर कहा जाता है, जो सन्निहित या प्रभावहीन सिस्टम को जल्दी और आसानी से पोर्ट करने के उद्देश्य से एक अमूर्त प्लेटफार्म के लिए एक मेटा-पोर्ट प्रदान करता है।[74] इस पोर्ट का उपयोग सन्निहित उपकरणों जैसे सेट-टॉप बॉक्स, PMP के लिए किया जाता है और इसे AmigaOS, AROS,[75][76] प्रतीक्षा करें[77] और मॉर्फोस। MorphOS संस्करण 1.7 HTML5 मीडिया टैग का समर्थन करने वाले ओरिजिन वेब ब्राउज़र (OWB) का पहला संस्करण है।[78][79]
एंबेडेड के लिए वेब प्लेटफॉर्म
एंबेडेड के लिए वेब प्लेटफॉर्म (डब्ल्यूपीई) एक वेबकिट पोर्ट है जिसे एम्बेडेड अनुप्रयोगों के लिए डिज़ाइन किया गया है; यह बुनियादी रेंडरिंग फंक्शनल ब्लॉक को एक सामान्य-उद्देश्य रूटीन लाइब्रेरी (libwpe), प्लेटफ़ॉर्म बैकएंड और स्वयं इंजन (WPE WebKit कहा जाता है) में विभाजित करके आर्किटेक्चर को और बेहतर बनाता है। जीटीके पोर्ट, हालांकि स्व-निहित, इसके आंतरिक प्लेटफॉर्म समर्थन कार्यान्वयन के बजाय इन आधार पुस्तकालयों का उपयोग करने के लिए बनाया जा सकता है। WPE पोर्ट वर्तमान में Igalia द्वारा अनुरक्षित है।
Google द्वारा फोर्किंग
3 अप्रैल, 2013 को, Google ने घोषणा की कि वह वेबकिट के वेबकोर घटक का एक कांटा तैयार करेगा, जिसे ब्लिंक (लेआउट इंजन) नाम दिया जाएगा। क्रोम के डेवलपर्स ने ब्राउजर में वेबकोर की सुविधाओं को लागू करने में अधिक स्वतंत्रता की अनुमति देने के लिए कांटे पर निर्णय लिया, और क्रोम द्वारा अप्रयुक्त वेबकोर घटकों के लिए कोड को हटाकर इसके कोडबेस को सरल बनाने की अनुमति दी। वर्ष के प्रारंभ में ओपेरा सॉफ्टवेयर की घोषणा के संबंध में कि यह क्रोमियम (वेब ब्राउज़र) कोडबेस के माध्यम से वेबकिट पर स्विच करेगा, यह पुष्टि की गई कि ओपेरा (वेब ब्राउज़र) भी ब्लिंक पर स्विच करेगा।[44] और MorphOS में पोर्ट किया गया है। MorphOS संस्करण 1.7 HTML5 मीडिया टैग का समर्थन करने वाले ओरिजिन वेब ब्राउज़र (OWB) का पहला संस्करण है।[80]
अवयव
वेबकोर
वेबकोर HTML और स्केलेबल वेक्टर ग्राफिक्स (SVG) के लिए एक लेआउट, प्रस्तुतीकरण और दस्तावेज़ वस्तु मॉडल (DOM) लाइब्रेरी (कंप्यूटिंग) है, जिसे वेबकिट परियोजना द्वारा विकसित किया गया है। इसका पूर्ण स्रोत कोड GNU लेसर जनरल पब्लिक लाइसेंस (LGPL) के अंतर्गत लाइसेंस प्राप्त है। वेबकिट रूपरेखा वेबकोर और जावास्क्रिप्टकोर को सम्मिलित करता है, C++-आधारित वेबकोर प्रस्तुतीकरण इंजन और जावास्क्रिप्टकोर स्क्रिप्ट इंजन को एक सामान्य उद्देश्य-C एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस प्रदान करता है, जिससे इसे Cocoa (कॉकोआ) API पर आधारित एप्लिकेशन द्वारा आसानी से संदर्भित किया जा सकता है; बाद के संस्करणों में एक क्रॉस-प्लेटफ़ॉर्म C++ प्लेटफ़ॉर्म सारांशन भी सम्मिलित है, और विभिन्न पोर्ट अधिक API प्रदान करते हैं।[citation needed]
वेबकिट पिक्सेल-पूर्ण प्रस्तुतीकरण के साथ Acid2 और Acid3 परीक्षण पारित करता है और संदर्भ हार्डवेयर पर कोई समय या सहजता की समस्या नहीं है।[81]
जावास्क्रिप्टकोर
जावास्क्रिप्टकोर एक ऐसा रूपरेखा है जो वेबकिट कार्यान्वयन के लिए जावास्क्रिप्ट इंजन प्रदान करता है, और macOS केअंदर अन्य संदर्भों में इस प्रकार की स्क्रिप्टिंग(लिपिबद्धन) प्रदान करता है।[17][82] जावास्क्रिप्टकोर मूल रूप से KDE के जावास्क्रिप्ट इंजन (KJS (सॉफ्टवेयर)) लाइब्रेरी (कंप्यूटिंग) (जो KDE परियोजना का भाग है) और PCRE रेगुलर एक्सप्रेशन लाइब्रेरी से लिया गया है। KJS और PCRI से फोर्किंग के बाद से, जावास्क्रिप्टकोर को कई नई सुविधाओं और अधिक अच्छे प्रदर्शन के साथ अधिक अच्छा बनाया गया है।[83]
2 जून, 2008 को, वेबकिट परियोजना ने घोषणा की कि उन्होंने जावास्क्रिप्टकोर को स्क़िररेलफिश, एक बाईटकोड व्याख्यात्मक (कंप्यूटिंग) के रूप में पुनः लिखा है।[84][34] 18 सितंबर, 2008 को घोषणा की गई कि यह परियोजना स्क्विरेलफिश अधिकतम मात्रा (संक्षिप्त SFX, नाइट्रो के रूप में विपणन) में विकसित हुई और जावास्क्रिप्ट निष्पादन को और तेज कर दिया।[85]
13 मई, 2014 को FTL नामक एक अनुकूलतम जस्ट-इन-टाइम (JIT) संकलक की घोषणा की गई।[86] यह अनुकूलित मशीन कोड उत्पन्न करने के लिए LLVM का उपयोग करता है। FTL का अर्थ ''फोर्थ-टियर-LLVM'' है, और अनौपचारिक रूप से फ़ास्टर-देन-लाइट, इसकी गति की ओर संकेत करते हुए।[87] 15 फरवरी, 2016 तक, FTL JIT के बैकएंड को बेयर बोन्स बैकएंड (या संक्षिप्त मे B3) से परिवर्तित दिया गया है।[88]
यह भी देखें
- ब्राउज़र इंजन की तुलना
- वेबकिट-आधारित ब्राउज़र की सूची
संदर्भ
- ↑ 1.0 1.1 1.2 1.3 "'(fwd) Greetings from the Safari team at Apple Computer' – MARC". Lists.kde.org. January 7, 2003. Archived from the original on February 9, 2015. Retrieved May 2, 2017.
- ↑ "Safari is released to the world". Donmelton.com. Retrieved January 13, 2013.
- ↑ "WebKit Nightly Builds". WebKit.org. Archived from the original on April 3, 2016. Retrieved May 27, 2014.
- ↑ "Code Style Guidelines". WebKit.org (in English). Apple, Inc. November 7, 2015. Archived from the original on May 1, 2017. Retrieved May 2, 2017.
- ↑ "WebKit Download". March 30, 2016. Retrieved 14 August 2018.
- ↑ "WebKit on Windows | WebKit". WebKit.org (in English). Apple, Inc. November 7, 2015. Archived from the original on August 8, 2021. Retrieved August 8, 2021.
- ↑ "BuildingCairoOnWindows – WebKit". trac.webkit.org (in English). Apple, Inc. June 8, 2021. Archived from the original on August 8, 2021. Retrieved August 8, 2021.
- ↑ 8.0 8.1 8.2 Licensing WebKit | WebKit
- ↑ 9.0 9.1 "वेबकिट ओपन सोर्स प्रोजेक्ट". Archived from the original on April 10, 2012. Retrieved April 7, 2012.
- ↑ Stachowiak, Maciej (November 9, 2008). "कंपनियां और संगठन जिन्होंने वेबकिट में योगदान दिया है". WebKit Wiki. Retrieved November 17, 2008.
- ↑ "वेबकिट ओपन सोर्स प्रोजेक्ट - कोड प्राप्त करना". Webkit.org.