PHP یا Node.js؟

در این مطلب قصد داریم تا بعضی از ویژگی‌های Node.js و PHP  که باعث می‌شود آن‌ها را دوست داشته باشیم، بررسی کنیم. هدف در این مطلب این نیست که مقایسه‌ی دقیقی داشته باشیم! چون واقعا هیچکس نمی‌تواند در این مورد نظر کلی بدهد.  فقط نگاهی کلی داریم به آن دسته از ویژگی‌هایی که باعث می‌شوند توسعه دهنده‌ها در انتخاب زبان سمت سرور دچار سردرگمی شوند:

 

نقطه قوت PHP:‌ ترکیب کد با محتوا

می‌خواهیم کمی متن به صفحه‌ی وب اضافه کنیم، یا یک ساختار if else رو بر اساس چیزی که از url دریافت می‌کنیم مابین کدها قرار دهیم. یا شاید بخواهیم اطلاعاتی که از پایگاه داده می‌گیریم  با یک سری نوشته‌های دیگر ترکیب کنیم. تگ PHP رو باز کرده و کدنویسی را در عرض چند ثانیه شروع می‌کنیم! نیازی هم به template خاصی نیست چون اینجا هر چیزی می‌تواند یک template باشد. نیازی به فایل‌های اضافی یا معماری‌های مشقت بار نیست، فقط کافیست کمی با منطق برنامه نویسی آشنا باشید.

برنامه نویسی پی اچ پی

نقطه قوت Node.js: جدا سازی مسائل

ترکیب کد با متن و محتوا گاهی اوقات می‌تواند راهکاری اساسی باشد. مطمئنا برای بار اول و دوم جالب است که بتوانید کدهای HTML را با PHP ترکیب کنید. اما خیلی زود کد شما از نظر منطقی به شکل نازیبایی تبدیل می‌شود!!! برنامه نویسان واقعی به برنامه هاشان ساختار اضافه می‌کنند و لایه‌ی دیزاین را از لایه‌ی منطق تفکیک می‌نمایند. این برای برنامه نویس‌های تازه کار یک موهبت است که کدهای تمیز و مرتب ببینند و به سادگی آن‌ها را درک نمایند. فریم‌ورک‌هایی که روی node.js اجرا می‌شوند، توسط برنامه نویسانی ساخته شدند که، می‌دانند شرایط وقتی بهتر می‌شود که مدل، ویو و کنترلر‌ها از هم جدا باشند. البته PHP هم فریمورک‌هایی دارد که این کار را انجام می‌دهند و با قاطعیت نمی‌توان گفت این نقطه قوت فقط مختص node.js هست!

Node JS

نقطه قوت PHP: ریشه‌ی قویتر

صفحات وب پر از کدهای PHP هستند. اکثر پلتفرم‌های پرطرفدار ساخت وبسایت‌ها با PHP نوشته شدند. مثل وردپرس یا جوملا و دروپال. حالا به این‌ها اضافه کنید این همه پلاگین رنگارنگی که برایشان نوشته شده است!!! کدهای PHP همه جا هستند و فقط کافیست دانلود بشوند، تغییر کنند و بر حسب نیاز مورد استفاده قرار بگیرند.

برنامه نویسی سمت سرور پی اچ پی

نقطه قوت Node.js: کد جدیدتر = ویژگی‌های مدرن‌تر

با وجود اینکه هزاران فایل اُپن سورس در PHP وجود دارد، اما نکته‌ی مهم اینجاست که پلاگین‌هایی از وردپرس هستند که بیش از هشت سال شده و هنوز امیدوار هستند  و در واقع التماس می‌کنند که یکی آن‌ها دانلود کند! چه کسی دوست دارد ساعت‌ها و روزها و هفته‌ها وقتش را با کدی تلف کند که بعد از این همه سال هنوز به روز رسانی نشده؟ پلاگین‌های Node.js نه تنها جدیدترند، بلکه با دانش کامل از آخرین دیدگاه‌ها و دستاوردهای معماری نرم‌افزاری ساخته شدند. آن‌ها به‌وسیله برنامه نویسانی ساخته شدند که به این درک رسیدند که اپلیکیشن‌های وب مدرن باید هوشمندی بیشتری را به کاربر از نشان دهند. به بیان ساده‌تر: خیلی خفن هستن!

نقطه قوت PHP: (نوعی از) سادگی

PHP چیز زیادی لازم ندارد. چند تا متغیر و تابع (نکته: هنوز کسی معادل فارسی مناسبی واسه function پیدا نکرده؟!) برای کار با رشته‌ها و اعداد کافیست. در واقع می‌توان گفت سنگین‌ترین کاری که PHP انجام می‌دهد انتقال اطلاعات از پورت ۸۰ به دیتابیس و بالعکس آن است. این همان موضوعی است که از PHP انتظار می‌رود. PHP مقدار درست و صحیحی از پیچیدگی را دارد و کاری را که پیچیده نیست، پیچیده تر نمی‌کند!

نقطه قوت Node.js: ترکیب Closureها و بیشتر

 جاوااسکریپت ممکن است یک سری ویژگی‌هایی داشته باشد که دیوانه کننده به نظر برسد، اما بیشتر این خصوصیات باعث می‌شوند جاوااسکریپت یک زبان مدرن باشد که از گرامر و سینتکس مدرنی و ویژگی‌های مفیدی مثل Closure ها پشتیبانی می‌کند. شما می‌توانید آن را پیکربندی کنید و به سادگی توسعه دهید، کتابخانه‌های قدرتمندی مثل جی‌کوئری تولید نمایید و توابع را مثل آبجکت‌ها پاس بدید. پس چرا باید محدود باشید؟

نقطه قوت PHP: هیچ اپلیکیشن کلاینتی نیاز نیست

همه‌ی صحبت‌هایی که در مورد استفاده از زبان مشترک در سمت مرورگر و سمت سرور می‌شود، زیبا هستند، اما اگه نیاز به استفاده از هیچ زبانی روی مرورگر نباشد، چه؟ اگر بخواهیم اطلاعات را روی فرم های HTML پیاده‌سازی کنیم، چه؟ مرورگر این کار را انجام می‌دهد و دیگر با مشکلاتی مثل عدم اجرای رشته‌های جاوااسکریپتی که سعی میکنند یک صفحه را روی مرورگر از طریق اجرای چندین وب سرویس ایجاد کنند، روبرو نیستیم. HTML خالص خیلی راحت‌‌تر از هر المان دیگر، کارها رو پیش برده و PHP هم خیلی عالی برای این کار بهینه سازی شده است. پس چرا باید با اجرای جاوااسکریپت روی مرورگر دردسر ایجاد کنید؟

نقطه قوت Node.js: فراخوانی سرویس‌ها حجم کمتری از فراخوانی‌های سنگین PHP بر پایه‌ی HTML دارند

از آن‌جایی که اپلیکیشن‌های وب HTML5 که با ajax کار می‌کنند، می‌توانند قسمت‌های متحرک زیادی داشته باشند، خیلی کاربردی هستند. تا وقتی کد جاوااسکریپت در کَش مرورگر هست، تنها چیزی که در سیم‌ها در حال جابجایی هستند، داده‌های جدید هست. دیگر خبری از یه تُن کد HTML نیست و دیگر لازم نیست صفحه را مدام رفرش نماییم تا محتوای جدید ببینیم. فقط داده‌ها هستند که در حال تغییر هستند. اگه میخواهید یک اپلیکیشن تحت وب جذاب بسازید بهترین انتخاب جاوااسکریپت می‌باشد. Node.js ساخته شده تا فقط و فقط داده‌ها را انتقال دهد. اگه اپلیکیشن شما پیچیده و پر از داده است، Node.js یک ساختار خوب برای تحویل سریع داده‌ها دارد.

نقطه قوت PHP: SQL

PHP و MySQL همیشه با هم هستند و اگر هم MySQL در دسترس نباشد، پایگاه داده‌های مبتنی بر SQL دیگر از طرف اوراکل و مایکروسافت هم هستد که می‌توان خیلی ساده با مقداری تغییر در کوئری‌ها بین آن‌ها سوییچ کرد. دنیای بزرگ SQL محدود به مرز نیست و بسیاری از پروژه‌های بزرگ از دیتابیس های SQL استفاده می‌کنند. شاید بهترینِ بهترین‌ها نباشد، اما کارهای بزرگی را انجام می‌دهد.

پایگاه داده mySQL

نقطه قوت Node.js: JSON

اگه مجبور هستید که با SQL در ارتباط باشید، Node.js هم کتابخانه‌هایی برای این کار دارد. اما Node.js از JSON که در حد یک زبان بین‌المللی هست، استفاده می‌کند که می‌تواند با خیلی از پایگاه داده‌های NoSQL صحبت کند. البته به این معنا نیست که شما نمی‌توانید از کتابخانه‌های کار با JSON توی PHP استفاد کنید، اما استفاده از JSON در جاوااسکریپت با توجه به این که ساختار یکی هست، ساده تر به نظر می‌‍رسد. همین موضوع باعث می‌شود کلی از زمان را صرفه‌جویی نمایید.

نقطه قوت PHP: سرعت کدنویسی

برای خیلی از توسعه دهنده‌ها، نوشتن اپلیکیشن با PHP سریع‌تر به نظر می‌رسد. کامپایلر خاصی نیاز نیست، فایل JAR نیاز نداریم و قرار نیست از preprecessor ها استفاده کنیم. فقط ادیتور مورد نظر رو باز می‌کنید و  تعدادی فایل PHP را درون دایرکتوری مخصوص قرار می‌دهید.

نقطه قوت Node.js: سرعت اولیه

نوشتن کد جاوااسکریپت کمی سخت‌تر می‌شود اگر بخواهید پرانتزها و براکت‌های پیچیده را شمارش کنید! اما وقتی به پایان برسه، کد شما تبدیل به حالت بسیار ساده‌ای می‌شود. مکانیزم callback بسیار فوق‌العاده‌ است، چون شما را از سر و کله زدن با رشته‌ها نجات می‌دهد. هسته‌ی کار خیلی عالی ساخته شده تا کاری رو که می‌خواهید برایتان انجام دهد. از این بهتر؟

 

جمع بندی

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

تاریخ آخرین بروزرسانی : ۳ مرداد ۱۳۹۷
منبع :‌ سئورب
Advertising seorob.
18نظر برای

PHP یا Node.js؟


  1. کدومش بیشتر کاربردی و درآمدش بیشتره؟

    • میلاد میلادی

      فعلا در حال حاضر از نود جی اس میتوان در آمد بیشتری درآورد

  2. آموزش هم دارید ؟

  3. من بقصد افزودن اطلاعاتم هم مطالعه میکنم عالی بود موفق باشید

  4. مقالات بیشتری در این زمینه قرار بدید تا مطالعه کنیم متشکرم

  5. خیلی مطلبتون مفیدد بود ممنون

  6. سلام.ممنون .خیلی خوب بود.از دست اندرکاران وبسایت به این خوبی
    سپاسگزارم

  7. سلام مرسی از سایت خوبتون موفق باشید

  8. ممنون از مطالب بسیار خوبتون

  9. مطالبی که در وبسایت قرار می دهید بسیار عالی و کاربردیست

  10. کدومش بهتر و کاربردی تره ؟

  11. در زمینه ای که فعالیت میکنید جزو بهترین سایت ها هستید

  12. سایتونن فوق العادس خسته نباشید

  13. مرسی از آموزش عالیتون

  14. برای تولید محتوا کلمه کلیدی چند بار باید لینک بشه؟

    • میلاد میلادی

      بر اساس چگالی باید بین ۱ تا ۳ درصد باشه.بزنید چگالی کلمات کلیدی

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

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

نظرات خود را اینجا بنویسید

آدرس الکترونیکی شما نمایش داده نمی شود *