سلام دوستان،
نمیدانم تاچه حد به تاثیر فریم ورک ها به شیوه فکر کردن توسعه دهنده ها اعتقاد دارید ، اما این چیزی است که برای من “به عنوان یک برنامه نویس بک اند” کاملا صادق بوده.مدتی کار با django و پس از آن laravel به شکل حرفه ای تر سبب شد که معماری MVC در ذهن من نهادینه شود (هرچند MVC نمیتوتند به شکل صحیح آن چه که درذهن من اتفاق افتاده را توضیف کند اما احتمالا بهترین عبارت عمومی همین هست.) به طوری که در زمان ورود به یک فریم ورک جدید توسعه بک اند (از نظر من Fullstack framework) همواره به دنبال بخش های routing , controller , model , view , middlleware و … یا حداقل چند مورد از این ها میگردم. همه این ها سبب شد که من عاشق فریم ورک های on rails-like شوم .(لازم است ذکر کنم که بسیاری از فریم ورک های مطرح امروزی از on rails روبی ایده گرفته شده اند . )
اگر به موراد on rails-like در اکوسیستم node.js مراجعه کنیم مسلما اولین انتخاب sails است ، اما این فریم ورک هم مشکلات فراوانی دارد ، یکی از مهم ترین مشکلات آن به شدت تکه تکه بودن هست! (چیزی که این روز ها فراتر از sails و در کل اکوسیستم node.js فراگیر شده و بسیاری از توسعه دهنده ها را نگران کرده است.) بهتر بگویم ، sails.js درواقع ترکیبی از چندین میکروفریم ورک و کتاب خانه است که باهم یک فریم ورک بزرگ را ایجاد کرده اند . در زمان نوشتن این مطلب ، sails از بیش از ۶۵ وابستگی استفاده میکند که از نظر من شدیدا نگران کننده است!(یک توسعه دهنده بک اند به خوبی میداند که ایجاد مشکل در هر یک از این پکیج ها و یا به روز نشدن به موقع آن ها چه بحرانی را ایجاد میکند!)
مدت ها بود تصمیم داشتم به شکل جدی از لاراول به یکی از فریم ورک های rails-like در اکوسیستم node.js مهاجرت کنم که همان چیزی باشد که من انتظار دارم!فریم ورکی کامل ولی با امکان مینیمال شدن ، با حداقل پکیج های وابستگی و اکوسیستمی با انگیزه . بالاخره جست و جو های من جواب داد و پس از تست تعدادی فریم ورک ، به فریم ورکی رسیدم که واقعا همان است که من میخواستم! خیلی ها آن را فریم ورکی در node.js ،برای توسعه دهنده های on rails و laravel میدانند!حتی خود توسعه دهنده اصلی نیز چند جا به همین صورت فریم ورک خود را معرفی کرده است.
نسخه ۴ این فریم ورک که خیلی تازه است و چند ماه است که نسخه dev ان منتشر شده ، یک فریم ورک یک پارچه و دوست داشتنی با یک orm فوق العاده و ساختاری آشناست . در زمان نصب این فریم ورک میتوانید انتخاب کنید که قصد چه کاری با این فریم ورک دارید . میخواهید کاملا مینیمال باشد ، ویژه توسعه Restful API باشد ، و یا یک FullStack Framework میخواهید(شبیه آن چه که درمورد laravel و lumen میدانیم ولی به شکلی بهتر و توسعه دهنده پسندتر!) من چند ماه قبل با نسخه 3.2 این فریم ورک شروع به کار کردم و پس از انتشار نسخه 4 ، از بهبود هایی که در آن داده شده بود شگفت زده شدم و سریعا نسخه جدید را نصب کردم ، لازم به ذکر است که نسخه جدید از es8 و node.js 8.5 استفاده میکند.
در خیلی از سایت ها ، این فریم ورک به نام فریم ورک آینده node.js و فریم ورک سال ۲۰۱۷ معرفی شده است.اگر یک توسعه دهنده laravel و یا on-rails هستید و به دنبال فریم ورک مناسبی در اکوسیستم node.js میگردید ، الان بهترین زمان برای مهاجرت است!و اگر غیرت بیش از حد بر روی فریم ورک express.js و یا sails و هر فریم ورک دیگری که از ان در node.js استفاده میکنید ندارید ، پیشنهاد میکنم این فریم ورک را هم امتحان کنید!
از این که این مقاله رو مطالعه کردید و وقتتون رو به من دادید متشکرم.
مهدی تمدن
مهر ماه سال ۱۳۹۶