3 पॉइंट द्वारा GN⁺ 2024-11-04 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • ब्लॉग की शुरुआत

    • 2022 में कस्टम्स डिक्लेरेशन फ़ॉर्म भरने वाला एक application बनाना शुरू किया।
    • कई भाषाओं और frameworks का मूल्यांकन करने के बाद, Ruby on Rails में development करने का फ़ैसला किया।
    • Rails से परिचित होने के कारण, दूसरे options की तुलना में 10 गुना तेज़ development कर सका।
  • वर्ज़न 2 का development

    • Rust और SvelteKit का उपयोग करके application का दूसरा version बनाना शुरू किया।
    • शुरुआत में यह तेज़ और अच्छा लगा, लेकिन ज़रूरी features में से केवल 10% ही implement हो पाए।
    • Rails की बराबरी करने वाला Rust framework न होने के कारण इसमें बहुत समय लगा।
  • Rust के फ़ायदे

    • Rust की performance और error-free compilation के फ़ायदे का अनुभव किया।
    • Ruby में runtime errors अक्सर आते थे, इसलिए Rust की ज़रूरत महसूस हुई।
  • frontend में बदलाव

    • Rails के frontend से असंतोष था, इसलिए SvelteKit पर जाने का फ़ैसला किया।
    • नए stack के साथ कुछ pages को तेज़ी से migrate किया, लेकिन deployment जटिल हो गया।
  • development की वास्तविकता

    • Rails वाला हिस्सा लगातार उपयोगी features जोड़ते हुए आगे बढ़ता रहा।
    • यह समझ में आया कि Rust और Svelte में migration से users को सीधा value नहीं मिल रहा था।
  • फ़ैसले की कठिनाई

    • नए stack को छोड़कर फिर से Rails पर लौटने का फ़ैसला किया।
    • team members को Rails सीखने के लिए प्रोत्साहित किया।
  • Rails के फ़ायदे

    • Rails कई सफल companies की नींव है और यह बहुत सी libraries और ecosystem प्रदान करता है।
    • यह product development पर फ़ोकस करने में मदद करता है।
  • सीख

    • नई languages और frameworks सीखना बहुत सी insights देता है।
    • web application development में कई choices और trade-offs की ज़रूरत होती है।
    • Rails पर वापस जाना अच्छा फ़ैसला था और इससे productivity बढ़ी।
  • Ruby और Rails के नुकसान

    • runtime समस्याओं को tests से हल किया जा सकता है।
    • code का जटिल हो जाना developer की समस्या है, और इसे अच्छी तरह व्यवस्थित करना चाहिए।
    • Rails काफ़ी तेज़ है, और Turbo व caching से performance सुधारी जा सकती है।
  • निष्कर्ष

    • कोई भी भाषा या framework परफ़ेक्ट नहीं होता; हर एक के फ़ायदे और नुकसान को समझकर इस्तेमाल करना चाहिए।
    • Rails एक अच्छा विकल्प है, और कई दूसरे frameworks भी बेहतरीन हैं।

2 टिप्पणियां

 
lemonmint 2024-11-04

Ruby में फिर से लिखें
Rails में फिर से लिखें

 
GN⁺ 2024-11-04
Hacker News टिप्पणियाँ
  • वेब ऐप डेवलपमेंट में Rails, Django और Laravel दूसरे स्टैक्स से काफी आगे हैं। ये दोहराए जाने वाले काम संभालते हैं, ज़रूरतों को अच्छी तरह समझते हैं, और एप्लिकेशन बनाते समय रास्ते में बाधा नहीं बनते। वेब डेवलपमेंट को मैं पहले से हल की जा चुकी समस्या मानता हूँ, और JavaScript से जुड़ी टेक्नोलॉजी अक्सर बड़ी कंपनियों की फंडिंग से संचालित होती दिखती है

  • मैं 17 साल से Rails इस्तेमाल कर रहा हूँ, और आज भी इसे पसंद करता हूँ और प्राथमिकता देता हूँ। इसमें code separation आसान है, इसलिए फ़ाइलों के header बेवजह लंबे नहीं हो जाते। logic और markup को अलग करने पर उन्हें स्वतंत्र रूप से test किया जा सकता है, जिससे bug tracking आसान हो जाती है

  • Rust बहुत होशियार लोगों द्वारा बनाई गई भाषा है, लेकिन इसका फोकस type theory और memory allocation पर इतना है कि सामान्य डेवलपर के लिए इसे समझना कठिन हो सकता है। Rust पर ब्लॉग पोस्ट पढ़ते समय भी मैं लगभग आधी ही बात समझ पाता हूँ

  • Ruby और Rails के बारे में मेरी शिकायतें कम हो गई हैं। कोई भी भाषा या framework परफेक्ट नहीं होता; उसकी ताकत और कमजोरियाँ जानकर उसी हिसाब से काम करना चाहिए

  • Rust में बड़े web application को तेज़ी से लिखना मुश्किल है। Rails में लिखे गए बड़े application तेज़ नहीं चलते, उनमें bugs ज़्यादा हो सकते हैं, और maintenance व scaling मुश्किल हो सकती है। Java, C# और Go जैसी भाषाएँ Rails जितनी तेज़ी से काम पूरा कर सकती हैं, जबकि रनटाइम पर Rust जितनी तेज़ भी हो सकती हैं

  • NextJS और SvelteKit जैसी टेक्नोलॉजी JS डेवलपर्स के बीच इसलिए लोकप्रिय हैं क्योंकि वे Node.JS के backend development experience की समस्याएँ हल करती हैं। Rails ने 2006 में application building के लिए एक comprehensive solution देकर क्रांतिकारी बदलाव किया था

  • मैं AdonisJS को Rails के TS विकल्प के रूप में टेस्ट कर रहा हूँ। यह Rails या Laravel जैसा लगता है, और स्टैक के हर हिस्से को खुद चुनने का बोझ कम कर देता है

  • मुझे इस राय पर हैरानी है कि Rust web backend के लिए उपयुक्त नहीं है। छोटे services में मेरा अनुभव अच्छा रहा है, और बड़े application बनाते समय जटिलता बढ़ सकती है, लेकिन Rust बड़े codebase में ज़रूरी confidence देता है

  • मेरा अनुभव Django के साथ भी ऐसा ही है; performance समस्याएँ ज़्यादातर Django की बजाय database queries से आती हैं

  • समझ नहीं आता कि जब 2010 नहीं चल रहा, तो Rails क्यों इस्तेमाल करें। Java(Spring), Go और Node जैसे कई विकल्प हैं। Rust चुनना लगभग C++ चुनने जितना ही अजीब लगता है