Ответы пользователя по тегу JavaScript
  • Прогресс выполнения php foreach в ajax запросе?

    thecoder
    @thecoder
    Разработчик веб-приложений и сервисов.
    Вот обзор методов как асинхронно получать сообщения с сервера (вышеупомянутый комет - один из вариантов): stackoverflow.com/questions/11077857/what-are-long...

    Раньше делал врукопашную через веб-сокеты. Сейчас можно интеллигентнее.

    Вот хорошая обертка вокруг вебсокетов, реализующая паттерн подписки на события: wamp-proto.org Перед отправкой тяжелого аякс запроса, клиент устанавливает вебсокет-соединение и подписывается на событие "обновление %". Серверная часть внутри цикла отсылает сообщения подписчикам.
    Ответ написан
    Комментировать
  • Как прервать скрипт, если нет одного из указанных элементов?

    thecoder
    @thecoder
    Разработчик веб-приложений и сервисов.
    $(selector).is('*') вернет true, если есть элемент. Выход из "скрипта" зависит от контекста, как правило достаточно просто сделать return из колбэка при несоответствии условий.
    Ответ написан
    Комментировать
  • Как выполнить php код при нажатии?

    thecoder
    @thecoder
    Разработчик веб-приложений и сервисов.
    Внутри обработчика нажатий блока на js можно отправлять XMLHttpRequest на сервер, например функцией $.get jQuery (это происходит в фоне, без перезагрузки страницы). На сервере уже считать и суммировать нажатия.
    Ответ написан
    Комментировать
  • Top level веб-разработка. Где и как?

    thecoder
    @thecoder
    Разработчик веб-приложений и сервисов.
    Вопрос космического масштаба. Полагаю, что не существует единого понятия hi-end класса. Это как в ресторане попросить "принесите самое вкусное блюдо". Стоимость проекта? Объем кода? Нагрузка? Изящество кода? С какой командой это делать? Лично мое понимание профессионализма и высокого класса - это когда клиент доволен и поставленные задачи решены, несмотря на неожиданные препятствия и противоречия.

    Нюансы реализации, естественно, совершенствуются и удачные ходы приходится собирать по крупицам.

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

    Мне кажется важным регулярно препарировать удачные сайты, смотреть как реализован фронтенд. Дополнительно решать задачи проектирования серверной части вне текущих проектов, просто ради интереса, как можно было бы реализовать.

    Модульность и низкая связность, автоматизация, выстраивание производственного процесса - достаточно занудная работа, которая значительно завязана на личные предпочтения, привычки, сложившийся стиль в команде. Здесь тоже нет однозначно выигрышного рецепта.

    Для новичков статей и учебников миллион. Чем дальше в лес, тем меньше информации в обучающем формате и вообще информации. В предельном случае максимального углубления в технологии, одиночество, т.к. не будет людей с кем посоветоваться, потому что они еще уроки для начинающих не освоили.

    В качестве практических действий, чтобы ответ не был слишком обобщенным, предлагаю подписаться на Youtube-каналы Академии Яндекса - там попадаются интересные фишечки, до которых самостоятельно можно долго доходить.

    www.youtube.com/channel/UCTUyoZMfksbNIHfWJjwr5aQ

    Англоязычные рассылки:

    css-weekly.com

    javascriptweekly.com

    nodeweekly.com

    Естественно, любимый БЭМ :)

    getbem.com

    ru.bem.info

    Успехов в совершенствовании.
    Ответ написан
    Комментировать
  • Как работают таймеры в играх?

    thecoder
    @thecoder
    Разработчик веб-приложений и сервисов.
    Если речь идет об игре, то все состояния, таймеры, основной цикл реализуются на сервере, а клиент получает обновления, чтобы показать адекватную картинку. Мне кажется важно иметь возможность обновить клиента именно в тот момент, когда произошло событие. Например, пришло сообщение в чате.

    Полагаю, подразумевался вопрос "как обновлять состояние игры в браузере". По ссылке расписаны варианты как дергать сервер, с примерами реализации: stackoverflow.com/questions/11077857/what-are-long...

    Вариант "дергать каждую секунду" не рассматриваем. Самый простой в реализации на клиенте для старых браузеров: long polling. Но если поддерживаются WebSockets (а сокеты сейчас все, кроме оперы мини поддерживают), надо использовать сокеты. Если забить на IE, то можно Server-sent events.
    caniuse.com/#search=web%20sockets
    caniuse.com/#search=eventsource
    Ответ написан
    Комментировать