در طی سالهای گذشته بسیاری از توسعه دهندگان و مهندسین نرم افزار به خوبی از تکنیک میکرو سرویس استقبال کرده و در شرکتهای بسیار زیادی نیز مورد استفاده قرار گرفته است. اما این موضوع را در نظر بگیرید که میکرو سرویس بیشترین استفاده را در زمینه توسعه سمت سرور داشته و به کمی در فضای فرانت-اند مشاهده شده است.
دلیل این قضیه نیز تا حدی واضح است، از آنجایی که مستندات عمیق و استانداردی برای این موضوع وجود نداشته و همچنین قشر توسعه دهنده فرانت-اند کمی با تکنیکهای عمیق برنامه نویسی به نسبت توسعه دهندگان بک-اند فاصله دارند. اما این موضوعات باعث نشده که قضیه ورود میکرو سرویس به دنیای فرانت-اند به صورت تمام و کمال فراموش شود.
به همین دلیل بنده سعی کردم تا مستنداتی را در ارتباط با این موضوع پیدا کنم و ببینم که آیا واقعا چنین چیزی امکان پذیر است یا خیر. نتیجه کوتاه و کلی جستجوهایم، من را به آنجایی رساند که نه تنها چنین چیزی وجود دارد بلکه در حال حاضر در شرکتهای بسیار زیادی نیز مورد استفاده قرار میگیرد.
اما آیا این موضوع ارزش دنبال کردن و یادگیری را دارد؟ آیا میکرو-فرانتاند میتواند به یکی از تواناییهای مهم برای برنامه نویسهای فرانت-اند تبدیل شود؟ در ادامه این مقاله قصد داریم در ارتباط با این موضوع صحبت کنیم.
منظور از میکرو-فرانتاند چیست؟
در دو دهه گذشته پیدایش معماریهای مبتنی بر سرویس یا Service Oriented بسیار پر طرفدار بوده و به صورت مداوم نیز تکنیکها و راهکارهای جدیدی برای این مسئله بیان شده است. میکروسرویس پرطرفدارترین و موفقترین این معماریها بوده که امروزه به وفور استفاده میشود.
هدف میکروسرویس به صورت کوتاه این بود که بتواند یک اپلیکیشن بزرگ را به تکهها و سرویسهای کوچکتری تبدیل کند که در بهترین حالت میتوان به هر کدام آنها یک میکرو اپلیکیشن گفت. این سرویسها میتوانند به صورت جداگانه توسعه، دیپلوی و تست شوند، اما در نهایت تمام این موارد به همدیگر وابسته هستند و در کنار همدیگر یک برنامه بزرگتر را اجرا میکنند. هدف از انجام چنین کاری این بود که بتوان قسمتهای مختلف را با همدیگر مدیریت کرد اما هر کدام دارای فضای مستقل خودشان باشند.
در مقاله «Monolith یا Microservice - کدام گزینه برای شما بهترین است؟» ما سعی کردهایم به صورت کامل در ارتباط با چیستی این موضوع و تفاوت آن با روشهای قدیمیتر صحبت کنیم.
اگر به صورت کلی از یک اپلیکیشن صحبت کنیم میدانیم که بخش رابط کاربری و فرانت-اند در بیشتر اپلیکیشنها یک لایه جدایی ناپذیر و بسیار مهم بوده است. بیشتر شرکتها همواره سعی کردهاند تا بخشهای مختلف اپلیکیشن بخصوص بخش بک-اند را با استفاده از معماری میکروسرویس توسعه بدهند اما در بخش فرانت-اند همان الگوی یکپارچه و همیشگی را اجرا کنند. وقتی که موضوع به این شکل باشد مسلما یک تناقض وجود دارد و شما نمیتوانید ادعا این را داشته باشید که در حال توسعه یک اپلیکیشن به صورت تمام و کمال با الگوی میکروسرویس هستید.
دلیل اصرار روی میکرو-فرانتاند چیست؟
یکی از اصلیترین دلایل ورود به دنیای میکروسرویس، طبیعت پویای خود وب اپلیکیشنهاست. فریمورکها و کتابخانههای مربوط به توسعه نرم افزار همواره بروزرسانی شده و توسعه دهندگان نرم افزار نیاز دارند که خود را با این تغییرات وفق دهند. حال چنین چیزی دقیقا برای توسعه دهندگان رابط کاربری نیز اتفاق افتاده است. به همین دلیل است که روی توسعه معماری میکرو-فرانتاند اصرار میکنیم.
وقتی که بخواهیم میکروسرویس را با معماری یکپارچه مقایسه کنیم متوجه میشویم که موضوعات بسیار زیادی وجود دارد که میتواند به عنوان مزیت در نظر گرفته شده و در واقع راهکارهای نجات بخشی برای توسعه دهندگان باشد. بیایید با چند مزیت مهم این تکنیک آشنا شویم.
بروزرسانی و ارتقا آسان – در معماری یکپارچه، اعمال بروزرسانی و تغییر نسخه یک بخش از اپلیکیشن نیاز به تغییر در کل اپلیکیشن را دارد. از این جهت در صورتی که بخشهای مختلف اپلیکیشن نیاز داشته باشند که بروزرسانی شوند تقریبا مدیریت پذیری بسیار دشواری خواهند داشت. این در حالیست که در معماری میکروسرویس یا میکرو-فرانتاند همه تغییرات در بخشهای اختصاصی خود صورت گرفته و در نتیجه تمام اپلیکیشن درگیر نخواهد بود.
کدبیس تمیزتر – از آنجایی که در معماری میکروسرویس یک اپلیکیشن بزرگ به سرویسها و اپلیکیشنهای کوچکتری تبدیل میشود، کدبیس شما تمیزتر بوده و همه چیز دارای استقلال خود است.
کار تیمی آسانتر – زمانی که شما تیمهای مختلفی را برای توسعه اپلیکیشن در نظر میگیرد بسیار مهم است که این تیمها بتوانند بدون مشکل در کنار همدیگر برای هدف اصلی کار بکنند. در معماریهای یکپارچه انجام چنین کاری بسیار سخت است چرا که ادغامات و تداخلات بسیار زیادی میتواند اتفاق بیافتد.
چهارچوبهای میکرو-فرانتاند
رویکردهای بسیار زیادی برای پیادهسازی میکرو-فرانتاند وجود دارد که البته هیچکدام از آنها چندان فراگیر نبوده و افراد بسیار زیادی به صورت یکسان از آنها استفاده نمیکنند. اما در کنار تمام این موارد Bit به عنوان یک ابزار فراگیر برای میکرو-فرانتاند مورد استفاده قرار میگیرد.
Bit به توسعه دهندگان این امکان را میدهد تا بتوانند کامپوننتهای مختلف رابط کاربری را به صورت مستقل و جداگانه توسعه دهند و از معماری یکپارچه قدیمی خودداری کنند.
ما قبلا در وبسایت راکت فرایند پیادهسازی میکرو-فرانت اند با استفاده از ابزار Bit را بررسی کردیم که میتوانید در مقاله «چگونه میکرو فرانت-اند بسازیم ۱ || بخش ۲» آن را مطالعه کنید.
در پایان
اگر به دنبال تبدیل شدن به یک برنامه نویس فرانت-اند ماهر و همه فن حریف هستید به نظر میرسد که میتوانم شما را به یک چالش دعوت کنم. در این چالش شما باید سعی کنید یک اپلیکیشن رابط کاربری را ایجاد کنید که تمام استانداردهای دنیای میکرو فرانت-اند را در خود داشته باشد.
برای انجام چنین کاری شما باید جستجوهای بسیاری بکنید تا با این استانداردها آشنا شده و سپس ابزارهایی که در این زمینه میتوانند به شما کمک بکنند را شناسایی بکنید.
مطمئنا میکرو فرانت-اند یکی از موضوعاتی خواهد بود که در سالهای آینده به یک ترند تبدیل شده و افراد بسیار زیادی از آن استقبال میکنند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید