5 पॉइंट द्वारा GN⁺ 2023-07-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • WordPress Playground WordPress को बिना installation के प्रयोग और सीखने के लिए एक online tool है, और यह पेज product site नहीं बल्कि आधिकारिक documentation hub की भूमिका निभाता है
  • Documentation, Blueprints, Developers और API Reference में दस्तावेज़ बाँटे गए हैं, जो क्रमशः शुरू करने का तरीका, JSON-आधारित configuration, code integration और API reference बताते हैं
  • यूज़र 5 मिनट के भीतर नई WordPress site चला सकते हैं और blocks, themes, plugins आज़मा सकते हैं या किसी खास WordPress/PHP version को test कर सकते हैं
  • डेवलपर अपने उद्देश्य के अनुसार Query API, Blueprints API, JavaScript API में से तरीका चुन सकते हैं, और Playground को zero-configuration local development environment के रूप में इस्तेमाल कर सकते हैं
  • यह browser sandbox के अंदर चलता है और backend/authentication पर dependency कम है, इसलिए तेज़ demo, prototype और AI-generated experiment environments के लिए उपयुक्त है

WordPress Playground documentation hub

  • आधिकारिक Playground website wordpress.org/playground/ पर चली गई है, और यह पेज documentation entry point के रूप में इस्तेमाल होता है
  • WordPress Playground, WordPress को प्रयोग करने और सीखने के लिए एक online tool है
  • दस्तावेज़ चार hubs से बने हैं
    • Documentation: WordPress Playground परिचय, getting started guide, documentation entry point
    • Blueprints: Playground instance को configure करने वाली JSON file documentation
    • Developers: code में Playground का उपयोग करने के तरीके
    • API Reference: WordPress Playground द्वारा expose किए गए सभी APIs का reference

शुरुआत और development flow

  • पहली बार उपयोग करने वाले लोग Quick Start Guide से नया WordPress site बनाना, blocks/themes/plugins test करना, और किसी खास WordPress/PHP version को test करना जल्दी शुरू कर सकते हैं
  • Playground web instance, https://playground.wordpress.net/ पर उपलब्ध Playground instance को cover करता है
  • About Playground में Playground की सुरक्षा, उपयोग के तरीके और मौजूदा limitations देखे जा सकते हैं
    • Build, Test, Launch दस्तावेज़ों के ज़रिये product development, validation और launch में Playground का उपयोग करने का flow देखा जा सकता है
  • Guides step-by-step instructions और उपयोग के तरीकों का संग्रह है, और Links and resources संबंधित resources का संग्रह है

पहले कदम और API चयन

  • पहले कदम के रूप में Start using WordPress Playground के ज़रिये 5 मिनट के भीतर शुरू किया जा सकता है, और demo site देखी जा सकती है
    • डेवलपर Get started for developing से अपना पहला app develop करना शुरू कर सकते हैं
    • Playground को zero-configuration local development environment के रूप में भी इस्तेमाल किया जा सकता है
    • मौजूदा limitations अलग दस्तावेज़ में देखी जा सकती हैं
  • और गहराई से इस्तेमाल करने के लिए पहले Playground APIs और बुनियादी concepts देखने का flow सुझाया जाता है
    • Query API: सिर्फ query parameters से बुनियादी काम करता है
    • Blueprints API: एक आसान JSON file के साथ high-level control देता है
    • JavaScript API: npm package के JavaScript client के साथ full control देता है
    • architecture दस्तावेज़ में इसके काम करने के तरीके को और गहराई से देखा जा सकता है

योगदान और AI उपयोग

  • WordPress Playground एक open source project है और code, design, documentation व triage contributions स्वीकार करता है
    • contributors Contributors Handbook देख सकते हैं
    • Slack के #playground channel में शामिल हो सकते हैं, और join करने की जानकारी WordPress Slack page पर है
    • सभी contributors को Code of Conduct का पालन करना होगा
  • Playground को AI coding agents और AI-based tools के साथ इस्तेमाल करने के लिए design किया गया है
    • यह WebAssembly में पूरी तरह client-side चलता है, authentication और backend की ज़रूरत नहीं होती, और browser sandbox के बाहर कोई persistent side effects नहीं छोड़ता
    • Using Playground with AI agents: Claude Code, Cursor, Gemini CLI, GitHub Copilot आदि में wp-playground skill install करके command execution सौंपा जा सकता है
    • AI-readable site index: Playground features, APIs और documentation का machine-readable llms.txt summary
    • AGENTS.md: इस codebase में योगदान देने वाले AI coding agents के लिए guidelines
  • WordPress Playground GNU General Public License version 2 या बाद की versions की शर्तों वाला free software है, और पूरा license LICENSE.md में है

1 टिप्पणियां

 
GN⁺ 2023-07-15
Hacker News की राय
  • इसे कम-कीमत वाले Android टैबलेट के Firefox में आज़माया; response तुरंत नहीं है, लेकिन किसी ठीक-ठाक cloud instance या VPS पर पूरा LAMP stack चलाने से बहुत अलग नहीं लगा, जो काफ़ी हैरान करने वाला है
    इसमें पूरा PHP interpreter, WordPress codebase की हज़ारों lines, और SQLite तक शामिल हैं। फिर भी यह काफ़ी उपयोगी है, यही सबसे प्रभावशाली बात है

    • मुझे हमेशा लगा है कि WordPress की performance low-end और high-end hardware पर बहुत अलग नहीं होती। आख़िरकार bottleneck खुद WordPress ही लगता है
  • इसे चलाने का तरीका बहुत modern है: PHP को WebAssembly binary के रूप में चलाया जाता है, MySQL को WordPress plugin के ज़रिए SQLite से बदला जाता है, और web server को JavaScript Service Worker के रूप में implement किया गया है

  • “मोबाइल डिवाइस के लिए note app, automation testing environment, यहाँ तक कि साइट पर चलने वाला WooCommerce demo भी Playground support करता है” इस पंक्ति में पीछे की दो बातें तो पूरी तरह समझ आती हैं, लेकिन browser के अंदर WebAssembly पर PHP चलाने वाला WordPress-आधारित mobile app बनाने का विचार दिमाग़ घुमा देता है

    • note app वास्तव में मौजूद है: https://wptavern.com/blocknotes-app-runs-wordpress-natively-...
    • यह काफ़ी हद तक समझ में आता है। PHP web stack, Python या Node की तुलना में बहुत हल्का है, इसलिए इसे browser में embed किया जा सकता है, यह स्वाभाविक लगता है
  • WordPress पर HN की राय बुरी तरह बँटी हुई है। एक पक्ष WordPress को ऐसा value-multiplying tool मानता है जो non-developers को coding की चिंता किए बिना अपने असली काम पर ध्यान देने देता है, और दूसरा पक्ष इसके गंदे codebase से नफ़रत करता है जबकि वे अक्सर ऐसे बेहतरीन format किए हुए, अत्यधिक extensible code के पीछे पड़े रहते हैं जिसे असल में शायद ही कोई इस्तेमाल करेगा
    WordPress वेब के आधे से ज़्यादा हिस्से को चलाता है। यह शायद सबसे बेहतरीन tech नहीं है, शायद सबसे ख़राब tech भी हो सकती है, लेकिन बहुत से programmers जो सबक बार-बार चूक जाते हैं वह यह है कि किसी को फ़र्क नहीं पड़ता कि sausage कैसे बनती है

    • band जैसी छोटी utility site बनाते समय मैं इस बात से पूरी तरह सहमत हूँ। सस्ती hosting पर जैसे-तैसे डाल दो और उम्मीद करो कि band टूट जाए उससे पहले Google Calendar integration टूटे, तो इतना काफ़ी है
      लेकिन मैं अभी एक पुरानी और बेतरतीब WordPress site की third-party SSO को एक नई और उतनी ही बेतरतीब WordPress site में migrate करने का काम टाल रहा हूँ, तो थोड़ा मन हल्का कर लूँ: एक तीसरा समूह भी होता है जो पहली category के लोगों को sausage कैसे बनती है इसकी चिंता किए बिना काम करने लायक बनाए रखता है।
      मैं लगभग 14 साल से यह काम कर रहा हूँ, एक मध्यम आकार की university की लगभग 300 WordPress sites host कर चुका हूँ, .gov sites बनाई और maintain की हैं, और Gutenberg team की दिशा के कारण तीन काफ़ी अलग patterns में कई React-आधारित blocks भी बनाए हैं। server deployment से लेकर IE6 के लिए CSS fixes, किसी मौजूद न रहने वाले CMS से हज़ारों pages और दसियों हज़ार images खुरचकर WordPress में migrate करना, WP-CLI commands लिखना, multisite में calendar events को जबरन propagate कराने वाला code लिखना—सब कर चुका हूँ।
      किसी न किसी को तो यह जानना पड़ता है कि sausage कैसे बनती है, और मुझे पता है। इसलिए मुझे यह भी पता है कि WordPress कितना अस्थिर कूड़े का ढेर है। मैंने बेहतर tools और समझ में आने वाले databases वाले सचमुच उपयोगी codebases पर भी काम किया है, और यह भी जानता हूँ कि दूसरी platforms में भी समस्याएँ होती हैं, लेकिन WordPress सच में बहुत बुरा है
      इसलिए इसकी बुराई करने में मुझे कोई हिचक नहीं है। मैं पूरी तरह burnout हो चुका हूँ, यहाँ तक कि कभी-कभी लगता है सब छोड़कर ट्रक में रहूँ और बस संगीत करूँ। यह एक घटिया platform है, और इसे चलता रखने के काम के लिए लोगों से ठीक से पैसे भी नहीं मिलते। आख़िरकार परिस्थितियों की वजह से लोग फिर इसी जलती हुई इमारत जैसे WordPress पर लौट आते हैं, और इस platform के प्रति सामूहिक नफ़रत काफ़ी हद तक जायज़ है
    • WordPress ऊपर बताए गए पहले समूह के लिए शानदार है। मैं इसे Excel, FileMaker, Visual Basic जैसे tools की तरह देखता हूँ, जिन्होंने software को लोकतांत्रिक बनाया और सबकी पहुँच में लाया
      स्वाभाविक है कि ऐसे tools की सीमाएँ और quality issues होते हैं, और कुछ users को आख़िरकार उनसे जूझना पड़ता है। अपने आप में यह ठीक है। समस्या तब आती है जब experts से उम्मीद की जाती है कि वे इसके ऊपर integrate करें या इसी पर build करें। web developers के पास आने वाले लोग quality expectations, अनोखी समस्याएँ और requirements लेकर आते हैं, लेकिन WordPress की विरासत उन लक्ष्यों के सामने इतने traps और obstacles रख देती है कि यह अक्सर चौकोर कील को गोल छेद में ठूँसने जैसा हो जाता है। यही बात आम CRM या e-commerce platform के बारे में भी कही जा सकती है
    • मैं खुद को एक गंभीर software engineer मानता हूँ, लेकिन अपनी कंपनी की website के लिए WordPress इस्तेमाल करता हूँ
    • “बेहतरीन format किया हुआ और अत्यधिक extensible code” के लिए छोड़ने की बजाय, शायद ज़्यादा सही यह है कि लोग मौजूदा अपूर्ण codebase पर काम करना बंद करके एक नए, supposedly perfect project की शुरुआत कर देते हैं
    • यह विभाजन नई पीढ़ी के full-stack JavaScript developers और PHP + MySQL से सीखने वालों के बीच के अंतर के ज़्यादा क़रीब लगता है
  • दिसंबर 2022 के State of the Word keynote में इसे काफ़ी बड़े तौर पर कवर करने की योजना थी: https://wordpress.tv/2023/01/04/matt-mullenweg-state-of-the-...
    एक इंजीनियर के रूप में इसे सच में काम करते हुए देखना, और उसके लिए जिन सभी layers को interact करना पड़ता है उनके बारे में सोचना, काफ़ी चौंकाने वाला था। 6 महीने बाद इसे HN पर चर्चा में देखना दिलचस्प है

    • अब तक जिन्हें “server-side” application माना जाता था, उन्हें browser के अंदर चलाने में मेरी दिलचस्पी है, इसलिए यह बहुत रोचक है। खास तौर पर यह SQLite को किसी वास्तविक product में चलाने का पहला उदाहरण लगता है, क्योंकि इससे पहले मैंने सिर्फ toy demos देखे थे
      कोड को थोड़ा देखने पर यह भी एहसास हुआ कि फिलहाल मैं PHP के बारे में लगभग कुछ नहीं जानता, और यह persistence के लिए “traditional” SQLite-over-OPFS approach इस्तेमाल करता हुआ नहीं लगता। आगे पढ़ने पर यह भी साफ़ नहीं हुआ कि Emscripten के जरिए persistent storage अभी संभव भी है या नहीं। आख़िर में मुझे https://github.com/WordPress/wordpress-playground/issues/19 मिला, और उससे लगता है कि browser के अंदर WordPress में अभी persistence संभव नहीं है, जो थोड़ा अफ़सोसजनक है
    • प्रस्तुति अच्छी थी। जिनकी दिलचस्पी हो, उनके लिए 48:33 से Wordpress Playground का परिचय शुरू होता है
  • बस जिज्ञासा है, अगर फ़िलहाल database को अलग रखकर सोचें, तो क्या इसका मतलब है कि WordPress को Cloudflare Worker पर चलाया जा सकता है? https://developers.cloudflare.com/workers/runtime-apis/webas...

    • इस टीम ने Cloudflare पर deploy करने की कोशिश की थी, लेकिन Workers की 128MB memory limit की वजह से रुक गए: https://github.com/WordPress/wordpress-playground/issues/69
      फिर भी इसे संभव बनाने की गुंजाइश दिखती है, और Cloudflare limits बढ़ा भी सकता है
    • पक्का नहीं कह सकता, लेकिन संभावना लगती है। इस संदर्भ में यह भी है: https://ma.rkusa.st/store-sqlite-in-cloudflare-durable-objec... और https://developers.cloudflare.com/d1/
      इसलिए लगता है कि इसे काम करने लायक बनाया जा सकता है
  • मैं कई लगभग static sites के लिए अक्सर WordPress इस्तेमाल करता हूँ। non-technical लोगों को लगातार content जोड़ने देने के लिए यह अच्छा है, और इस मक़सद के लिए WordPress के क़रीब कोई विकल्प नहीं है
    लेकिन plugins बहुत सोच-समझकर चुनने पड़ते हैं, सही Cloudflare frontend सेट करना होता है, और users को ऐसे काम करने से रोकना पड़ता है जो ऊपर से सरल लगें लेकिन जोखिम भरे हों। मुझे लगता है कि WordPress से नफ़रत का बड़ा हिस्सा या तो बहुत पहले के अनुभवों से आता है, या फिर ऐसी ज़रूरतों से जिन्हें WordPress पूरा नहीं कर पाया, या legacy के रूप में इसे ढोना पड़ा हो

    • मेरे लिए दूसरी और तीसरी वजह, और ऐसे projects जहाँ headless CMS + custom code कहीं बेहतर होते लेकिन client ने WordPress पर ज़ोर दिया, इन सबने मिलकर यह भावना बनाई
      असल में इसमें WordPress की गलती नहीं है, लेकिन सिर्फ इसका नाम सुनते ही थोड़ा डरकर सिमट जाने वाली भावना अब भी नहीं गई है
  • WASM में PHP चलाने वाला यह Playground सामान्य websites के 95% से कहीं ज़्यादा responsive है

    • यहाँ सबसे शानदार बात यह है कि यह server round-trips को बहुत कम कर देता है। सारे database calls और asset requests client पर ही होते हैं। हाँ, इसके बदले कुछ सेकंड का loading time स्वीकार करना पड़ता है
      WordPress शायद सबसे ज़्यादा इस्तेमाल होने वाला multi-page application solution है, और यह उसे लगभग single-page application में बदल देता है। ऊपर से server को लगातार API requests भेजने की ज़रूरत नहीं पड़ती, इसलिए यह ज़्यादातर single-page applications से भी बेहतर perform करता है।
      post/page editor और site editor जैसे single-page application वाले हिस्से जटिल React apps हैं, लेकिन इस demo में वे local development environment से भी ज़्यादा फुर्तीले लगते हैं। यह अच्छी तरह दिखाता है कि server round-trips हटाने पर single-page applications कितने बेहतर हो सकते हैं। बता दूँ कि मैं Automattic में काम करता हूँ, और इस experiment को unfold होते देखना सच में बहुत शानदार रहा है।
  • WordPress को कमतर दिखाने की ज़रूरत नहीं है, लेकिन इसका इतिहास लंबा है और समस्याएँ भी बहुत हैं। अच्छा होगा अगर static site generation या जटिल होस्टिंग के बिना इस्तेमाल किया जा सकने वाला कोई आधुनिक self-hosting विकल्प हो

    • किसी भी प्रतिस्पर्धी को बेहद कठिन chicken-and-egg problem पार करनी होगी। WordPress में लगभग हर काम के लिए plugin मिल जाता है, और आम तौर पर paid support भी उपलब्ध होती है, इसलिए इससे बचना मुश्किल है।
      codebase अच्छा नहीं है, उस पर development करना तकलीफ़देह है, और इसकी design approach व official store management भी database से जुड़ी अव्यवस्था और जोखिम को नहीं रोक पाते। फिर भी, दो दिन setup करके plugin/theme पर महीने के 80 डॉलर खर्च करने वाला प्रस्ताव, “ठीक है, लेकिन पहले कम-से-कम दो महीने का development time चाहिए” से कहीं ज़्यादा आसानी से बिकता है।
      अगर development work की ज़रूरत भी पड़े, तो WordPress development experience वाले लोगों को ढूँढना आसान है, और अगर सीधे hiring नहीं करनी हो तो WordPress specialist agencies भी बहुत हैं। किसी नए उभरते प्रतिस्पर्धी के पास इस स्तर का scale advantage नहीं होता। plugin और theme structure वाला एक extensible system WordPress से बहुत बेहतर तरीके से design करना छोटा काम नहीं है, लेकिन यह असंभव भी नहीं है और न ही इसके लिए किसी genius team की ज़रूरत है। लेकिन असली बाज़ार में WordPress को हटाने की राह में वही सबसे आसान चरण है
    • कार्यक्षमता के लिहाज़ से पूरी तरह सक्षम विकल्प बहुत हैं, लेकिन WordPress का असली value proposition उसका plugin ecosystem, developer pool, user base है
      ऐसे clients से लगभग हर कोई मिला होगा जो सिर्फ WordPress ही चाहते हैं और कुछ नहीं। कई बार साफ़-सुथरा नया solution deploy करने के बाद भी client फिर WordPress पर लौट आते हैं। मैंने hybrid approach में value देखी है, जहाँ जटिल requirements किसी दूसरे framework में बने custom app सँभालते हैं, और content को WordPress instance तथा connector के ज़रिए मैनेज किया जाता है
    • WordPress आज सफल इसलिए है क्योंकि कई सालों तक दूसरे CMS अपने API बार-बार तोड़ते रहे, जबकि WordPress ने ज़्यादातर stability बनाए रखी, और इसी वजह से इसका विशाल plugin ecosystem विकसित हुआ
      साथ ही, WordPress PHP API में object-oriented शैली लगभग नहीं के बराबर है और यह ज़्यादातर functions और arrays पर आधारित है, इसलिए बहुत बुनियादी programming जानने वाला व्यक्ति भी खुद plugin या theme बना सकता था
    • जिस CMS के साथ developer काम करना चाहते हैं और जिस CMS को कंपनियाँ इस्तेमाल करना चाहती हैं, वे अलग-अलग होते हैं। दूसरे वर्ग में जगह बनाने के लिए अक्सर ऐसे कई व्यावहारिक विकल्प चुनने पड़ते हैं जो पहले वाले से दूर ले जाते हैं
      कंपनियाँ उन चीज़ों को पसंद करती हैं जो लंबे समय से टिकी हुई हों, और ऐसी चीज़ें परिभाषा के अनुसार अक्सर पुरानी होती हैं
    • यहाँ है: https://github.com/Qbix/Platform
  • इस डेमो के पीछे की तकनीक सच में बहुत शानदार है। अच्छा होगा अगर real-time PHP error/warning logs देखे जा सकें, और खासकर SQLite database rewrite तक शामिल होने पर यह simulator कितना पूर्ण है, यह जाँचना दिलचस्प होगा
    plugin या theme testing भी बहुत आसान है। बस &plugin=plugin-slug-from-dir जोड़ना होता है, और अगर slug WordPress.org URL के plugin slug से मेल खाता है, तो वह अपने-आप download होकर sandbox में जोड़ दिया जाता है। sandbox को configure करने वाली पूरी query API documentation यहाँ है: https://wordpress.github.io/wordpress-playground/query-api/
    मुझे पूरा यक़ीन है कि debug log खोलने या दिखाने का कोई तरीका ज़रूर होगा। अगर ऐसा न होता, तो वे इसे विकसित ही नहीं कर पाते