رکورد تصمیم معماری: چارچوب Ruby on Rails
زمینه
سازمان در حال توسعهٔ یک برنامهٔ وب با منطق کسبوکار پیچیده و یکپارچگیهای متعدد با خدمات شخص ثالث است.
تیم تجربهٔ ساخت برنامههای وب با Ruby on Rails را دارد.
نیاز است چارچوب وبی انتخاب شود که توسعهٔ سریع، مقیاسپذیری و قابلیت نگهداری را ترویج کند.
تصمیم
- از Ruby on Rails بهعنوان چارچوب توسعهٔ برنامهٔ وب استفاده کنید.
توجیه
Ruby on Rails یک چارچوب وب بالغ، پایدار و پرکاربرد است که اثربخشی خود را در ساخت برنامههای وب پیچیده ثابت کرده است.
این چارچوب از الگوی معماری مدل-نما-کنترلگر (MVC) پیروی میکند که جداسازی دغدغهها را ترویج میکند و قابلیت استفادهٔ مجدد و نگهداری کد را افزایش میدهد.
Rails ویژگیهای داخلی بسیاری دارد، مانند ActiveRecord برای تعامل با پایگاه داده و ActionMailer برای مدیریت ایمیل، که میتوانند زمان توسعه را صرفهجویی و کد را ساده کنند.
این چارچوب جامعهای بزرگ و فعال دارد و ماژولها و افزونههای قابل استفادهٔ مجدد بسیاری برای افزودن قابلیت و حل مسائل رایج در دسترس است.
Ruby on Rails از توسعهٔ آزمونمحور (TDD) و توسعهٔ رفتارمحور (BDD) پشتیبانی میکند که به توسعهدهندگان امکان میدهد برای کد خود آزمونهای خودکار بنویسند، اطمینان یابند که طبق انتظار کار میکند و باگها و بازگشتهای رفتاری را کاهش دهند.
Ruby یک زبان سطح بالاست که بهرهوری توسعهدهنده و خوانایی کد را ترویج میکند و بهعنوان زبان چسب قدرتمند برای یکپارچهسازی با طیف وسیعی از خدمات و APIهای شخص ثالث عمل میکند.
پیامدها
تیم باید اطمینان یابد که معماری و طراحی برنامهٔ وب از قراردادها و بهترین شیوههای Rails پیروی میکند تا مزایای چارچوب به حداکثر برسد.
توسعهدهندگان باید درک خوبی از زبان Ruby و چارچوب Rails داشته باشند، هرچند مستندات و جامعهٔ Rails میتوانند راهنمایی و پشتیبانی ارائه دهند.
ممکن است برای توسعهدهندگان تازهکار در Ruby و Rails منحنی یادگیری وجود داشته باشد، هرچند مزایای چارچوب میتواند سرمایهگذاری در آموزش و جذب را توجیه کند.
تیم باید کارایی و مقیاسپذیری برنامه را پایش کند و ممکن است لازم شود پرسوجوهای پایگاه داده را ریزتنظیم و کش را بهینه کند تا حجم زیاد داده و ترافیک را مدیریت کند.