چرا Meteor؟

چرا Meteor؟

سلام دوستان. این اولین پست من در بابون هست و بیشتر در مورد Meteor پست میزارم و اگه تونستم و سوادم رسید کمی هم برم سراغ React و اکوسیستمش ( Redux, Flux, Graphql ). خیلی دوست دارم  که سریع برم تو مباحث آموزشی ولی ازونجایی که Meteor یه فریم ورک تقریبا ناشناخته ای تو ایران هست اول تو یک مقاله سعی میکنم بگم چرا Meteor بینظیره و چرا باید ازش استفاده کرد و بعد در اسرع وقت میریم دنبال آموزش ها.

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

طبق تعریف رسمی:

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

با Meteor شما اپلیکیشن ها را اینگونه مینویسید:

  • با جاوا اسکریپت خالص
  • داده های شما بر روی سیم منتقل میشود به جای HTML
  • از کتابخانه های متن باز مورد علاقه تان استفاده میکنید

 

خب من که زیاد ازین تعریف سر در نیاوردم که چی شد جز اینکه خیلی سادست امیدوارم شما متوجه شده باشید ولی بیام دلایل خودم رو برای Meteor بگم.

 

اول از همه : سادگی!

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

دوم: اپلیکیشن تک صفحه ای، realtime و reactive:

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

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

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

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

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

فک میکنم کافی باشه‌ :دی

پنجم: سرعت توسعه

هممم نمیدونم به نظرتون Authentication کار سختیه یا نه ولی فک میکنم اونقدر کار سخت و درگیر کننده ای هست که تعداد زیادی BAAS برای اینکار به وجود اومده، خب با Meteor باید تو ترمینالتون بزنید:

بوم!‌ تموم. یه سیستم کاربری کامل با پسورد هش شده، تایید ایمیل،‌ فراموشی ایمیل و … دارید.

ششم: امنیت

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

قدم بعدی:

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