Cloudflare ने AI की मदद से Next.js को एक हफ्ते में Vite पर फिर से बनाया, vinext पेश किया
(blog.cloudflare.com)Cloudflare के एक इंजीनियर ने AI (Claude) की मदद से जटिल Next.js इन्फ्रास्ट्रक्चर को Vite-आधारित रूप में पूरी तरह से फिर से लिखने वाले प्रोजेक्ट 'vinext(vee-next)' को पेश किया। यह Next.js की लंबे समय से चली आ रही डिप्लॉयमेंट और बिल्ड समस्याओं को हल करने की एक प्रयोगात्मक कोशिश है.
मुख्य सारांश
- प्रेरणा: Next.js बेहतरीन है, लेकिन अपने बिल्ट-इन बिल्ड टूल Turbopack पर बहुत अधिक निर्भर होने के कारण Cloudflare Workers या AWS Lambda जैसे serverless environments में डिप्लॉय करने के लिए OpenNext जैसे जटिल adapters से गुजरना पड़ता था, जिससे 'deployment bottleneck' की समस्या पैदा होती थी.
- विकास प्रक्रिया: AI का सक्रिय रूप से उपयोग करके इसे 1 हफ्ते के भीतर लागू किया गया। पोर्ट किए गए Vitest 1,700+ और Playwright E2E 380 टेस्ट के जरिए Next.js tests और OpenNext compatibility tests में सत्यापित किया गया। इसने Next.js 16 API surface tests में 94% पास किए.
- समाधान: Next.js के output को modify करने के बजाय, शुरू से ही Vite के ऊपर Next.js के API (Routing, RSC, SSR आदि) को ज्यों का त्यों implement किया गया.
- उपलब्धि: लगभग $1,100 के AI token cost पर इसे एक हफ्ते में पूरा किया गया। नतीजतन, यह Next.js की तुलना में build speed में अधिकतम 4 गुना तेज है, और client bundle size 57% छोटा है.
- तकनीकी विशेषताएँ:
next/link,next/navigation, Server Actions, RSC (React Server Components) जैसे मुख्य APIs को Vite plugin के रूप में फिर से implement किया गया है, जिससे मौजूदा Next.js apps को लगभग ज्यों का त्यों migrate किया जा सकता है.
महत्त्व: यह साबित करता है कि बड़े frameworks भी, अगर tests अच्छी तरह परिभाषित हों और AI की मदद मिले, तो कम समय में 'हल्के और तेज़ version' से बदले जा सकते हैं.
7 टिप्पणियां
लगता है कि Next.js ओपन सोर्स है और उसकी संरचना व लक्ष्य काफ़ी स्पष्ट हैं, इसलिए ऐसा प्रयास संभव हो पाया होगा.
खासकर जब भरपूर test code और reference मौजूद हों, तो tests पास कराने की दिशा में implementation को आगे बढ़ाने वाला approach भी काफ़ी व्यावहारिक रहा होगा.
AI की प्रगति की रफ़्तार सच में हैरान करने वाली है.
फिर भी नौकरियाँ अभी भी जोखिम में लग रही हैं.. क्या field job जैसी किसी लाइन में जाना चाहिए.. sob sob
AI की मदद से Next.js को एक हफ्ते में फिर से implement करने का तरीका
GN+ द्वारा व्यवस्थित किया गया version भी साथ में देखें
ब्लॉग पोस्ट का लहजा ऐसा नहीं है, लेकिन static site generation फीचर को जानबूझकर छोड़ देने से यह संकेत मिलता है कि static site generation करते समय Astro इस्तेमाल करो।
Astro*
लगता है कि अगर उस 1 हफ्ते की मेहनत opennext पर लगाई होती, तो ज़्यादा अच्छा होता।
शुरुआत से ही इनकी दिशा अलग है
OpenNext, nextjs build output को convert करता है, जबकि vinext में turbopack को vite से replace करने के लिए पूरा rewrite किया गया है।
Hacker News की राय
मुझे Next भी पसंद है, लेकिन मैं Vite से प्यार करता हूँ। लेकिन लगता है कि Next टीम 0.1% यूज़र्स के लिए चमकदार फीचर्स पर ध्यान देती है और बाकी 99.9% को नज़रअंदाज़ करती है। Cloudflare का यह fork शायद उस शिकायत को दूर कर सके। परफ़ॉर्मेंस सुधार वह चीज़ थी जिसकी Next कम्युनिटी लंबे समय से चाहती थी, और अब जाकर लगता है किसी ने सुना है। अगर यह सफल होता है, तो मैं इसे अपनी कंपनी में ज़रूर आज़माना चाहूँगा
मुझे लगता है यह मामला AI युग में open source incentives का अच्छा उदाहरण है। जितना बेहतर documentation होगा, जितने साफ़ contracts defined होंगे, उतना ही किसी और के लिए उसे copy करना आसान होगा। अगर Cloudflare ने Next के tests का इस्तेमाल नहीं किया होता, तो ऐसा fork संभव नहीं होता। Server Components अब भी कम आंके गए pattern हैं, इसलिए DX को सरल बनाने की कोशिश स्वागतयोग्य है। Next धीरे-धीरे विस्तार के कारण जटिल हो गया, लेकिन नया framework शुरू से ही लचीलेपन के साथ design किया जा सकता है
जो चीज़ “Hello world” भी नहीं कर सकती, उसके बारे में यह कहना कि उसे ‘from scratch दोबारा बनाया गया’ है, मुझे बढ़ा-चढ़ाकर कहना लगता है। अगर मूल tests को ज्यों का त्यों उठा लिया गया है, तो उसे पूरी तरह नया rewrite कहना मुश्किल है। यह वैसा है जैसे किसी मशहूर उपन्यास के पहले पैराग्राफ़ में सिर्फ शब्द बदलकर यह दावा करना कि उसे नया लिखा गया है
यह दिलचस्प है कि Cloudflare ने एक महीने पहले Astro का अधिग्रहण किया, और अब Next.js को AI से copy किया है। अगर यह इतना आसान था, तो Astro क्यों खरीदा? शायद framework की vision और leadership हासिल करने के लिए
पहले Next.js में remote code execution vulnerability आ चुकी है, इसलिए मैं कुछ समय तक AI से बने version से दूर रहना चाहूँगा
जब भी कोई कहता है “AI ने X को दोबारा बना दिया”, मुझे हमेशा शक होता है। बारीक edge cases और कई सालों के bug fixes छूटे होने की संभावना बहुत ज़्यादा रहती है। अगर यह सारे tests pass कर ले, तो मैं मान लूँगा, लेकिन नहीं तो भरोसा करना मुश्किल है
यह project अब तक देखा गया सबसे दिलचस्प AI experiment है। यह देखकर हैरानी हुई कि इसका codebase Next.js से काफ़ी छोटा है। लेकिन सवाल है कि क्या यह सिर्फ tests pass करने तक सीमित है। उदाहरण के लिए form implementation पूरी तरह अलग है। फिर भी यह प्रभावशाली है
मैं इस बात से सहमत नहीं हूँ कि “software abstractions इसलिए बनते हैं क्योंकि इंसान complexity संभाल नहीं सकते।” abstractions का मकसद वास्तविकता के सार को पकड़ना और reusability बढ़ाना है। layering तो बस concerns के separation का सवाल है
यह बात दिलचस्प है कि कुल लागत लगभग $1,100 के tokens थी
असली मुद्दा Astro acquisition का timing है। Cloudflare ने एक महीने पहले Astro खरीदा, और अब घोषणा की कि उसने AI से Next.js API को copy कर लिया। यह framework lock-in टूटने का संकेत है। Next.js के उन users के लिए जो Vercel से बँधे हैं, इसने दो रास्ते दे दिए — नए projects के लिए Astro, और मौजूदा projects के लिए Vinext। भले ही यह अभी production-ready न हो, लेकिन यह Vercel की pricing power को चुनौती देने वाला संदेश है