پاسخ : استفاده از php یا nodejs
پایتون:d
جدا از شوخی
اینو همیشه یادت باشه هر زبونی دیدی داره هی آپدیت میشه ازش استفاده کن فرقی نداره php یا نود
با هردو کار کردم و طبق تجربه اینو میگم
php بخاطر اینکه با وبسرور های قدرتمنی مثل آپاچی و انجین اکس کار میکنه برای ساخت و توسعه وب خیلی راحت تر و سریع تره و ابزار های خیلی باحالی داره
nodejs از پایه وبسروی میسازه که طبق نیاز شماست ! و خیلی روی سوکت ها مانور داده که خیلی برای ساخت و توسعه اپ ها و پردازش در لحظه کاربرد داره
نتیجه گیری اینکه باید همیشه هیبریدی باشی یعنی از همه چیز سر در بیاری برنامه نویس تک بعدی به درد نمیخوره بعدم اینروزا دیگه سینتکس و زبان و نوع استفاده زیاد مهم نیست
مهم نوع معماری و مهندسی برنامه و طراحی الگوریتم ها کلاس های قابل توسعس ...
پاسخ : استفاده از 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 را انتخاب نمی کنم.
پاسخ : استفاده از 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 استفاده میشه).