سلام METEOR : آشنایی و معرفی این فریمورک

آشنایی با فریم ورک METEORJS
آشنایی با فریم ورک METEORJS

سلام دوستان ویرگولی. توی این مقاله قصد دارم یک فریم ورک جدید تحت NodeJS معرفی کنم. اسم این فریمورک Meteor هست که تو ایران تقریبا ناشناخته محسوب میشه. من خودم به تازگی با این فریمورک دوست داشتنی آشنا شدم و سعی دارم که بگم چرا Meteor فوق‌العاده هست و چرا باید ازش استفاده کرد.

من در این پست سعی میکنم مقاله هایی که خوندم رو با تجربه خودم مخلوط کنم تا یک دید خوب نسبت به Meteor برای شما بسازم. در مقالات بعدی سعی میکنم کامل موارد و آموزش های مختلف در این باره را توضیح دهم.

مثل ماکارانی پختن، شروع به کار کنید

شما برای شروع کار با Meteor تنها اگر syntax های جاوااسکریپت بلد باشید کافیست. به علاوه یک ایده کلی راجع به دیتابیس ها. با دونستن این دو مورد به شما قول میدم میتونید تو ۲ روز در حین یادگیری اپلیکیشنی که با ابزار های دیگه در صورتی که مهارت کامل را داشته باشید حداقل یک هفته طول میکشه رو بنویسید.

یک بار بنویسید، چند خروجی بگیرید

اگر قرار باشه یک اپلیکیشن تک صفحه ایی و یا یک اپلیکیشن realtime و یا اینکه یک اپلیکیشن با ReactNative بنویسید قاعدتا کار سخت و دشواری میشه. (خداییش سخته :|‌ )

اما در METEOR این قاعده برعکس هست. با Meteor خیلی سخته اپلیکیشنی بنویسید که این ویژگی ها رو نداشته باشه!!! یعنی به صورت پیش فرض هست و اگر قصد غیر فعال کردن داشته باشید باید یک سری مراحل اضافه انجام دهید.

بذارید دقیقا همین عنوان را یک بار دیگه تکرار کنم و یک بار دیگه توضیح بدم.

وب از شما اندروید، iOS و دسکتاپ از Meteor

بر خلاف موضع گیری الکی علیه اپلیکیشن های hybrid تو جامعه توسعه دهنده های ایرانی من معتقدم واسه اکثر استارتاپ ها اپلیکیشن های Hybrid بهترین گزینه هست. راجع به خود موبایل اپلیکیشن های Meteor کافیه بگم که با توجه به cordova ای که داخل خود Meteor به صورت بومی وجود داره برای ساخت اپلیکیشن های موبایل کافیه دو دستور خیلی خیلی ساده در ترمینال وارد کنید. مثلا:

meteor run android
meteor run ios

همه چیز جاوا اسکریپت

اگر شما توسعه دهنده جاوااسکریپت نباشید ممکنه این براتون ترسناک باشه. اما باز هم این اطمینان را میدم که شما برای کار کردن با همه چیز Meteor به همون اندازه به جاوا اسکریپت نیاز دارید که هر وب سایت دیگه‌ای رو بخواید با زبان های دیگه بنویسید. مسلما اگر میخواهید بهتر از Meteor استفاده کنید باید جاوا اسکریپت کار خفنی بشید ولی برای شروع اگه چیزی از Async یا callback یا حتی ES6 و چیز های مشابه ندونید هیچ مشکلی واستون پیش نمیاد فقط کافیه syntax اولیه رو بدونید.

خب پس با Meteor شما تمام Server ، Client و دیتابیستون رو با جاوا اسکریپت مینویسید.

مثل برق، سریع‌ توسعه دهید

نمیدونم به نظرتون Authentication کار سختیه یا نه! ولی فک میکنم اونقدر کار سخت و درگیر کننده ای هست که تعداد زیادی BaaS برای اینکار به وجود آمده، این کار در Meteor با یک کد در ترمینال انجام میشود. بعد از اجرا شما یک سیستم کاربری کامل با پسورد hash شده، تایید ایمیل،‌ فراموشی ایمیل و … دارید.

کد اجرا در ترمینال:

meteor add accounts-password

امنیت

باید بگم Meteor یک فریمورک Full-stack هست و به عنوان DBMS از MongoDB استفاده میکند و به صورت پایه از RDBMS ها در مقابل injection ها امنیتی خیلی بالاتری دارد. همینطور به خاطر معماری MVVM و دیتابیس سمت کلاینت و تخصص افراد کمی در این فریمورک هک کردن یک اپلیکیشن Meteor کار سخت تری از یه اپلیکیشن با فریمورک های دیگه هست.