- Ruby ecosystem के लिए एक सरल लेकिन powerful वेब फ्रेमवर्क, जो low abstraction और low-ceremony पर आधारित है, और controller या REST resource concept हटाकर page/form/single-action केंद्रित संरचना प्रदान करता है
- Server-rendered HTML, सीधे JS/CSS लिखने की सुविधा, OpenTelemetry integration, Sequel और OptionParser जैसे modern Ruby tools पहले से ही उपलब्ध हैं, जिससे install और development केवल कुछ मिनटों में हो जाता है
- Class-based architecture, वास्तविक type-based session, form और parameter management, dynamic method/hash के उपयोग को कम करके clean code और auto-documentation को लक्ष्य बनाता है
- Modern web platform का अधिकतम उपयोग: server-side और client-side validation का एकीकरण, BrutJS (Web Components), esbuild से CSS bundling और hashing, मजबूत security policy तथा DB design की मज़बूत बुनियाद
- YAML को न्यूनतम रखना, Ruby/Hash-based config और स्पष्ट नामकरण व role separation के साथ, बिना किसी अनावश्यक abstraction/pattern को थोपे Ruby और browser टेक्नोलॉजी का आनंद लेना इसका उद्देश्य है
Brut फ्रेमवर्क की मुख्य विशेषताएँ
पूरी तरह नया स्ट्रक्चर – controller के बिना page-centric approach
- controller, REST resource और route action के बजाय class-based pages, forms और single-action handlers का उपयोग
- HTML सीधे server-side बनाई जाती है, जबकि JS/CSS आप अपनी जरूरत के हिसाब से लिख सकते हैं
- उदाहरण: समय दिखाने वाला पेज सीधे
TimePage < AppPage से define किया जाता है
आधुनिक वेब प्लेटफॉर्म का सक्रिय उपयोग
- server-side और client-side validation को combine करने वाला form UX
- BrutJS (web component library) से HTML की progressive enhancement
- esbuild के साथ CSS bundling और hashing, बिना PostCSS या SASS के सरल हैंडलिंग
development productivity और बेसिक्स बिल्ट-इन
- OpenTelemetry-based instrumentation, Sequel-based data access, OptionParser-based command-line automation
- बेसिक security policy, DB columns/foreign-key defaults/indexes, हमेशा timezone-aware समय, आसान localization (I18n)
- RSpec testing, Faker/FactoryBot से data generation, Phlex से HTML निर्माण
YAML हटाकर स्पष्ट config structure
- I18n Ruby Hash-based, dynamic config dotenv से manage (YAML का लगभग इस्तेमाल नहीं)
- सिर्फ docker-compose में ही YAML exception
अनावश्यक abstraction या pattern को नहीं थोपा जाता
- naming और structure स्पष्ट (उदा.
WidgetsPage को /widgets route से access करना)
- data layer (
DB::Widget) और domain layer (Widget) को पूरी तरह अलग रखा जा सकता है
- controller concept नहीं है, आप किसी भी तरीके से business logic implement कर सकते हैं
- complex functional patterns, monad, Proc आदि को force नहीं किया जाता
development experience और flexibility
- RSpec आदि modern Ruby ecosystem tools डिफ़ॉल्ट रूप से मौजूद हैं
- Phlex (HTML), Faker/FactoryBot, Sequel, OpenTelemetry जैसी प्रमुख libraries का active उपयोग
- repeat होने वाले boilerplate/config/decision overhead से हटकर, Ruby और browser टेक्नोलॉजी के “मज़ा” पर फोकस
Brut क्यों?
- Rails जैसे existing frameworks की repetitive setup, लगातार architecture/design debates और अनावश्यक flexibility के बजाय code का मज़ा खोजने पर फोकस
- जल्द से जल्द build करके development और deployment का मज़ा लेने वाला Ruby-based web app framework के रूप में productivity और clarity पर केंद्रित दृष्टिकोण
शुरुआत और आगे की roadmap
- Brut official Docker image, command-based fast app generation और execution support
- ADRs.cloud जैसे real-world sample apps उपलब्ध
- 1.0 version और official roadmap के लगातार अपडेट की योजना
अभी कोई टिप्पणी नहीं है.