Ответы пользователя по тегу JavaScript
  • MooTools умер?

    @kmike
    Я не изменил) С mootools на jquery сложно слезть, в jquery — работа с DOM в основном, а в mootools куча всего еще. Причем я б не сказал, что mootools очень уж нравится. Но mootools + github.com/anutron/behavior — это примерный аналог «jquery + knockout.js + еще много мелких библиотек» получается, вполне рабочая связка (несколько многословная, правда).
    Ответ написан
  • Где публиковать сообщения о релизах своих open source проектов?

    @kmike
    Все постят ссылки на статьи в своем блоге (или прямо на репозиторий с README или документацией) на reddit.com.
    Ответ написан
  • IDE для HTML/CSS/JavaScript

    @kmike
    JetBrains хорошие редакторы js/html/css в свои IDE встраивает, javascript в PyCharm (по крайней мере год назад) был лучше, чем в Eclipse с любыми плагинами. Все пункты кроме первого выполняются; насчет бесплатности — есть бесплатные лицензии для open source.
    Ответ написан
  • Apache + nodejs

    @kmike
    Апач перед node.js ставить — глупость, т.к. на каждое соединение будет висеть тред, а смысл тогда в node.js.

    nginx всем хорош, но не умеет проксировать вебсокеты — node.js, я подозреваю, для реалтайма?

    Можно или HAProxy попробовать (воткнуть его перед всеми), или так и оставить node.js висящим на другом порту (например, если он используется для realtime-штук, и с ним общается только js, а html-странички отдаются чем-то другим — пользователям на этот адрес ходить и не нужно).
    Ответ написан
  • Насколько сейчас актуальна поддержка браузеров без поддержки Javascript

    @kmike
    Люди, отключающие js, знают на что идут, это их сознательный выбор, я бы за них не переживал. Вопрос тут в другом — в надежности и скорости.

    1. В первые мгновения js нет ни у кого. JavaScript ведь загружают в конце страницы, чтобы контент был доступен раньше, и пока файлы не загрузятся, js у пользователя не работает. Поэтому сайт, работающий без js, будет доступен пользователю раньше. А если соединение медленное, или какая-то ошибка сети, то сайт, не работающий без js, не будет работать у пользователя совсем. Альтернатива — помещать js наверх, хотя как это поможет. Сайты, поддерживающие людей без js, позволяют получить содержание страницы раньше => работают быстрее.

    2. Ошибка в js-файле может привести к тому, что сайт станет недоступен. Это замечание кажется довольно очевидным, но ему часто придают неоправданно мало значения. Если js сжимается в 1 файл, чтоб он грузился быстрее, то при ошибке в одном из скриптов весь оставшийся js тоже не выполнится.

    Проблемы с сетью, какой-то js-файл не загрузился — сайт не работает.
    Забыли запятую — сайт не работает для всех пользователей IE.
    Забыли отладочный console.log — сайт не работает, если отладочные инструменты не установлены и не включены (Firefox, Safari, Internet Explorer).
    Ну и т.д. Сторонний js от рекламодателей, который нельзя контролировать, может сломать сайт.

    Можно, конечно, сказать, что нужно писать код без ошибок. Но такого кода не бывает. Проблема тут в архитектуре, веб работает не так. Недавно, к примеру, Lifehacker и Gizmodo были полностью недоступны продолжительное время именно из-за ошибки в js. Можно вот тут еще почитать: isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs

    В большинстве случаев предоставить альтернативу без js совсем не сложно ведь — пишем просто unobtrusive js. Если это кому-то важно, то для таких страниц и тесты писать проще.
    Ответ написан
  • Обход кэширования js/css

    @kmike
    Т.к. технологии реализации в вопросе нет, то напишу, как с этим в django. Для django есть с десяток библиотек, которые этим занимаются: djangopackages.com/grids/g/asset-managers/

    После первоначальной настройки все работает автоматически: файл поменялся => на сервере статика пересобирается, пересжимается, к собранному файлу приписывается новый unixtime и в html обновляется путь.
    Ответ написан
  • Удобный трединг в Javascript?

    @kmike
    Собвственно, в mootools это все реализовано, и с биндингом, и с передачей аргументов. Можно или посмотреть, как, или просто использовать mootools.
    Ответ написан