PHP یا Node.js؟ نقاط قوت این دو در چیست.
PHP یا Node.js؟ در این مطلب بعضی از ویژگی های Node.js و PHP که باعث میشود آنها را دوست داشته باشیم بررسی میکنیم.
- PHP یا Node.js؟ نقاط قوت این دو در چیست.
- نقطه قوت PHP
- ترکیب کد با محتوا
- نقطه قوت Node.js
- جدا سازی مسائل
- نقطه قوت PHP
- ریشهی قویتر
- نقطه قوت Node.js
- کد جدیدتر=ویژگیهای مدرنتر
- نقطه قوت PHP
- سادگی (در نوع خود)
- نقطه قوت Node.js
- ترکیب Closureها و بیشتر
- نقطه قوت PHP
- هیچ اپلیکیشن کلاینتی نیاز نیست
- نقطه قوت Node.js
- فراخوانی سرویسها حجم کمتری از فراخوانیهای سنگین PHP بر پایهی HTML دارند
- نقطه قوت PHP SQL
- نقطه قوت Node.js JSON
- نقطه قوت PHP
- کدنویسی سریع
- نقطه قوت Node.js
- سرعت اولیه
- جمع بندی
هدف این نیست که بگوییم کدام یک بهتر از دیگری است!
چرا که هیچکس نمیتواند در این مورد نظری کلی دهد.
تنها نگاهی کلی داریم به آن دسته از ویژگیهایی که باعث میشوند توسعه دهندهها در انتخاب زبان سرورسایدشون سر در گم بشوند:
نقطه قوت PHP:
ترکیب کد با محتوا
خب ما میخواهیم کمی متن به صفحه وب خود اضافه کنیم،یا یک ساختار if else،بر اساس آنچه که از url دریافت میکنیم مابین کدهایمان قرار بدهیم.
حتی شاید بخواهیم اطلاعاتی که از پایگاه داده میگیریم را با یک سری نوشتههای دیگر ترکیب کنیم.
تگ PHP را باز کنید و کدنویسی را در عرض چند ثانیه شروع کنید!
نیازی به template خاصی نیست چون اینجا هر چیزی میتواند یک template باشد.
نیازی به فایلهای اضافی یا معماریهای مشقت بار هم نیست.فقط کافیست سر انگشتانتان با منطق برنامه نویسی آشنا باشد.
نقطه قوت Node.js:
جدا سازی مسائل
ترکیب کد با متن و محتوا گاهی اوقات میتواند عصای دستتان باشد.
مطمئنا برای بار اول و دوم جالب است که بتوانید کدهای HTML را با PHP ترکیب کنید.
اما خیلی زود کد شما از نظر منطقی به شکل افتضاحی در میاید.
برنامه نویسان واقعی به برنامه خود،ساختار اضافه میکنند و لایه دیزاین را از لایه منطق تفکیک میکنند.
این برای برنامه نویسهای تازه کار یک نعمت است که کدهای تمیز ببینند و به آسانی آنها را درک کنند.
فریم وورکهایی که روی node.js اجرا میشوند توسط برنامه نویسهایی ساخته شدند که میدانند زندگی وقتی بهتر میشود که مدل،ویو و کنترلرها از هم جدا باشند.
البته PHP هم فریم وورکهایی دارد که این کار را انجام میدهند و نمیشود گفت این نقطه قوت فقط مختص node.js است!
نقطه قوت 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 استفاده میکنند.
شاید بهترینِ در میان بهترینها نباشد،اما کارهای بزرگی از آن برمیاید.
نقطه قوت Node.js: JSON
اگر مجبورید که با SQL در ارتباط باشید،Node.js هم کتابخانههایی برای این کار دارد.
اما Node.js از JSON که در حد یک زبان بینالمللی است استفاده میکند که میتواند با خیلی از پایگاه داده های NoSQL صحبت کند.
البته به این معنی نیست که شما نمیتوانید از کتابخانههای کار با JSON در PHP استفاد کنید،اما استفاده از JSON در جاوااسکریپت با توجه به اینکه ساختارشان یکی هست راحت تر میباشد.
همین باعث میشود بخش زیادی از وقتتان را صرفه جویی کنید.
نقطه قوت PHP:
کدنویسی سریع
برای خیلی از توسعه دهندگان،نوشتن اپلیکیشن با PHP سریعتر به نظر میرسد.
کامپایلر خاصی نیاز نیست،فایل JAR نیاز نداریم و قرار نیست از preprecessor ها استفاده کنیم.
فقط ادیتور مورد علاقتان را باز میکنید و یک تعداد فایل PHP را در دایرکتوری خودتان قرار میدهید.
نقطه قوت Node.js:
سرعت اولیه
نوشتن کد جاوا اسکریپت کمی سختتر میشود اگر بخواهید پرانتزها و براکتهای پیچیده را بشمارید!
اما وقتی تمام شود،کد شما بسیار شیرین و دل چسب خواهد بود.
مکانیزم callback فوقالعاده است،چون شما را از سر و کله زدن با رشتهها نجات میدهد. هسته کار خیلی عالی ساخته شده و طراحی شده تا کاری را که میخواهید برایتان انجام دهد.چه از این بهتر؟
جمع بندی
برنامه نویس خوب کسی است که بتواند در هر پلتفرمی برنامه ای خوب بنویسد و سرعت خود و اپلیکیشنی که میسازد برایش قابل قبول باشد و اگر هم نیاز شد بتواند بین پلتفرمهای مختلف سوییچ کند و کارهایش را پیش ببرد. پس درگیر این نباشید که چی بهتر است و سریعتر.
آستینها رو بالا بزنید و شروع به نوشتن کنید!