ChicagoBoss

یک وب فریمورک بسیار جالب و پیشرفته مبتنی بر Erlang و الهام گرفته از RoR. امتحانش ضرری نداره. :slight_smile:
http://chicagoboss.org/

2 پسندیده

Phoenix هم که روی Elixir هست مزایای Erlang داره ولی syntax شبیه Ruby و Rails پیشنهاد میکنم امتحانش کنید.

هیچ کدوم از این فرم ورک ها به پای ریلز نمی رسن. و راه زیادی پیش رو دارن تا به پختگی و کارایی ریلز برسن. بدون طرف داری عرض می کنم

البته بدون عنوان کردن دلایل فنی نمیشه تاید یا رد کرد.

اولین دلیل اینه که ۱۰ سال از ساخت ریلز گزشته و امتحانشو به خوبی پس داده. از لحاظ فنی هم این فریم ورک ها فقط بیسیک ریلز رو پیاده سازی کردن و هنوز خیلی از امکانات ریلز رو پیاده سازی سازی نکردن. برای مثال ORM ها شون رو با ActiveRecord مقایسه کنین.

1 پسندیده

خیلی از فریم ورک ها هستند که همین قدر عمر دارن و جوابشون رو هم پس دادن. به نظرم چیزی ریلز رو متمایز می کنه جامعه ریلز هست که هر روز بزرگتر میشه

بله کاملا درسته.

1 پسندیده

چند نکته که باید در نظر داشت اینه که Rails نوآوری در framework ها کرده و جامعه خوبی داره ولی بی ایراد نیست.
Rails در مسله concurrency مشکل داره و فریم ورک های زبان های دیگر بهترند.
Erlang دهه هاست که برای ساخت سیستم ها با میلیون ها کاربر و 0 downtime استفاده می شه

Ecto به مراتب از ActiveRecord بهتره
Ecto به جای ActiveRecord pattern از Repository Pattern بهره می گیره که data را جدا می کنه از query که باعث می شه کد تمیز بمونه
Ecto Compile می شه و SQL Injection را در compile time پیدا می کنه

ActiveRecord با این که کارو راحت می کنه در اول بعد مشکل میشه. چند تا از Rails Core Team هم از ActiveRecord خوششون نمیاد مثل Aaron Patterson, Sean Griffin

مورد استفاده Erlang با روبی فرق داره و مقایسه برفرمنس روبی با زبانی که کامپایل می شه درست نیست. نکته دیگه هم اینه که لزومی نداره که شما concurrency رو با ریلز پیاده کنید. این مورد جزئی از وظایف ریلز نیست. Repository pattern هم مشکلات خاص خودش رو داره .

به هر حال هر کدوم از این ها مشکلات خودشون رو دارن. چیزی که من در مورد Erlang دوست دارم اینه که concurrency رو خیلی ساده می کنه. از Erlang هم مثل روبی در پروژه های مهمی استفاده میشه, توی بانک ها, در ارتش, توی مخابرات وغیره.
همیشه یادگرفتن و کارکردن با زبان های جدید و فریورک های کوچک و بزرگ برای یه برنامه نویس خوبه به شرطی که تبدیل به دور باطل نشه.
هیچ کدوم بهترین نیست! بهترین اونی هست که به بهترین شکل به کار گرفته بشه.
حالا اگر خود فریم ورک یا زبان برنامه نویسی کار پردازش همزمانو ساده کنه که خیلی عالیه اما اگر ما میلیون ها کاربر فعال نداریم حتما اونی که بسته های اماده بیشتری داره مناسب هست مثل ریلز یا جنگو که بازم ریلز از نظر کتاب خانه ای کاملتره.
حالا مثلا اگر بخوام دوستمو برای تولدش قافلگیر کنم و ظرف دو روز براش یه سایت بسازم که کاملا Mobile First و فول اجکس یا یه سویس websocket هم داشته باشه به اضافه اپ bootstrap شده مبایل خوب باید برم سراغ MeteorJS.
در مورد ریلز و بقیه هم بر اساس نیاز و امکانات و مهمتر از همه دانش به کار گیری تعیین کنندست.

1 پسندیده