امیرمحسن کسایی
امیرمحسن کسایی
خواندن ۲ دقیقه·۵ سال پیش

آخرش با چی REST API بنویسم ؟


سلام . بعنوان یک فریلنسر یکی از دغدغه های خودم و کارفرما اینه کدوم پلتفرم رو برای REST API انتخاب کنیم و برای خودم مقایسه ابزار های برنامه نویسی و فریم ورک ها خیلی جذابه . در این مقاله 5 تا از برترین فریم ورک ها از زبان مختلف برای نوشتن Rest Api مقایسه می کنیم این مقایسه شامل چهار تست هست که بروی سه تا سرور با مشخصات زیر مقایسه شده .




  • 1 CPU, 512 MB
  • 4 CPU, 8 GB
  • 12 CPU, 32 GB

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

  1. تست Hello world در این تست یک respond از نوع json به کلاینت ارسال میشود که شامل رشته HelloWorld است .
  2. تست محاسبه : در این تست جمله 10000 دنباله فیبوناچی حساب می شود.
  3. یک کوئری ساده Select: یک جدول کشور در دیتابیس هست که میخواهیم response لیست کشور ها مشاهده شود
  4. جوین : عملیات جوین را مقایسه می کنیم مثلا لیست کسانی که از کشور فرانسه بازدید کرده اند و از همه کشور ها هم فقط یک بار بازدید کرده اند .

تکنولوژی های مورد استفاده در این تست و عملکرد

  • Laravel 5, PHP 7.0, Nginx
  • Lumen 5, PHP 7.0, Nginx
  • Express JS 4, Node.js 8.1, PM2
  • Django, Python 2.7, Gunicorn
  • Spring 4, Java, Tomcat
  • .NET Core, Kestrel

و مشاهده نتایج

در این تست از ابزار wrk و ab برای ارزیابی در نظر گرفته شده و تاخیر شبکه نیز در نظر گرفته نشده

تست اول
تست اول
تست دوم
تست دوم
تست سوم
تست سوم
تست چهارم
تست چهارم

حالا آخرش با چی REST API بنویسم ؟

طبق نتایج بالا همین طور مشاهده می کنید Node JS عملکرد بسیار خوبی نسب به سایرین داشته و جاوا اسپرینگ هم خوب بوده اما این دلیل بر این نیست که بقیه فریم ورک ها ضعیف هستند . کاملا بستگی به این دارد که شما چه انتظاری دارید . مثلا هیچ بانکی از php استفاده نمی کند اکثرا از جاوا استفاده می کنند . اگر کار شما شامل پردازش گفتار و تصویر و شبکه های عصبی هست گزینه پایتون مناسب است . اگر شبکه اجتماعی دارید چت کاربران Node js اگر یه فروم دارید یا یک فروشگاه php . ولی اکثر این فریم ورک ها می توانند نیاز معمولی یک وب سایت را برآورده .

با این حال پیشنهاد من استفاده از Node js اکسپرس میباشد چون کاملا مشخص است طبق تست کاملا با فریم ورک های سختی مثل spring ,asp.net عمل میکند اما با یادگیری ساده شما کافی است Javascript ES6 را یاد بگیرید با یک تیر چند نشان رو زدی . با تکنولوژی های ساخت وب سایت و اپلیکیشن مثل REACT , VUE JS, ANGULAR می توانید وب سایت یا اپلیکیشن خود را طراحی کنید

راستی کد ها رو می توانید از گیت استفاده کنید

شما چه فکر میکنید تجربیات خودتون به اشتراک بزارید تا همه استفاده کنند

برای مشاوره می توانید با تلگرام من در ارتباط باشید


مقایسه node و phpمقایسه rest apiپایتوناسپرینگسرعت node js
عشق در نگاه اول وجود داره هه!!! منم عاشق #کامپیوتر شدم :)آیدی تلگرام Contact98
شاید از این پست‌ها خوشتان بیاید