در این صفحه می خوانید :
معرفی Stack (پشته)
کاربران امروزه به طور فزاینده ای خواستار تجربه وب سایت های پیچیده ای مانند اینترنت اکسپلورر و برنامه های تلفن همراه خود هستند که سطح بالایی از عملکرد و تعامل را به نمایش در می آورد. همزمان با این امر، فشار برای توسعه اپلیکیشن های جدید برای به روزرسانی سریعتر و مستمر نیز وجود دارد و این در حالی است که باید از دسترسی به برنامه و مقیاس پذیری در هر زمان که لازم باشد اطمینان داشت. خوشبختانه طیف گسترده ای از فناوری ها در اختیار شما قرار گرفته که این امکان را به وجود می آورد. یکی از چیزهایی که این تکنولوژی ها را به هم متصل می کند، جاوااسکریپت و جانشینان آن با فرمت داده JSON است.
معرفی MEAN Stack
در این بخش، یکی از تکنولوژی ها به نام MEAN را بررسی می کنیم که باعث توسعه اپلیکیشن های وب و موبایل مدرن می شوند. MEAN یک پشته وب منبع باز است که عمدتا برای ایجاد برنامه های میزبانی ابری استفاده می شود. جاوااسکریپت یک زبان محبوب برای توسعه Front-end وب است که انعطاف پذیر، پویا و آسان برای استفاده است. اما چند سالی است که برای توسعه بک اند و پایگاه داده نیز امکان پذیر شده است، توسعه دهندگان می توانند برنامه های کاربردی را با استفاده از end-to-end جاوااسکریپت توسعه دهند. همچنین استاندارد سازی در جاوااسکریپت فرصتی برای استفاده مجدد از کد در کل برنامه فراهم می کند که باعث کاهش بازسازی غیر ضروری می شود.
MEAN مخفف MongoDB، ExpressJS، AngularJS و Node.js است. مجموعه ای از کامپوننت ها که با هم، یک فریمورک end-to-end برای ساخت اپلیکیشن های وب ارائه می دهند. هر پشته نرم افزار متشکل از یک سیستم عامل، یک پایگاه داده، یک سرور و یک پلتفرم توسعه است، همه چیزهایی که شما باید برای ساخت و اجرا بک اند یک وب سایت یا اپلیکیشن وب داشته باشید. بر خلاف دیگر پشته های معمولی MEAN stack کاملا جاوااسکریپت است و به لطف Node.js محیط توسعه JS قابلیت Back-End جاوااسکریپت را فراهم می کند.
پشته MEAN متشکل است از :
مانگو دی بی: یک پایگاه داده NoSQL برای کاربردهای ابر طراحی شده است که به جای یک مدل ارتباطی از سازمان شی گرایی استفاده می کند.در پشته MEAN مانگو دی بی نقش ذخیره سازی داده های برنامه را اجرا می کند. از آنجا که برنامه و پایگاه داده از جاوااسکریپت استفاده می کنند، نیازی به ترجمه شی از بخش Back-end برنامه به پایگاه داده نیست. شما می توانید فیلدهایی را بدون بارگذاری کل جدول به پایگاه داده اضافه کنید. با صرف چند کلیک، می توانید منابع موجود در پایگاه داده خود را گسترش دهید .
انگولار : فریمورک اپلیکیشن وب که کدهای جاوااسکریپت را در مرورگر کاربر اجرا و باعث می شود رابط کاربری برنامه پویا باشد. این فریمورک به طور پیش فرض برای توسعه جاوااسکریپت است. پشته MEAN شامل AngularJS است که به توسعه دهندگان کمک می کند طرف مقابل کاربر را ایجاد کند. از آنجا که بخش Front-End و Back-End و پایگاه داده همه در جاوااسکریپت ساخته شده است، یک جریان واضح از اطلاعات بین تمام قسمت های برنامه شما وجود دارد.
اکسپرس جی اس : فریمورک اپلیکیشن وب در Back-end است که در بالای Node.js اجرا می شود. اکسپرس با تشکیل بخش Back-end از پشته MEAN تمام تعاملات بین Front-end و پایگاه داده را تضمین می کند و انتقال صحیح داده ها به کاربر نهایی را تضمین می کند. هدف از طراحی اکسپرس این است که با Node.js مورد استفاده قرار گیرد. بنابراین استفاده از جاوااسکریپت از طریق پشته ادامه می یابد. اکسپرس همچنین می تواند از شما در مقابل خودتان محافظت کند، زیرا از ماژول استاندارد CommonJS استفاده می کند تا از نوشتن غیرمستقیم متغیرها در فضای نام مشترک جلوگیری کند. در این روش شما نمی توانید تصادفی یک متغیر را که قبلا ایجاد کرده اید مجدد تعریف کنید.
نود جی اس : یک فریمورک جاوااسکریپت است که از رویداد های ناهمگام برای پردازش چندین اتصال به طور همزمان استفاده می کند. شما احتمالا Node.js را در بیشتر وب سایت های شناخته شده وب پیدا خواهید کرد. Node.js ستون فقرات MEAN است. اکسپرس به منظور ساخت بالای Node.js کار می کند و AngularJS به طور یکپارچه به Node.js متصل می شود تا داده های سریع داده شود. این فریمورک با یک سرور وب یکپارچه همراه است و آسان ساختن پایگاه داده MongoDB و کاربرد آن در ابر است. بزرگترین قدرت Node.js مقیاس پذیری آن است. برنامه های کاربردی ابر، هنگامی که با سرعت به ستون های استفاده کننده پاسخ دهند، این فریمورک می تواند یک میلیون اتصال همزمان را پشتیبانی کند.
دلیل اهمیت MEAN Stack
هنگام ساخت یک برنامه از ابتدا، استفاده از یک بسته نرم افزاری سازگار و استاندارد شده حیاتی است. بخش بک اند خود را با استفاده مجموعه ای از ابزارها که جهت همکاری با هم طراحی شده و زمان و منابع توسعه توسعه را کاهش می دهد ایجاد می کنید. MEAN یک پشته نسبتا جدید است و در حالی که برای هر نرم افزار مناسب نیست، بسیاری از کاربردهای جالب در آن وجود دارد. انتخابی قوی برای توسعه برنامه های کاربردی ابری Native به شمار میرود که دلیل آن مقیاس پذیری و توانایی آن برای مدیریت همزمان کاربران است. فریمورک AngularJS آن را برای توسعه برنامه های یک صفحه ای (SPA) ایده آل می کند که تمام اطلاعات و قابلیت ها را بر روی یک صفحه سرویس دهی می کنند.
برخی از مزایای MEAN Stack :
- ایجاد برنامه های مقیاس پذیر که برای استقرار ابری بهینه شده اند.
- به طور کلی توسعه با استفاده از یک زبان در تمام بخش های برنامه
- ساده سازی استقرار با یک وب سرور داخلی
- حجم انبوه اطلاعات را با انعطاف پذیری MongoDB مدیریت کنید.
معماری MEAN Stack
هنگامی که یک مشتری درخواستی را ایجاد می کند، ابتدا توسط Angular.JS پردازش می شود. پس از آن، درخواست از Angular.JS وارد بخش دوم که Node.JS است وارد می شود. این یک محیط مجازی open-source، cross-platform جاوا اسکریپت است که کد را به سمت سرور اجرا می کند. بعد از آن Request وارد قسمت سوم Express.Js می شود. سپس Express.js این درخواست را به پایگاه داده MongoDB می دهد. پس از آن MongoDB داده ها را بازیابی می کند و پاسخ را به Express.Js می دهد. سپس Express.Js پاسخ دریافت شده از Express.Js را به Node.JS و سپس Node.JS آن را به Angular.JS بازمی گرداند تا نتیجه را نمایش دهد. این فرایند معماری MEAN پشته است.