مقایسه MEAN و MERN
۱۸ آذر ۱۳۹۹
بررسی برخی موارد پایه قبل از پرداختن به پیچیدگیهای MEAN و MERN، دیدگاه بهتری از آنچه که درمورد آنها صحبت میکنیم به ما خواهند داد:
- MongoDB یک دیتابیس NoSQL، class-platform و document-oriented است که توسط بکاند برای ذخیرهی دادههای شما به صورت آبجکت از آن استفاده میشود.
- Express یا Epress.js یک فریمورک رایگان و متنباز است و این روزها بهعنوان یک فریمورک استاندارد مبتنی بر Node.js از آن یاد میشود.
- Angular یک فریمورک متنباز برای برنامههای وب است که توسط Google توسعه داده شده و میتوانیم آن را نسخهی بازنویسی شدهی AngularJS بدانیم.
- Node.js یک runtime به زبان JavaScript است که به شما اجازه میدهد از کدهای JavaScript در بکاند استفاده کنید.
- React یا React.js یک کتابخانه فرانتاند به زبان JavaScript است که توسط Facebook ساخته شده و از آن برای ایجاد UI صفحههای وب استفاده میشود.
MEAN چیست؟
MEAN مخفف شدهی چهار تکنولوژی MongoDB، Express، Angular و Node.js است که توسعهدهندگان در بسیاری از وبسایتها و برنامههای پیچیدهی وب از آنها استفاده میکنند. این فریمورکها و تکنولوژیهای متنباز سرعت توسعهی شما را بهعنوان یک توسعهدهنده JavaScript افزایش میدهند و به این صورت زمان کمتری از شما برای مدیریت سیستم و تکنولوژیهای مختلف گرفته میشود. همچنین امکان توسعهی سریعتر وبسایتها، برنامههای وب و APIها را فراهم میکنند.
مزایای MEAN
- به لطف MEAN توسعهی فرانتاند و بکاند بسیار آسان و سریع شده است زیرا توسعهدهندگان فقط بر روی کدهای JavaScript تمرکز دارند. یک متخصص JavaScript میتواند یک پروژه را کاملا با این مجموعه تکنولوژی مدیریت و به لطف Node.js، بر روی سرور راهاندازی کند.
- جابهجایی کدهایی که در یک فریمورک خاص نوشته باشند، آسانتر است و این باعث میشود تا MEAN یک مجموعه تکنولوژی شگفت انگیز باشد. همچنین شرکتهایی که از MEAN برای توسعه برنامهها استفاده میکنند متوجه این پتانسیل در توسعهی وب و پروژههای کاربردی شدهاند.
- MEAN انعطافپذیر است و به شما امکان میدهد پس از پایان موفقیت آمیز فرایند توسعه، برنامه را بهراحتی بر روی پلتفرمهای ابری آزمایش کنید و یا توسعه دهید.
- MEAN مقرون به صرفه است زیرا برای توسعهی برنامههای کاربردی فقط به متخصصان JavaScript نیاز است و مانند LAMP نیست که به توسعهدهندگان PHP و MySQL علاوهبر JavaScript نیز نیاز دارد. با MEAN برای انجام پروژهها به تعداد کمتری توسعهدهنده نیاز است و هزینهی صرف شده برای استخدام توسعهدهندگان نیز کاهش مییابد.
- تمام فناوریهای نام برده شده در این مجموعه، متنباز و رایگان هستند که به این صورت با استفاده از کتابخانههایی که به صورت رایگان در ریپازیتوریها قرار دارند، هزینهی توسعه کاهش پیدا میکند.
MERN چیست؟
MERN هم مانند MEAN ترکیبی از چهار تکنولوژی است که برخی از آنها نیز مشابه هستند. MongoDB، Express، React و Node.js تکنولوژیهایی هستند که در این مجموعه از آنها استفاده میشود و برنامههای وب را میتوان به کمک آنها توسعه داد.
مزایای MERN
- توسعهی وب در React با کامپوننتهایی انجام میشود که stateهای مختص به خودشان را دارند و توسط React رندر میشوند. در این فریمورک با کنارهم قرار دادن کامپوننتهای مختلف یک کامپوننت بزرگتر تشکیل میشود که ظاهر کلی برنامه را شکل میدهد. این کامپوننتها وظیفهی کار با دادههای state، بخش ظاهری و نحوهی رندر شدن صفحه را مدیریت میکنند. با تقسیمبندی کردن کل برنامه به کامپوننتهای کوچکتر و تمرکز کردن بر روی توسعهی هر کدام از آنها میتوانید برنامهی اصلی را راحتتر درک و پیادهسازی کنید. همچنین برای ارتباط میان کامپوننتها، دادههای state میان آنها به اشتراک گذاشته میشود.
- از آنجا که React میتواند بر روی سرور اجرا شود، بسیار isomorphic است و این بدان معناست که کدهای مشابه نیز میتوانند در مرورگر و در سرور باشند. این قابلیت به شما امکان میدهد هر زمان که بخواهید صفحههای جدیدی را در سرور ایجاد کنید.
- تمام فناوریهای MERN رایگان و متنباز هستند. همچنین جامعهای از توسعهدهندگان و مختصصان وجود دارد که به شما کمک میکنند تا مشکلها را رفع کنید.
- با تکنولوژیهای MERN، تمام چرخهی توسعه از فرانتاند گرفته تا بکاند نیز پوشش داده میشود.
- MERN از معماری MVC (Model View Controller) پشتیبانی میکند که باعث میشود روند توسعه به خوبی انجام شود.
- در MERN یک مجموعه از ابزارهای تست به صورت pre-built وجود دارد.
- React یک فریمورک نیست بلکه یک کتابخانه است. این یک یک مزیت محسوب میشود زیرا فریمورک محدود است و روش مشخصی برای انجام کارها دارد. یک کتابخانه، ابزارهایی را در اختیار شما قرار میدهد که میتوانید از آنها برای ساخت برنامهی خود استفاده کنید اما یک فریمورک شما را محصور میکند و فقط میتوانید در بدنهی آن برنامهی خود را توسعه دهید. یک توسعهدهنده باتجربه با استفاده از کتابخانهها میتواند برنامهی خود را با آزادی کامل در انتخاب عملکردهای مورد نیاز بسازد.
جمعبندی
MEAN مدت زمان طولانیتری نسبت به MERN در میان توسعهدهندگان حضور داشته اما هر دو آنها مزایای خودشان را دارند، بااینحال محبوبیت MERN بهتدریج درحال افزایش است و توسعهدهندگان بیشتری میخواهند دربارهی آن بدانند.
MERN به شما در ساخت وبسایتهای شبکههای اجتماعی، CMS، ابزارهای تحلیلی، بازیهایی که در مرورگر اجرا میشود، APIها، وبسایتهای تجارت الکترونیک و بسیاری از پروژههای دیگر کمک میکند.
توسعهدهندگان دربارهی ما چه میگویند
تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...
MohammadReza
keikaavousi
بعد از بسته شدن @fandoghpaas و ناراحتی همهمون از اینکه یه سرویس خوب و صادق نمیتونه از پس هزینهها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوتهایی داشت که کمی کار میخواست ولی تا الان کاملا راضی.
jadi
jadi
یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.
Arch
EbadiDev
واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیتهای سرویس دیتابیسشون اینه که خودشون به صورت دورهای بکآپ میگیرن.
...
Ali Najafi
me_ali_najafi
یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@
Navid
1navid
عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم
Amir H Shekari
vanenshi