در این مقاله تلاش متواضعانه ای را برای مقایسه بین ( Php7 و . Net core )انجام میدهیم، و امیدواریم، در پایان آن، شما قادر به انتخاب یک از این دو مورد برای پروژههای خود باشید .
قبل از شروع لازم به ذکر است که زبانهای برنامهنویسی هر کدام دقیقا عین یک آچار میباشند که شما برای هر پیچی باید از آچار منحصربهفرد خودش استفاده کنید و خیلی مقایسه زبانهای برنامهنویسی کار حرفهای نیست اما برای پیدا کردن آچار مناسب باید ویژگیهای هر آچار(زبان برنامهنویسی) رو بدونید.
1. مقیاس پذیری
(مقیاسپذیری (به انگلیسی: Scalability)، ویژگی مطلوبی از یک سامانه(سیستم)، شبکه یا فرایند است که به توانایی آن برای پاسخگویی به افزایش میزان بار کاری به سهولت دلالت میکند یا میزان آمادگی سیستم را برای افزایش بار کاری نشان میدهد)
PHP خیلی مقیاس پذیر است و اگر توسعهدهنده گان مهارت کافی را داشته باشند، نرمافزاری یکپارچه و با پاسخ گویی بالا خواهند داشت ، اگر چه شما اگر به یک چهار چوب جامع با بهترین استانداردهای برنامهنویسی برای توسعه یک برنامه مقیاس پذیر نیاز داشته باشید .Net یکی از بهترین انتخاب ها است .
*برنده مقیاس پذیری : هر دو مساوی
2. عملکرد و سرعت
عملکرد و سرعت یک چارچوب مکمل یکدیگر هستند. مهم نیست که از کدام خط مشی استفاده میکنید، زمان پاسخ دهی توسط مرورگر و سرعت ارتباط بین سرورها به هم متصل کارایی خط و مشی شما را نشان خواهد داد .PHP هیچ محدودیت سرعتی ندارد، چرا که در سیستمهای عملیاتی مختلف کار میکند.و قرار گرفتن بر روی سیستمعامل لینوکس شانس انجام بسیار بهتر از سایر سیستمعامل را به آن میدهد . همچنین از پشته LAMP استفاده میکند. علاوه بر عملکرد و سرعت پاسخگویی سرعت راه اندازی و لانچ سریع پروژهها در آن بسیار بالاست . اما در مقابل آن آخرین نسخه .Net نسخه کور قابلیت اجرا بر روی تمام سیستمعامل ها( لینوکس و ویندوز و مک) بدون محدودیت و با قابلیت پشتیبانی از پایگاه دادههای مانند SQL Server، PostgreSQL، Oracle و غیره به همراه کتابخانههای قدرتمند آنها را داراست که بر اساس بنچمارک های معروف جهانی توانسته گوی سبقت سرعت پاسخ دهی رو از php بروباید.
*برنده عملکرد و سرعت : Net Core.
3.هزینه
PHP متنباز است و از این رو استفاده از آن رایگان میباشد. علاوه بر این، PostgreSQL ، MySQL، سرور Apache، و سیستمعامل لینوکس نیز آزاد و رایگان هستند. شما میتوانید هر زمان که نیاز است به ارتقا رایگان پروژ های خود بپردازید.
قبل ازنسخه دات نت کور، شما باید سیستمعامل ویندوز را خریداری کنید ، هزینه مجوز برای مایکروسافت ویندوز سرور، Microsoft SQL Server و بعدها برای ارتقا آن هزینه پرداخت کنید. به عنوان مثال، نسخه استاندارد ویندوز سرور ۲۰۱۴ (برای کسبوکار کوچک)تقریبا ۳،۲۲۶ دلار هزینه خواهد داشت. اما جدیدترین ورژن پلتفرم .Net نیز آزاد و متن باز است، Net Core. هم کاملا رایگان و قابلیت اجرا روی لیتوکس و سایر سیستمعامل ها رو داراست البته هم اکنون که بنده در حال نوشتن مقاله هستم هنوز سرورهای ایرانی کاملا نتوانسته اند سیستمعامل لینوکس رو برای دات نت کور آماده کنند و کمک کم در حال آمادهسازی و پشتیبانی از دات نت کور هستند.
*برنده هزینه : هر دو
4.امنیت
در توسعه پروژهها مشخص کردن این که کاربر نهایی چه کسی خواهد بود و امنیت در چه سطحی اهمیت دارد بسیار مهم است. PHP کاربر محور بوده و به نیازمندیهای کاربر نهایی اهمیت بالایی میدهد ، این در حالیست که .NET کمی سختگیرانه برخورد میکند زیرا به امنیت و Functionalities اهمیت بیشتری میدهد و نیازمندیهای کاربر نهایی در مرحله دوم قرار میگیرد. همچنن.Net Core با پشتیبانی از اتصال OAuth۲ - JWT HMAC - JWT (استاندارد ترجیح دادهشده برای وب ۲.۰) آخرین پروتکل امنیتی را پشتیبانی میکند که ما میتوانیم سیستم تایید هویت و مجوز خود را در آن ایجاد کنیم.
*برنده امنیت : ASP.NET، درصورتی که ویژگی امنیتی اهمیت بیشتری داشته باشد.
5. وضعیت اشتغال و سهولت کار :
برای یک برنامهنویس با تجربه Php شغل های بسیاری وجود دارد. شرکتها همیشه دنبال یک برنامهنویس Php هستند. اما این بدین معنا نیست که برای یک برنامهنویس .Net فرصت شغلی وجود ندارد اتفاقا از آنجا که مایکروسافت یک چارچوب جدید معرفی کرده است، شرکتها و افردای که از نسخههای قبلی استفاده می کرند در حال حاضر به آرامی به سمت نسخه جدید .Net Core حرکت میکنند. این امر باعث ایجاد مشاغل بیشتر برای توسعهدهندگان .NET در بازار شده است.
سهولت کار و سرعت یادگیریPhp بسیار زیاد است اما در مقابل.Net core کار توسعهدهندگان .Net را بسیار آسان کرده است و توسعه دهنگان و برنامهنویسان .Net Core لازم نیست خو را درگیر موارد زیر بکنند :
IOC containers (Dependency Injection), Logging mechanism, thentication, and Authorisation mechanism
*برنده مشاغل و سهولت استفاده : هر دو مساوی
6. منحنی یادگیری
Php خیلی آسان است و هر فرد مبتدی میتواند به راحتی راه خود را در این مورد پیدا کند. مستندسازی و نحو کارها ساده و مبتدی بوده و کاربران میتوانند به راحتی از آنها پیروی کنند. افرادی که با C آشنا هستند به راحتی میتوانند در Php کار کنند. همچنین ماژول های عملکردی بسیاری از قبیل مبدل PDF، مبدل نوع فایل، نمودار و غیره را فراهم میکند که به توسعه هندگان کمک میکند تا وظیفه خود را به سرعت انجام دهند.
.Net Coreمشابه جاوا است. بنابراین، توسعهدهندگان که پیش از این با جاوا و C کار کردهاند، طراحی و نوشتن پروژهها را آسان یاد خواهند گرفت.
*برنده منحنی یادگیری : هر دو مساوی
7. پشتیبانی
سازندگان زبان ها به یک جامعه بزرگ از توسعهدهندگان نیاز دارند که ماهرانه، دقیق و در کوتاهترین زمان ممکن پاسخ میدهند. در PHP واکنش میتواند سریعتر باشد چون توسعهدهندگان به طور مداوم به فروم های پشتیبانی بی شماری مراجعه میکنند..NET همچنین مجموعه بزرگی از توسعهدهندگان دارد با داکیومنت کامل شرکت بزرگ مایکروسافت و پشتیبانی کامل این شرکت را داراست.
برنده: هر دو عالی هستند، اما تعداد حامیان حمایتی میتواند در NET. کمتر باشد.
نتیجه گیری :
در نهایت، همه چیز بستگی به نیازمندیها و گستره کسبوکار شما دارد.
Php برای وبسایتهای تجاری کوچک، فروشندگان نرمافزار مستقل، startups های نرمافزاری، صدور صورتحساب و invoicing وبسایتها و CRM مناسبتر است. در حالی که NET برای شبکههای داخلی بزرگ، سطح سازمانی CRM مناسبتر است.