WP21 तकनीकी घोषणा
(ma.tt)- WordPress को Matt Mullenweg और Mike Little द्वारा b2/cafélog को fork करके पहली रिलीज़ जारी किए हुए 21 साल हो चुके हैं, और आगे के विकास में भी उन शर्तों को फिर से पकड़ना होगा जिन्होंने इसकी शुरुआती सफलता बनाई थी
- प्रोडक्ट की दिशा इस सिद्धांत पर आधारित है कि आसान काम सहज हों, और जटिल काम भी संभव हों
- ब्लॉगिंग, टिप्पणियाँ, pingback जैसी dynamic web features वेबसाइटों को अधिक रोचक बनाती हैं, और static वेबसाइटों की तुलना में dynamic वेबसाइटों को अधिक महत्व दिया जाता है
- plugin और theme ecosystem के पास WordPress core के स्तर का development infrastructure होना चाहिए, और 2024 में ZIP upload पर निर्भर रहने वाला तरीका उपयुक्त नहीं है
- उपयोगकर्ताओं के करीब feedback loop, community-केंद्रित forums, अच्छे theme preview, और Playground आगे के WordPress अनुभव को तय करेंगे
WordPress की 21वीं वर्षगांठ और प्रोडक्ट सिद्धांत
- WordPress को Matt Mullenweg और Mike Little द्वारा Michel के b2/cafélog पर किए गए काम को fork करके पहली रिलीज़ जारी किए हुए 21 साल हो चुके हैं
- आगे के विकास में भी उन तत्वों को लगातार ध्यान में रखना चाहिए जिन्होंने WordPress की शुरुआती सफलता में योगदान दिया
- मुख्य प्रोडक्ट सिद्धांत यह है कि सरल चीज़ें आसान और सहज होनी चाहिए, और जटिल चीज़ें भी संभव होनी चाहिए
ब्लॉग, दस्तावेज़ और community features
- ब्लॉगिंग, टिप्पणियाँ, pingback मज़ेदार होने चाहिए
- static वेबसाइटें भी ठीक हैं, लेकिन दृष्टिकोण यह है कि dynamic वेबसाइटें बेहतर हैं
- लगभग हर साइट एक बेहतरीन ब्लॉग होने पर बेहतर हो सकती है
- दस्तावेज़ों को wiki की तरह आसानी से edit किया जा सकना चाहिए
- wiki को एक “अद्भुत” टूल माना गया है
- community में forums केंद्र में होने चाहिए
- bbPress और BuddyPress को अधिक ध्यान की आवश्यकता है
plugin और theme ecosystem
- हर plugin और theme के पास WordPress को बनाने में उपयोग होने वाले स्तर का development infrastructure होना चाहिए
- version control
- bug tracker
- forums
- documentation
- internationalization
- chat rooms
- P2
- contribution और community तक पहुँचने के आसान रास्ते
- 2024 में plugin और theme को ZIP upload तरीके से संभालना उपयुक्त नहीं है
- theme preview बेहतरीन होने चाहिए
- विविध सौंदर्यबोध और कार्यक्षमता वाले non-commercial themes का collection महत्वपूर्ण है
नियमों से अधिक feedback loop और पारदर्शिता
- guidelines और requirements पर अत्यधिक झुकाव नहीं होना चाहिए
- अच्छे marketplace dynamics, automated feedback loop, और उपयोगकर्ताओं के प्रति पारदर्शिता को डिज़ाइन करना बेहतर है
- functionality और design की सीमाओं को और आगे बढ़ाया जाना चाहिए
- spam और spam-जैसे व्यवहार के प्रति zero tolerance होना चाहिए
- feedback loop को gatekeepers पर निर्भर होने के बजाय उपयोग और पूरी community के अनुसार scale होना चाहिए
core का चरित्र और उपयोगकर्ता संपर्क बिंदु
- WordPress core अपनी राय रखने वाला और विशिष्ट होना चाहिए
- Easter egg
- अनुवाद करना कठिन हो तब भी व्यक्तित्वपूर्ण भाषा
- jazz जैसा चरित्र
- software विकसित करने और निर्णय लेने वाले सभी लोगों को उस software का उपयोग करना चाहिए
- developers और decision-makers को support कार्य, meetup, event जैसी गतिविधियों के माध्यम से सामान्य end users के करीब रहना चाहिए
Playground और शुरुआती अनुभव
- Playground से सब कुछ बदल जाने की उम्मीद है
- 27 मई 2003 को, जब पहली WordPress रिलीज़ आई, Matt Mullenweg ने अपने माता-पिता के घर के बरामदे से लिखी 953-शब्दों की ब्लॉग पोस्ट में यह वाक्य छोड़ा: “I released WordPress and felt good.”
- उस रात उन्होंने अपने दोस्त Ramie Speight के लिए WP सेट किया, और स्थानीय blogger meetup में मिले Mike Tremoulet को फोन पर technical support दिया
- उनके high school के दोस्त अपने-अपने domain पर WordPress इस्तेमाल करते थे, और उस feedback loop ने software को आकार देने में बड़ी भूमिका निभाई
1 टिप्पणियां
Hacker News की राय
अफसोस होता है कि WordPress development standards का पालन करना तो दूर, उन्हें सक्रिय रूप से तोड़ने की कोशिश करता दिखता है
global variables everywhere इस्तेमाल करना और classic themes के जरिए spaghetti code को बढ़ावा देना काफी नहीं था, अब नए themes में HTML comments के अंदर JSON डालने को कहता है, जिससे editor support भी नहीं मिलता, errors भी आसानी से होते हैं, और कुल मिलाकर design अजीब हो जाता है
सच में सोचता हूं कि क्या senior engineers ने HTML comments के अंदर JSON templates डालने का फैसला किया होगा; और conspiracy theory वाले नजरिए से देखें तो ऐसा भी लगता है जैसे freelancers या digital agency market को खत्म करके लोगों को WP.com के WYSIWYG site builder की ओर धकेलना चाहते हों
PHP के अंदर HTML, उसके अंदर JS, उसके अंदर CSS जैसी स्थिति है, और पूरा page बनाने के लिए कौन-सी file किस order में पढ़ी जाएगी, यह एक implicit structure पर निर्भर करता है
शुरू में सुविधाजनक लगता है, लेकिन HTML elements को उसी file में ठीक से close न करके किसी दूसरी file में खत्म कराया जाता है, जिससे reuse भी नामुमकिन हो जाता है
यह beginner की गलती जैसा दिखता है, लेकिन हजारों themes इसी पर निर्भर हैं, इसलिए अब सब इसमें बंध गए हैं; इसकी तुलना Jinja2 templates में blocks और macros render करने के तरीके से करें
WordPress उन बिना budget वाले clients और low-cost clients के लिए मौजूद है जिन्हें लगता है कि उन्हें बस एक simple website चाहिए, और मेरे हिसाब से ऐसी simple site की अवधारणा खुद भी अब पुरानी/मरी हुई बात है
https://timber.github.io/docs/v2/
install path थोड़ा भी अलग हो तो नए server पर ले जाते ही सब टूट जाता था
दुर्भाग्य से, ऐसा हुआ तो “हमारा platform पूरी websites की 43.4% को power करता है” जैसी marketing line पर असर पड़ सकता है
अफसोस है कि जल्दबाजी में फैसले और तीखी राय community का हिस्सा बन गई हैं
पिछले 2–3 महीनों में WordPress development काफी करने के बाद, मैं कहना चाहूंगा कि blocks (Gutenberg) जो code isolation देते हैं, वह शानदार है
standalone plugin की तरह इस्तेमाल करें या Advanced Custom Fields के साथ, तो आप HTML तक 100% direct control वाली पूरी modular website और development flow, यानी design system, बना सकते हैं
मैं सभी को WordPress को सही से समझने और सीखने की सलाह दूंगा। मेरा WordPress से कोई संबंध या affiliation नहीं है
आज अचानक Gutenberg और ACF Blocks nested media field के content parsing को लेकर कहीं टकरा रहे हैं
वजह “user ने ऐसी image description डाल दी जो नहीं डालनी चाहिए थी” भी हो सकती है, या “plugin के global object ने
acf_register_block_type()को pass होने वाले किसी दूसरे global object को pollute कर दिया” भी हो सकती हैशायद मुझे पहले से नाराज client को phone करके कहना पड़े कि जल्दबाजी में फैसले और तीखी राय से बचें
हो सकता है अब ऐसा न हो, लेकिन skepticism स्वाभाविक है। हर हफ्ते जो updates देखता हूं उनमें काफी CVEs दिखते हैं, हालांकि वे सभी low-risk या बहुत कम इस्तेमाल होने वाले plugins से जुड़े हो सकते हैं
index.phpमासूमियत से खोलकर यह समझने की कोशिश करना था कि यह काम कैसे करता हैfile के सबसे ऊपर “code is poetry” comment के अलावा मुझे कुछ भी समझ नहीं आया था—यह याद रह गया
उसी ने code के बारे में मेरी सोच बदल दी और मुझे programming में और ज्यादा डुबो दिया
posts में metadata चाहिए तो ACF install करें, और उसी metadata से filter करना चाहें तो कुछ filters साथ लगते ही SQL query timeout हो जाती है। WP का अजीब schema देखें तो वजह समझ आ जाती है
Gutenberg WYSIWYG से editable React components का वादा करता है, लेकिन attributes को HTML में store करने, database में rendered HTML डालने, और component developer से हर बदलाव पर deprecated changes की array maintain कराने जैसे अजीब decisions लेता है
WordPress को refactor करके Laravel जोड़कर इसे सुलझाने की कोशिशें भी हैं[1], लेकिन हर layer nightmare है, और अलग-अलग हिस्सों के authors भी शायद ठीक से नहीं समझ पाते कि चीजें randomly क्यों टूटती हैं
plugin ecosystem आकर्षक हो सकता है, लेकिन plugins की implementations अलग-अलग हैं, इसलिए users पर bloated CSS और JS के ढेर धकेले जाने की संभावना बड़ी है
मैं Directus और Astro पर चला गया हूं, और ज्यादा सामान्य PHP deployment के लिए शायद October या Statamic जैसे Laravel-based CMS इस्तेमाल करूंगा
[1]: https://roots.io/
2009–2011 में plugins लिखने और modify करने समेत इसके साथ काफी काम किया था, लेकिन कभी लगा नहीं कि मैंने इसे सही से समझ लिया है; बस मोटे तौर पर समझा या स्वीकार कर लिया था
WordPress पसंद है। लोग इसे खुद इंस्टॉल करते हैं, दर्जनों बेकार, असुरक्षित और bug-भरे plugins लगाते हैं, और जब समय के साथ site खराब हो जाती है तो उनसे ज़्यादा सुरक्षित और ठोस solution के पैसे लिए जा सकते हैं
ऐसा लगता था जैसे कोई अधूरा weekend project बहुत लंबे समय तक खिंचने के बाद public कर दिया गया हो; किसी विशाल global variable के ऊपर घूमती हुई 5-screen लंबी
forloop duplicate होकर कुछ process कर रही थीWordPress “perfect होने की ज़रूरत नहीं, बस चलना चाहिए” का मेरा पसंदीदा उदाहरण है
बहुत से शानदार projects इसलिए मर जाते हैं क्योंकि वे पहले कदम को जरूरत से ज्यादा जटिल बना देते हैं। लोग इस्तेमाल करना शुरू कर दें तो बाद में कभी भी सुधार किया जा सकता है, लेकिन पहले launch करना जरूरी है
हालत इतनी खराब है कि PHP language developers भी कुछ features या fixes implement नहीं कर पाते। क्योंकि WordPress team code migrate नहीं करना चाहती, और PHP usage का बड़ा हिस्सा WordPress से आता है
WP काम के 95% हिस्से के लिए perfect tool है, लेकिन आखिरी 5% को adjust करना बेहद frustrating है
मैंने इसे काफी इस्तेमाल किया है, और इतने लंबे समय तक टिके रहना इसकी usefulness का सबूत मानता हूं। उम्मीद है यह आगे भी 21 साल और चलता रहे
सच कहूं तो मुझे WordPress कभी use करने में आसान नहीं लगा। जब तक अच्छे themes और plugins मिल जाते हैं, सब गुलाबी लगता है; लेकिन जैसे ही बहुत छोटा सा custom change चाहिए होता है, चीजें उलझने लगती हैं
लेकिन site और plugin/theme code, CSS files खोलते ही desired effect लाने के लिए घंटों जूझना पड़ता था, और अगर सफल भी हो जाता तो site का कोई दूसरा हिस्सा टूट जाता था
अपमानजनक किस्से अपनी जगह, Matt ने अच्छा किया और आखिरी कहानी भी अच्छी थी
updates में manual intervention चाहिए होता है, themes ठीक करने पड़ते हैं, और plugins abandon हो जाते हैं। मैं यह बोझ नहीं उठाना चाहता था, इसलिए लगभग 2017 से सभी sites को Hugo/Jekyll/MkDocs वगैरह पर move कर दिया
अगर blog हो तो मैं WP की बजाय Ghost इस्तेमाल करना चाहूंगा, और PHP की तुलना में JS भी पसंद करता हूं
यह दिलचस्प है कि कई लोग “मैं WordPress developer हूं” कहते हैं, लेकिन असल में उसका मतलब बिल्कुल अलग अनुभव और skills के set से होता है
किसी के लिए इसका मतलब WordPress admin screen में themes और plugins install करना और page content लिखना है
किसी और के लिए इसका मतलब PHP templates से HTML लिखना और WordPress behavior customize करने वाला old-school PHP code, यानी classic theme है
और किसी तीसरे के लिए इसका मतलब Docker, CI/CD के साथ JS+React लिखना वाला नया block theme है
काश और कंपनियां Automattic की sabbatical policy अपनाएं
https://automattic.com/benefits/sabbatical/
उम्र बढ़ने का एहसास तब होता है जब “WP” देखकर WordPress नहीं बल्कि WordPerfect(https://en.wikipedia.org/wiki/WordPerfect) याद आता है
WordPress अब सबसे conservative देशों में भी adult माने जाने की उम्र का हो चुका है, और WordPerfect अब midlife crisis वाली उम्र में पहुंच रहा है
WordPress में impression छोड़ने वाली बात यह है कि web nerds मानकर चलते हैं कि यह obviously आसान होगा, और अगर ऐसा नहीं होता तो नाराज़ हो जाते हैं
बाकी हर चीज की तरह WordPress भी सीखना पड़ता है, और इसका अपना viewpoint है
इसकी अजीब history भी है, और खासकर media items handle करने का तरीका मुझे सच में पसंद नहीं, लेकिन फिर भी इसका methodology है
अगर मैं कहूं कि मुझे Go, JS, Perl, Java, Ruby, C आते हैं और फिर Rust सीखना मुश्किल है कहकर नाराज़ होऊं, तो जाहिर है लोग जवाब देंगे
WordPress दिखने में simple काम करता लगता है, लेकिन असल में यह काफी बड़ा platform है। शायद आपको documentation थोड़ी पढ़नी पड़े
अगर आपको Elementor इस्तेमाल करने वाली site विरासत में मिली है, तो जिसने बनाई उससे simple changes का तरीका पूछें, वह मदद कर सकता है
अगर आपको Visual Composer या Divi इस्तेमाल करने वाली site विरासत में मिली है, तो बनाने वालों को गोली मार देने का मन करेगा
अगर आपको Gutenberg खराब लगता है, तो अब ऐसा बिल्कुल नहीं है। Divi वाले दिनों को याद करें तो वह सच में बहुत बुरा था
WordPress के ऊपर चढ़े भयानक JavaScript UI execution में ज़रा-सा भी timeout हो जाए तो सिर्फ blog post save करने भर से पूरी website recover न होने वाली state में जा सकती है
Italian और French localization 90s के Japanese games के स्तर की खराब है, और responsive options practically काम नहीं करते, जब तक कि किसी खास breakpoint पर content छिपाने-दिखाने को responsive न कहें
frontend “theme” jQuery-era JavaScript के unreadable dump जैसी है, इसलिए हर चीज बेहद fragile है
मुझे 100% यकीन है कि अगर Elegant Themes ads पर इतना पैसा न खर्च करती, तो कोई इसे इस्तेमाल नहीं करता