PDA

View Full Version : آیا میشه Nodejs رو بطور کامل جایگزین php کرد؟



K1-Aria
جمعه 28 خرداد 1395, 21:30 عصر
با سلام خدمت دوستان عزیز<br><br>از وقتی با nodejs و قابلیت سمت سرور بودن اون آشنا شدم و یکی از دوستان خیلی زیاد ازش تعریف کرد یه سوال واسم پیش اومد ، در اصل دو سوال<br><br>1- آیا میشه بطور کاااامل با php جایگزین بشه؟ &nbsp;یعنی از عملیات ساده گرفته تا ارتباط با بانک و حذف و درج و اعتبار سنجی و ...<br><br>2- و سوال دوم اینکه آیا اصلا نیاز به همچین کاری هست؟؟؟ آیا بهتر هست که جایگزین بشه؟؟<br>متشکر

plague
یک شنبه 06 تیر 1395, 18:39 عصر
بسته به نوع پروژه داره
node.js برای یه سری کار ها خیلی عالیه ... مشخصا اپلیکیشن هایی که نیاز به ارتباط پایدار بین سرور و کلاینت وجود داره
ولی برای اپلیکیشن های سنگین و پیچیده که بخش های زیادی دارن مناسب نیست

اگه اپلیکیشن خیلی بزرگی ندارید برای یکدست بودن کد ها میتونید همش رو با نود پیاده کنید
در غیر اینصورت از نود به عنوان بخشی از پروژه در کنار یک زبان مناسب بک اند مثل php استفاده میکنن تا نود همون کاری که براش خلق شده رو انجام بده و بقیه موارد رو به عهده زبان دیگه بزاره

hojjat.sa
چهارشنبه 16 تیر 1395, 14:32 عصر
من نمیدونم شما این حرف را روی چه حسابی گفتید !!؟؟؟
با nodejs و استفاده از expressjs در اون و با استفاده از mongodb به عنوان یک دیتابیس قدرتمند میتونید بزرگترین سایت ها رو بسازید . هیچ محدودیتی هم نخواید داشت و قدرتش بیشتر از php نباشه کمتر هم نیست. البته من مخالف مقایسه کردن جاوااسکریپت با php یا کلا هر زبان برنامه نویسی با هم هستم . هر کدوک اما اینو بگم که آینده دست nodejs هست و قدرت خارق العاده ای داره .

hojjat.sa
چهارشنبه 16 تیر 1395, 14:33 عصر
node.js برای یه سری کار ها خیلی عالیه ... مشخصا اپلیکیشن هایی که نیاز به ارتباط پایدار بین سرور و کلاینت وجود داره
ولی برای اپلیکیشن های سنگین و پیچیده که بخش های زیادی دارن مناسب نیست


من نمیدونم شما این حرف را روی چه حسابی گفتید !!؟؟؟
با nodejs و استفاده از expressjs در اون و با استفاده از mongodb به عنوان یک دیتابیس قدرتمند میتونید بزرگترین سایت ها رو بسازید . هیچ محدودیتی هم نخواید داشت و قدرتش بیشتر از php نباشه کمتر هم نیست. البته من مخالف مقایسه کردن جاوااسکریپت با php یا کلا هر زبان برنامه نویسی با هم هستم . اما اینو بگم که آینده دست nodejs هست و قدرت خارق العاده ای داره .

plague
سه شنبه 29 تیر 1395, 16:31 عصر
سلام

سعی میکنم ساده توضیح بدم

نود تک نخی هستش اصطلاحا (thread) و همه کلاینت ها رو همون تک thread اجرا میشن
بر خلاف زبان های دیگه مثل php,asp که به ازای هر کلاینت یه thread جدید ایجاد میشه

نتیجه اینکه یه کلاینت به مشکل بر بخوره در هنگام یه عملیات میتونه کل سرور رو مختل کنه و بقیه کلاینت ها رو با مشکل رو هم با مشکل مواجه کنه
ولی در زبان های دیگه هرکسی دچار مشکل بشه برای خودش شده و تاثیری رو کار بقیه نداره

اما دلیل اینکه تک نخی اجرا میشه نود اینه که این شیوه باعث میشه پرفرمنس بهتری داشته باشه توی پروسس های async
پروسس های async چیزیه که نود براش ساخته شده
اینا اومدن یه thread ها رو قربانی کردن تا اتو این زمینه بازدهی بهتری داشته باشن
به عبارت دیگه نود رو برای منظور خاصی ساختن که همون نکته اه که بالا بهش اشاره کردم
برای یک سری کار ها خیلی خوبه برای یک سری توصیه نمیشه

اون mongodb که بخش دیگری از پاسخ شما بودهم مناسب برای دیتبایس رابطه ای نیست و برای نوع خاصی از دیتبایس ساخته شده

در کل این ابزار ها برای نوع خاصی استفاده و برای حل مشکلات خاصی بوجود اومدن
چشم بسته نباید نظر داد و استفاده کرد

tazeha
چهارشنبه 30 تیر 1395, 11:14 صبح
این سایت با Node.js و سوکت socket.io نوشته شده.
http://www.kalagard.com/

masudafsar
چهارشنبه 13 مرداد 1395, 11:11 صبح
سلام

سعی میکنم ساده توضیح بدم

نود تک نخی هستش اصطلاحا (thread) و همه کلاینت ها رو همون تک thread اجرا میشن
بر خلاف زبان های دیگه مثل php,asp که به ازای هر کلاینت یه thread جدید ایجاد میشه

نتیجه اینکه یه کلاینت به مشکل بر بخوره در هنگام یه عملیات میتونه کل سرور رو مختل کنه و بقیه کلاینت ها رو با مشکل رو هم با مشکل مواجه کنه
ولی در زبان های دیگه هرکسی دچار مشکل بشه برای خودش شده و تاثیری رو کار بقیه نداره

اما دلیل اینکه تک نخی اجرا میشه نود اینه که این شیوه باعث میشه پرفرمنس بهتری داشته باشه توی پروسس های async
پروسس های async چیزیه که نود براش ساخته شده
اینا اومدن یه thread ها رو قربانی کردن تا اتو این زمینه بازدهی بهتری داشته باشن
به عبارت دیگه نود رو برای منظور خاصی ساختن که همون نکته اه که بالا بهش اشاره کردم
برای یک سری کار ها خیلی خوبه برای یک سری توصیه نمیشه

اون mongodb که بخش دیگری از پاسخ شما بودهم مناسب برای دیتبایس رابطه ای نیست و برای نوع خاصی از دیتبایس ساخته شده

در کل این ابزار ها برای نوع خاصی استفاده و برای حل مشکلات خاصی بوجود اومدن
چشم بسته نباید نظر داد و استفاده کرد


درباره Thread باید بگم که ۱۰۰٪ پروژه‌های کاربردی نیاز به ابزار خاصی برای اجرا دارن. مثل همون PHP که برای اجرای بی نقص و درست به وب‌سروری مثل آپاچی یا nginx داره. حالا تو NodeJs هم برای مدیریت بهتر thread و process از ابزار یا کتابخونه‌هایی مثل PM2 (http://pm2.keymetrics.io/) استفاده میشه.

درباره این‌که از NodeJs کجا استفاده بشه بهتره هم باید بگم که معمولا از Node در Api هایی استفاده میشه که قراره کلی کلاینت با کلی process سنگین با اون ارتباط برقرار کنن. مثل یه Multiplayer Game Server. از دیگر امکاناتی که NodeJs نسبت به PHP داره ارتباط نزدیک با سخت افزاره که اجازه میده مثلا سوکت TCP/IP ساخت در صورتی که در PHP چنین چیزی نداریم.

پس اگه قراره یه سایت ساده و بدون process های سنگین یا تعداد کلاینت کم داشته باشید، NodeJs گزینه اشتباهیه و کلی هزینه اضافه رو دستتون میزاره.

thinkdiff
چهارشنبه 24 شهریور 1395, 00:25 صبح
این سایت با Node.js و سوکت socket.io نوشته شده.
http://www.kalagard.com/


مطمئنید؟ جاوااسکریپت رو روی مرورگرتون غیر فعال کنید سایت میاد بالا بازم ولی فکرکنم نبایدبیاد بالا درسته؟

plague
سه شنبه 30 شهریور 1395, 15:37 عصر
پس اگه قراره یه سایت ساده و بدون process های سنگین یا تعداد کلاینت کم داشته باشید، NodeJs گزینه اشتباهیه و کلی هزینه اضافه رو دستتون میزاره.

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

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

اگه شما یه سرور بازی با تعداد کلاینت کم هم بخای بنویسی نود گزینه مناسبیه


مطمئنید؟ جاوااسکریپت رو روی مرورگرتون غیر فعال کنید سایت میاد بالا بازم ولی فکرکنم نبایدبیاد بالا درسته؟

جاوااسکریپت روی سرور اجرا میشه خروجیش برای کلاینت فرستاده میشه
میتونی روی فایرفاکست wappalyzer نصب کنی تا تکنولوژی بکار رفته در سایت ها رو ببینی

cybercoder
شنبه 03 مهر 1395, 04:27 صبح
مدت هاست من از nodeJS استفاده می کنم به همراه express. برای ساخت RESTful API محشره. علاوه بر اون به صورت توزیع شده هم میشه ازش استفاده کرد و نیازی به استفاده از وب سرورهای خاص برای این کار نداره که مزیت بالایی محسوب میشه.

SCoder
شنبه 03 مهر 1395, 21:19 عصر
مدت هاست من از nodeJS استفاده می کنم به همراه express. برای ساخت RESTful API محشره. علاوه بر اون به صورت توزیع شده هم میشه ازش استفاده کرد و نیازی به استفاده از وب سرورهای خاص برای این کار نداره که مزیت بالایی محسوب میشه.

واقعا محشره و زیبایی اینجاست که جاوا اسکریپت هیچ جا بود ولی الان همه جاست حتی تو دنیای سخت افزار و از Ryan Dahl بابت این ایده نابش باس تشکر کرد ...

cybercoder
چهارشنبه 07 مهر 1395, 14:12 عصر
واقعا محشره و زیبایی اینجاست که جاوا اسکریپت هیچ جا بود

آدم میشناسم جاوا اسکریپت رو سمت مرورگرش خاموش میکرد تو همین فروم!

الان مخصوصا Angular 2 هم میتونی با Electron بیای exe در بیاری هم میتونی تحت وب بمونه هم با IONIC 2 و ... تحت موبایل و ویندوز APP