Ruby on Rails अब भी क्यों महत्वपूर्ण है - Next.js की दुनिया में पुराने टूल कैसे टिके रहते हैं
(contraption.co)- हाल ही में लेखक को अपने दादाजी के पुराने vinyl records मिले, और यह देखकर वे हैरान रह गए कि पिछली पीढ़ी का यह माध्यम आज भी बिना किसी समस्या के चल जाता है
- vinyl ने संगीत वितरण में बड़ा बदलाव लाया, और pressing व sharing को संभव बनाया, इसलिए यह आज तक एक standard बना हुआ है
- audio share करने के तरीके बदल गए हैं, लेकिन शुरुआती तरीका अब भी काम करता है
- एक जटिल होती दुनिया में, कई लोग फिर से vinyl की ओर लौट रहे हैं, क्योंकि यह सादगी, स्थिरता और टिकाऊपन देता है
- वेब तकनीक के लगातार बदलते रहने के बीच, यह भूलना आसान है कि पुराने websites अब भी ठीक से काम करते हैं
- 1990 के दशक के साधारण text websites भी modern browsers में उसी तरह लोड होते हैं जैसे वे तब होते थे
- समय के साथ websites में CSS styling, JavaScript interactivity, और websockets के ज़रिए real-time updates जैसी अतिरिक्त क्षमताएँ जुड़ीं
- लेकिन उनकी बुनियाद अब भी pages, forms और sessions पर टिकी हुई है
- Ruby on Rails 20 साल पहले interactive और database-based web applications बनाने के लिए एक integrated approach के रूप में सामने आया था
- इसने Airbnb, Shopify, Github, Instacart, Gusto, Square जैसी कई सफल कंपनियों की नींव रखी, और आज खरबों डॉलर के business Ruby on Rails पर चल रहे हैं
- प्रभावी tools abstraction के ज़रिए जटिल कामों को सरल बनाते हैं
- उदाहरण के लिए, कभी कार चलाने के लिए fuel system, timing और clutch mechanics की समझ चाहिए होती थी, लेकिन अब ज़्यादातर drivers को यह भी नहीं पता होता कि उनकी गाड़ी में कितने gears हैं
- Ruby on Rails ने login sessions, CSRF protection, database ORM जैसी web development best practices को आसान tools के एक package में समेट दिया
- ये abstractions developers को तकनीकी details के बजाय product बनाने पर ध्यान देने देते हैं
- आज ज़्यादातर developers को यह नहीं पता होता कि login cookie के अंदर क्या है, लेकिन वही application को चला रही होती है
- Rails ने वेब के मूल building blocks के प्रति वफादार रहकर सफलता पाई
- यह pages, input fields और forms जैसे HTML primitives का उपयोग करता है
- backend-centered framework होने के नाते, यह data validation, processing और storage पर ध्यान देता है, जिससे form generation आसान हो जाती है
- Rails की शुरुआती सफलता के बाद JavaScript ने प्रमुखता हासिल की
- पिछले 10 वर्षों में web development की प्रगति ने मूल रूप से websites को iPhone app जैसी क्षमताएँ दे दीं, जबकि वे अब भी websites ही हैं
- Next.js अब startups बनाने के लिए सबसे आम tools में से एक बन गया है
- frontend-centered framework के रूप में, यह dynamic loading states, server-side rendering, और complex component building को संभव बनाता है
- अब एक और दौर की खरबों डॉलर की कंपनियाँ Next.js पर बन रही हैं, और ये web apps Ruby on Rails पर बने apps की तुलना में अधिक तेज़ और परिष्कृत हैं
- Next.js और उसकी आधार तकनीक React, modern web innovation के बड़े हिस्से को आगे बढ़ा रहे हैं
- Spotify, Netflix, Facebook, Stripe जैसे mainstream consumer products मूल रूप से इसी stack पर चलते हैं
- इससे developers web standards की सीमाओं से आगे जाकर तेज़ और customized interactive products बना सकते हैं
- Next.js को तेज़ी से अपनाए जाने के बावजूद, Rails अब भी प्रासंगिक बना हुआ है
- indie projects से लेकर AI कंपनियों तक, नए projects अब भी Rails चुन रहे हैं
- वास्तव में, Next.js जैसे नए JavaScript web frameworks की लहर ने web apps बनाना और कठिन बना दिया है
- ये tools developers को dynamic data rendering और real-time interactivity जैसी अधिक क्षमताएँ देते हैं, लेकिन इसकी कीमत abstraction के कम स्तर के रूप में चुकानी पड़ती है
- Next.js वास्तव में native iPhone apps से प्रतिस्पर्धा करता है
- पहले sophisticated user experience के लिए startups को iPhone app की ज़रूरत पड़ती थी, और iPhone app बनाना अक्सर कई specialist developers वाला एक जटिल काम होता था
- Next.js ने websites को iPhone app quality के करीब पहुँचा दिया
- आज के कुछ सबसे परिष्कृत products, जैसे Linear और ChatGPT, Next.js applications के रूप में लॉन्च हुए और mobile apps को secondary priority की तरह रखा गया
- लॉन्च के बाद के 20 वर्षों में Rails विकसित होता रहा है और उसने JavaScript interactions, backend job management, loading states, real-time application tools आदि जोड़े हैं
- यह mobile app development को भी support करता है. जैसे-जैसे application patterns विकसित हुए, Rails ने HTML-based foundation को बनाए रखते हुए इन patterns को framework features में शामिल किया
- अधिकांश web applications आज भी page पर मौजूद forms से ही बने हैं
- job boards, vendor systems, e-commerce stores आदि इसके उदाहरण हैं
- Next.js से इन्हें बनाया जा सकता है, लेकिन Rails की तुलना में इसमें अतिरिक्त development time लगता है
- cutting-edge framework का उपयोग बार-बार updates, नई libraries और अप्रत्याशित समस्याओं के कारण अस्थिरता ला सकता है
- Next.js applications अक्सर Vercel, Resend, Temporal जैसी कई third-party services पर निर्भर होते हैं, जिससे platform risk बढ़ जाता है
- developers आज भी Rails चुनते हैं, क्योंकि 20 साल बाद भी web applications बनाने का यह सबसे सरल और सबसे अधिक abstracted तरीका है
- solo developers अपने दम पर dynamic और real-time web applications बना सकते हैं, और enterprise teams कई models तथा access control वाले ऐसे applications बना सकती हैं जो thorough testing को support करते हों
- Rails छोटी teams को तेज़ी से काम करने, और development तथा maintenance cost कम करने में मदद करता है
- लेखक के पास दोनों frameworks का उपयोग करने का अनुभव है
- उन्होंने venture-funded AI startup Find AI को Rails पर बनाया
- search engine के रूप में, उसे Rails की उस क्षमता से लाभ मिला जो complex backend jobs को simple frontend requirements के साथ संभाल सकती है
- अभी वे बड़े datasets को explore और manage करने के लिए Chroma Cloud पर काम कर रहे हैं, जहाँ Next.js advanced interactivity और data loading की ज़रूरतों को पूरा करता है
- AI-आधारित applications की मौजूदा लहर में Rails उम्र के कुछ संकेत दिखाने लगा है
- LLM (large language model) text streaming, Ruby parallelism, और AI coding tools के लिए मजबूत type support जैसे क्षेत्रों में इसे कठिनाइयों का सामना करना पड़ रहा है
- इसके बावजूद, यह अब भी एक प्रभावी tool बना हुआ है
- vinyl ने संगीत की पहुँच बढ़ाकर industry को बदल दिया
- समय के साथ sound quality बेहतर हुई, लेकिन शुरुआती format अब भी मूल्य रखता है
- The Köln Concert bitrate चाहे जो भी हो, अब भी लोकप्रिय है
- tech दुनिया में भी यही सच है: आप Linear जैसे sophisticated products का आनंद ले सकते हैं, और साथ ही Craigslist की 90s-style website अब भी अधिक revenue कमा सकती है
- अंततः, users इस बात से अधिक मतलब रखते हैं कि product कितना उपयोगी है, बजाय इसके कि उसे कैसे implement किया गया है
- बाहरी परिष्कार फीका पड़ सकता है, लेकिन उपयोगिता टिकती है
7 टिप्पणियां
Airbnb, Shopify, Github — सोचने से कहीं ज़्यादा कंपनियाँ Ruby on Rails का इस्तेमाल करती हैं!! 😊
यह जानकर हैरानी हुई कि GitHub भी Rails पर बना है। GitLab का Rails पर बना होना तो सही है... GitLab ने Rails का अच्छा इस्तेमाल किया, इसलिए वह लंबे समय तक याद रहा।
GitHub ने शुरुआत में Rails कम्युनिटी के आसपास अपना नेटवर्क बनाया था।
https://read.first1000.co/p/-github
थोड़ा अलग मामला है, लेकिन Ruby on Rails के security issue (Mass Assignment Vulnerability) के बारे में Egor Homakov ने इशारा किया था। यह ऐसा मुद्दा था जिससे developer सावधान रहें तो बचा जा सकता था, इसलिए इस पर बहस हुई कि इसे patch किया जाना चाहिए या नहीं। (क्योंकि RTFM जैसा जवाब दिया जा सकता था।)
इसे रिपोर्ट करने वाले Egor Homakov ने जो तरीका चुना, वह था उस समय Rails पर चल रहे, और यहाँ तक कि Rails को host भी कर रहे GitHub पर हमला करना। और वह वास्तव में सफल भी हुए।
इस तरह यह दिखा कि सबसे बड़ा Rails app भी इस मामले से अछूता नहीं है।
मुझे लगता है कि यह developer पर भरोसा करना है या नहीं करना (manual memory management) vs नहीं करना (GC आदि) जैसी पसंद का सवाल था, लेकिन मुझे RTFM जैसे जवाब, या security में "जानते हुए सही कर लेंगे" जैसी सोच से सावधान रहने की बात पर यह अक्सर याद आता है।
https://news.ycombinator.com/item?id=3666564
धन्यवाद। :)
https://github.blog/engineering/building-github-with-ruby-and-rails/
धन्यवाद।
Hacker News राय
जब सैकड़ों लोग इस लेख को पढ़ रहे हैं, तब आप मेरे डेस्क पर रखे Mac Mini के ज़रिए इसे एक्सेस कर रहे हैं
मुझे वेब ऐप्स में सिर्फ CRUD forms वाले ऐप पसंद हैं। यह हर समस्या पर लागू नहीं होता, लेकिन वास्तविक दुनिया के साथ इंटरैक्ट करने वाले कई problem domains में यह अच्छी तरह काम करता है। जैसे, "अगर देखना है कि कोई appointment है या नहीं, तो appointments की list देखो"
Ruby/Rails community अजीब है, क्योंकि उसका आधा हिस्सा चुपचाप काम करता रहता है, और बाकी आधा समय-समय पर यह याद दिलाता रहता है कि Rails मरा नहीं है
AI applications की लहर में Rails अपनी उम्र दिखा रहा है। इसे LLM text streaming और parallel processing में दिक्कत होती है
Django + gevent की सिफारिश करता हूँ। यह Python type system का उपयोग करता है, और streaming तथा IO-bound parallel processing के लिए अच्छा है। CPU-bound parallel processing के लिए यह उपयुक्त नहीं है, लेकिन web applications में यह कम महत्वपूर्ण है
Ruby, Django, और D language के साथ RoR जैसा meta web framework बनाया और maintain किया जा सकता है
RoR शक्तिशाली है। लेकिन सब कुछ बहुत तेज़ी से बदल रहा है, इसलिए लगता है कि अगर latest tech के साथ न चलो तो पीछे छूट जाओगे
AI coding tools के बारे में strong typing की कमी की आलोचना सुनी है, लेकिन मेरे अनुभव में LLM, Rails codebase में अच्छा काम करते हैं
मैं Django इस्तेमाल कर रहा हूँ, और सब कुछ नया-सा लग रहा है। htmx + alpine.js का उपयोग करके HTML भेज रहा हूँ, और JSON REST API से दूर जाने के बाद productivity काफ़ी बढ़ गई है
RoR शानदार है। Ruby को इससे भी आगे बढ़ना चाहिए
2010s में convention over configuration वाला approach लोकप्रिय हुआ था