مهندس سخت افزاری که آهنگسازی میکنه و عاشق ادبیاته :) وبگاه شخصی : haghiri75.com
چگونه وکیل مدافع شیطان شویم؟ (یا چگونه با JS بکند پروژه های خود را بزنیم!)
احتمالا دوستانی که من رو میشناسند، مطلع هستند زبانی که بیشتر پروژه های خودم (بخصوص پروژه های تحت وب) رو باهاش میسازم، زبان روبی است. روبی زبانی سادهست. گیراست و به سادگی هم همه جا در دسترسه (بخصوص با ابزارهایی مثل RVM یا Docker ).
اما مدتی هم میشه که شنیدم برای پروژه های Backend میشه از جاوااسکریپت استفاده کرد. ابتدا خیلی به این موضوع خوشبین نبودم ولی کم کم با خودم گفتم «خب که چی؟!» و نهایتا در گوگل سرچ کردم Backend development in javascript . اولین نتیجه فرمورکی بود به نام Express. مدت بسیاری بود که فرمورک Sinatra در روبی دوست من بود اما بعد از پیدا کردن اکسپرس چند روزی میشه که اینطوری شدم :
- خب، چی باعث شد که این اتفاق بیفته؟ در لیست زیر در موردش توضیح میدم :
- اکسپرس سادهست. مثل سیناترا. من کلا چهار روز نیست وقت گذاشتم و خیلی چیزهایی که در طولانی مدت یاد گرفته بودم رو تونستم در مدت کوتاهی اینجا پیاده کنم!
- احتمالا پروژه هایی که میزنیم، بخش فرانتند و حتی دیتابیسش هم جاوااسکریپتی باشه (مثلا مونگو دیبی). پس این فکر خوبیه که بکند هم ببریم روی چنین فرمورکی از همون زبان تا اگر تیمی داریم روی موضوع کار میکنیم، همه اعضای تیم به زبان مسلط باشن (نمیدونم دقیقا این مزیته یا نه، ولی شاید برای من باشه!)
- راه اندازی یک پروژه اکسپرس بسیار ساده تر از چیزی بود که فکر میکردم. شاید همین عامل، خودش باعث بشه که بیشتر بهش فکر کنم برای پروژه ها!
- و مهمترین نکته، حجم زیاد و خوب داکیومنت های این فرمورک بود. چیزی که خیلی از فرمورکها از کمبودش رنج میبرن!
در این مطلب قصد ندارم وارد ابعاد فنی بشم و نمونه کد و ... نشون بدم (ویرگول جان، کاش یه آموزشی چیزی که چطور کد رو مثل آدمیزاد نشون بدیم و سینتکس هایلایت کنیم و ... داشتی) و تنها قصد داشتم که کشف جدیدم رو معرفی کنم. امیدوارم مطلب براتون مفید بوده باشه!
در آخر هم یک لینک به وبسایت Express.js میدم (امیدوارم البته ویرگول این رو بکلینک در نظر نگیره و مطلبم پاک نشه :)) ) و خب اگر اهل فن باشید، احتمالا نیازی نخواهید داشت به خوندن ادامه مطالبم. در غیر این صورت، باید کمی منتظر باشید تا تجربیات خودم رو به صورت کد در اختیارتون قرار بدم :)
مطلبی دیگر از این انتشارات
JWT یا JSON Web Token چیست؟؟( قسمت دوم )
مطلبی دیگر از این انتشارات
وصل شدن به vps از طریق Public Key
مطلبی دیگر از این انتشارات
مار های ناهمزمان! ( async in python )