نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: استفاده از php یا nodejs

  1. #1
    عضو انجمن
    تاریخ عضویت
    Jun 2015
    نوشته ها
    194
    تشکر تشکر کرده 
    213
    تشکر تشکر شده 
    22
    تشکر شده در
    20 پست

    پیش فرض استفاده از php یا nodejs

    بین php و nodejs خیلی تحقیق کردم . چیزایی که یاد گرفتم :

    میدونم که Nodejs به صورت Asynchronous کد هاشو بررسی میکنه و همین موضوع باعث شده سرعتشم بیشتر باشه . و در مقابل php به صورت Synchronous کد ها رو بررسی میکنه .

    همچنین اینو هم میدونم که nodejs به صورت single thread در request های سرور , عمل میکنه ( این یعنی همه در خواست ها رو با یک thread به صورت رویدادی پاسخ میده ) و در قابل php به صورت multi thread این کارو میکنه در سمت سرور > و نتیجه اینه که nodejs سریع تر و حجم بیشتری میتونه پاسخ بده نسبت به php .
    تصویر تفاوت php و nodejs در عملکرد thread هاشون :
    https://miro.medium.com/max/1400/0*Ekgnc6fI1kqbfvON.jpg

    همچنین اینو هم تو مقالات خوندم با تفاوت های اساسی که nodejs داره به نسبت php میتونه تعداد request بالا در زمان کمتر رو منجرب بشه
    تصاویر و لینک های بنچ مارک ها :
    https://miro.medium.com/max/1400/1*X...PZvL3-FZhg.png
    https://medium.com/@mihaigeorge.c/we...n-ebb743a5d7a3
    https://jaxbot.me/pics/bubblecomparison.png

    همچنین میدونم برای اجرای nodejs باید سرور اختصاصی یا مجازی حداقل داشته باشی و هزینش یکم بیشتر از php میشهو ب این موضوع هم مشکلی ندارم .

    یا اینو هم میدونم که nodejs در استخدام ها و یا جامعه اماری سوالات در استک اور فلو شاید از php کمتر باشه و با اینم مشکلی ندارم .

    با همه این معیار ها
    من میخوام به جای php از nodejs استفاده کنم برای دو دسته از وب سایت ها :

    spa یا single page aplication که به صورت تک صفحه ای کار میکنن .
    و mpa یا multi page aplication مثلا فرض کنید باهاش میخوایم دیجی کالا و اینگونه سایت ها یا فروشگاه های اینترنتی پیاده سازی بشه . (و چرا اصلا یکی مثل دیجیکالا نمیره سمت node ? )

    حالا به نظرتون اگر من برای ساخت mpa ها یا spa ها از این زبان کامل استفاده کنم چه مشکلی برام به جود میاد ؟

    ممنون میشم بدون تعصب به من مشاوره بدین . هممون با Php کار کردیم و میدونم کمی سخته که بخوایم چیزی که سالیان سال پرستیدیم و زندگی کردیم باهاش یه شبه در اینده بزاریمش تو اولویت دوم و یا حتی کنارش بزاریم . از همه دوستان و اساتید بزرگواری تو این تاپیک کمکم میکنن بسیار تشکر میکنم .

  2. # ADS




     

  3. #2
    عضو انجمن be099 آواتار ها
    تاریخ عضویت
    May 2009
    محل سکونت
    ﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽
    نوشته ها
    338
    تشکر تشکر کرده 
    176
    تشکر تشکر شده 
    651
    تشکر شده در
    385 پست

    پیش فرض پاسخ : استفاده از php یا nodejs

    پایتون

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

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

  4. تعداد تشکر ها از be099 به دلیل پست مفید


  5. #3
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : استفاده از php یا nodejs

    باسلام،

    شما با PHP هم می توانید کد نویسی یا عملیات های غیر همزمان با کال بک و .. انجام بدهید، پروژه های HHVM , ReactPHP, AMP را بررسی کنید. اگر به درستی استفاده شود به صورت محسوس و باور نکردنی سرعت را احساس خواهید کرد اما خب بیشتر برنامه نویس ها چون فکر می کنند PHP به صورت ناتیو چیزی برای این کار ندارد، سراغ ـش نمیرن و سخت در اشتباه هستند.

    در مورد بنچمارک ها به نظر من فقط بنچمارک هایی که سرعت خواندن و نوشتن فایل، مقدار دهی آرایه، عملیات های محاسباتی و .... دو تا زبان را محاسبه کردند معتبر است، در غیر این صورت سمت PHP باید وب سرور asynchronous و event‑driven باشد (مثل nginx) و اسکریپت هم اگر در حَد echo نیست سمت PHP هم thread باید non-blocking باشد (asynchronous نوشته شود)، اگر به این صورت نباشد نتایج کاملا فرق خواهد داشت. اما خب با این تفاسیر 99% بنچمارک ها به ما میگن Node سریعتر است.

    در مورد سایت های spa به علت توانایی راه اندازی یک پروژه isomorphic (رندرگیری سمت سرور و کاربر تمام با جاوا اسکریپت) Node ایده آل شده است اما به این معنی نیست نمی توانیم یک پروژه رندرگیری فقط در سمت سرور پیاده کنیم، شما با express می توانید مسیر یابی کنید و هرچی که می خواهید رندر کنید.

    در کل یادگیریش عالی و پیشنهاد می شود با توجه به نیاز پروژه می توانید انتحاب کنید، اگر خودم بخواهم یک پروژه با angular یا react و isomorphic پیاده کنم صد در صد سراغ Node خواهم رفت یا اگر نیاز به یک ارتباط real-time داشته باشد هیچ زمان PHP را انتخاب نمی کنم.

  6. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


  7. #4
    عضو انجمن
    تاریخ عضویت
    Mar 2013
    نوشته ها
    157
    تشکر تشکر کرده 
    34
    تشکر تشکر شده 
    251
    تشکر شده در
    159 پست

    پیش فرض پاسخ : استفاده از php یا nodejs

    به نظر من مهم ترین مزیت Node.js اینکه آسونی کار باهاش هست ، از نصب و راه اندازی تا ایجاد یک وب سرور ساده رو میشه توی چند دقیقه انجام داد و اینکه برای طراحی وب اپ ها ، یکی بودن زبان برنامه نویسی سمت سرور و کاربر یک مزیت خیلی خوبی هست.
    در مورد asynchronous بودن Node.js، الان خیلی زبان های دیگه هم این قابلیت رو دارن ، همین PHP یا Python، منتها تفاوتی که وجود داره اینکه ، Node.js (یا به طور دقیق تر Javascript ) کلا بر مبنای این معماری پیاده سازی شده ،‌ من خودم اخیرا توی زبان پایتون از Asyncio برای برنامه نویسی asynchronous استفاده میکنم، گاهی اوقات یکسری مشکلاتی داره که آدم اذیت میکنه و دیباگ اش زمان بره ، یا اینکه هر کتابخانه ای رو نمیشه باهاش استفاده کرد ، باید اون کتابخونه بر مبنای coroutines باشه.

    از نظر کارایی هم قابلیت Single Thread بود و asynchronous باعث میشه Node.js توی انجام کارهایی که وابسطه به IO هست، کارایی بالاتری نسبت به PHP (حنی با استفاده از ماشین مجازی مثل HHVM ) داشته باشه.
    اکثر وب اپ ها (مخصوصا API سروها) بیشتر کارشون مربوط به IO هست، به همین دلیل Node.js انتخاب بهتری هست، اما اگر برنامه ای می نویسید ، نیازی به پردازش بالایی داشته باشه، Node.js گزینه مناسبی نیست (به خاطر اینکه نمیتونه از تمام توان پردازنده استفاده کنه)، البته گزینه های مثل Worker threads بهتون امکان استفاده از چند رشته رو میده ، اما کارایی اش مثل زبان های که کاملا بر این اساس هست نیست. (این رو هم بگم برای انجام کارهای با پردازش بالا PHP هم گزینه ی مناسبی نیست، استفاده از زبانی مثل Go پیشنهاد میشه)

    در حال حاضر از دلیلی که شرکت ها میان زبان PHP رو انتخاب میکنن، یکی راحت بودن پیدان کردن نیروی کارش هست، (به خصوص تو ایران) و همین اینکه میزبانی سایت های PHP خیلی راحت تره برای افراد، کافیه یک هاست بخرن و اسکریپت رو اپلود کنن، نیازی نیست که سرور بخرن و کانفیگ اش کنن، به جز این موارد هیچ دلیل فنی وجود نداره کسی بخواهد PHP رو به جای هز زبان برنامه نویسی مدرنی که تو ۷-۶ سال اخیر معرفی شده انتخاب کنه.

    اگر میخواهید برنامه نویسی به جاوا اسکریپت رو شروع کنید،‌ پیشنهاد من اینکه از همین اول با Typescript شروع کنید ، Typescript از نوع داده پشتیبانی میکنه و کدهاش خوانایی بالاتری داره و کتابخانه های React هم الان به طور کامل پشتیبانی میکنن ازش، (Angular پیشفرض از Typescript استفاده میشه).
    ویرایش توسط firebox : March 29th, 2020 در ساعت 12:58

  8. تعداد تشکر ها از firebox به دلیل پست مفید


اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. درخواست برنامه نویس nodejs
    توسط Zimaserver در انجمن دیگر زبان ها
    پاسخ ها: 1
    آخرين نوشته: March 17th, 2020, 17:25
  2. هاست nodejs با مونگو دی بی
    توسط morteza0913 در انجمن درخواست هاست اشتراکی
    پاسخ ها: 6
    آخرين نوشته: May 25th, 2019, 14:42
  3. مشکل با nodejs در ریموت دستاپ
    توسط RaceF1 در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: October 31st, 2018, 11:36
  4. درخواست آموزش نصب Nodejs
    توسط 6801 در انجمن دايرکت ادمين DirectAdmin
    پاسخ ها: 0
    آخرين نوشته: May 17th, 2013, 02:07
  5. مشکل در نصب nodejs در CentOs
    توسط shyton021 در انجمن ردهت,فدورا,سنت-او-اس Redhat,Fedora,CentOS
    پاسخ ها: 3
    آخرين نوشته: August 8th, 2012, 21:33

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •