LINUX.ORG.RU

Переходник между JS и PHP

 , ,


0

1

Нехило бы пользоваться вкусностями современного js на бэкэнде. Да и вообще лучше бы писать фронтенд и бэкенд на одном языке. Но ведь node.js не популярен, легко ли найти хостинг с поддержкой ноды? По сути это выделенный сервак. А с пыхой везде найдешь. Даже бесплатно. Потому пыха - народная технология. А если сделать виртуальную пыха-машину исполняющую js-код, возможно с некоторой компиляцией оного для быстродействия? Или компилятор из js в php?

vpsку можно за евро в месяц взять. и даже бесплатно.

У php другая модель исполнения, он как cgi скрипт умирает после запроса. А нода и большинство других технологий это сервер, процесс который обрабатывает запросы в цикле.

pawnhearts ★★★★ ()
Ответ на: комментарий от hippi90

Только это ничего не меняет, кроме того что у тебя php-fpm вместо mod_php и можно использовать любой вебсервер с поддержкой fastcgi. Модель исполнения самих скриптов такая же, иначе бы их все как минимум пришлось переписывать.

pawnhearts ★★★★ ()
Ответ на: комментарий от pawnhearts

В FastCGI у тебя процессы не дохнут, всегда есть пул постоянно запущенных воркеров, запрос обрабатывается воркером, после чего он возвращается в пул.

hippi90 ★★★★ ()

Но ведь node.js не популярен

Лол, что?

легко ли найти хостинг с поддержкой ноды?

Хостинг? Сейчас уже 2019 год, какие ещё нафиг хостинги? Сервера давно копейки стоят. Никто давно хостингами не пользуется, это детский сад, песочница.

th3m3 ★★★★★ ()
Ответ на: комментарий от hippi90

fastcgi это просто интерфейс, который существует с 90-х, кстати. Это все неважно, mod_php примерно так же работал, по крайней мере со всякими кэшами байткода. Это просто оптимизация, модель от этого не меняется. Кроме того, нода асинхронная и там несколько всё по-другому.

Демоны на php тоже можно было писать, но как-то это все убого всегда было.

pawnhearts ★★★★ ()
Ответ на: комментарий от pawnhearts

Вот например такая задача - есть excel-файл с данными для некоторой таблы надо импортировать на сервак плюс при этом показывать прогресс-бар в браузере как идет загрузка файла и импорт этих элементов. На пхп такое пишется ужасно некрасиво мало того что екзель файл на каждой итерации открывать так еще нужно самому сохранять состояние сего процесса. Делать демон на пыхе - это нужно специально настраивать сервак что не всякому хостеру понравится. Имеет смысл делать только псевдодемоны. А вот виртуальная js-машина на пхп могла бы хотя бы упростить создание такого рода псевдодемонов.

magnuz ()
Ответ на: комментарий от magnuz

Это вообще звучит как фоновая задача, которая должна где-то отдельно выполняться, но если уж ты делаешь ее при обработке запроса, разве нельзя как-то так сделать

for(blabla){
echo("<script>update_progress_bar($something)</script>");
flush();
}
И все это завернуть в транзакцию, чтобы у тебя не получилось что файл наполовину обработан.

Кроме того, я думаю ты мог запускать фоновый процесс из php, который будет обрабатывать этот файл и по ходу записывать прогресс куда-то типа redis. А скрипт прогресс бара просто оттуда бы брал состояние.

pawnhearts ★★★★ ()

Нехило бы пользоваться вкусностями современного js на бэкэнде

Node.js

Да и вообще лучше бы писать фронтенд и бэкенд на одном языке

Node.js

Но ведь node.js не популярен

4.2

легко ли найти хостинг с поддержкой ноды?

Да, легко.

А с пыхой везде найдешь. Даже бесплатно

Сюрпризы там тоже бесплатные.

veneperkele ★★★ ()