علیرضا نصرالله زاده
علیرضا نصرالله زاده
خواندن ۴ دقیقه·۳ سال پیش

مقایسه واقع بینانه لاراول و دات نت کور

پیدا کردن platform مناسب برای پروژه ای که می خواهید بنویسید می تواند بسیار چالش برانگیز باشد و همین دلیلی است برای این موضوع که چرا شرکت های برنامه نویسی و برنامه نویسان دائم این سوال را می پرسند که کدام انتخاب بهتری است، Asp.Net Core یا PHP ؟ اگر این سوال را در وب جستجو کنید، تقریبا 2 گروه از افراد وجود دارند، گروه اول کسانی که به شدت طرفدار PHP هستند و گروه دوم کسانی که به مزایای Asp.Net Core اهمیت می دهند و از آن در پروژه های خود استفاده می کنند. حال این سوال برای ما پیش می آید که واقعا باید از کدام استفاده کنیم؟ مزایا و معایب هرکدام چیست؟ آیا می شود برای پروژه های بزرگ و Business Application ها از هر دو استفاده کرد؟

با ما در این مقاله همراه باشید تا پاسخ تمام این سوالات را بدهیم.

اولین نکته که باید در ابتدای مقاله به آن توجه داشته باشید این است که PHP یک زبان برنامه نویسی است که از آن فریمورک های زیادی مانند Laravel و Yii مشتق شده اند. اما Asp.Net Core یک فریمورک از زبان #C است. درحالت کلی ما نمی توانیم یک فریمورک را با یک زبان برنامه نویسی مقایسه کنیم مگر آن که مشخصات کلی آنها مانند سرعت، پلتفرم، هزینه ها و ... را بررسی کنیم. در این مقاله به مقایسه این دو محیط توسعه جذاب می پردازیم.

ماهیت Asp.Net Core و PHP

PHP مخفف شده Hypertext Preprocessor ، که در گذشته به Personal Home Page معروف بوده است. این زبان در ابتدا توسط آقای Rasmus Lerdorf در سال 1994 طراحی و ساخته شده. از PHP بیشتر برای ساخت وب سایت های کوچک یا CRM های معمولی استفاده می شود.

اما Asp.Net Core توسط کمپانی بزرگ ماکروسافت در سال 2016 طراحی و اجرا شده است. ماکروسافت پیش از این درحال توسعه Asp.Net قدیمی بود اما از سال 2016 به بعد، توسعه آن را تعلیق و فریمورک کاملا مدرن و جدید خود را رونمایی کرد. از Asp.Net Core به دلیل قدرت و تمرکز آن بر روی برنامه های بزرگ، بیشتر برای توسعه برنامه های Enterprise یا CRM های بزرگ و یا ERP ها و وبسایت های سطح بالا استفاده می شود.

تفاوت مقیاس پذیری در PHP و Asp.Net Core

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

مساله مقیاس پذیری به هیچ عنوان به زبان برنامه نویسی و فریمورک ربطی ندارد. این کاملا به برنامه نویسان و توسعه دهندگان سیستم مربوط است که آیا خوب کد نوشته اند یا خیر، آیا سیستم ها را از هم جدا کرده اند یا خیر؟

پس در این مورد، یعنی مقیاس پذیری، نمی توان مقایسه ای بین زبان ها و فریمورک ها انجام داد. اما نکته حائز اهمیت این است که باید پلتفرمی را انتخاب کنید که شما را به سمت و سوی مقیاس پذیری هدایت کند. Asp.Net Core با توجه به ابزارهای کامل و پشتیبانی ماکروسافت از فضای ابری، کاملا آمادگی مقیاس پذیر شدن را دارد. برنامه هایی که با Asp.Net Core نوشته شده اند را می توان با مقدار کمی کد نویسی به Microservice های کوچک تبدیل کرد. Asp.Net Core با امکانات وسیعی که برای شئ گرایی ارائه می دهد، باعث می شود ناخداگاه به سمت ماژولار کردن برنامه و جداسازی سیستم ها از یکدیگر بروید و باعث تولید کدهای به هم تنیده و اصطلاحا spaghetti نشوید.

برنده این مقایسه: PHP و Asp.Net Core اما پیشنهاد ما Asp.Net Core است.

تفاوت سرعت Asp.Net Core با دیگر پلتفرم ها

یکی از مواردی که Asp.Net Core را نسبت به دیگر سیستم ها متفاوت کرده است که صد البته جزو مزیت های منحصر به فرد این فریمورک محسوب می شود، سرعت به شدت بالای آن در پاسخگویی به درخواست ها است. تا پیش از این، از NodeJs، Django یا Laravel به عنوان فریمورک های پرسرعت دنیای وب یاد می شد، اما پس از معرفی Net Core. و مشاهده نتایج بنچمارک های معروف، همه به این مهم اقرار کردند که Asp.Net Coreدر حال حاضر سریعترین، بله تکرار میکنم، سریعترین فریمورک دنیا در پردازش درخواست و بازگرداندن نتیجه به کاربر (Response) است


وب سایت شخصی من
https://alirezanasrollahzadeh.ir

علیرضا نصراله زاده برنامه نویس ارشد اندروید رتبه 1 مسابقات کشوری برنامه نویسی اندروید بیش از 6 سال تجربه در تحلیل و توسعه نرم افزار های اندروید https://alirezanasrollahzadeh.ir
شاید از این پست‌ها خوشتان بیاید