Архив категории «Статьи»

  • Фотошоп для веб-разработчика. Вступление

    Хочу поделиться своим опытом (а также, по возможности, получить его от читателей) использования фотошопа как инструмента для веб-разработчика. И начну я, пожалуй, с небольшой промывки мозгов насчет этого монстроподобного инструмента. Стандартную для таких статей вступительную часть про то, что такое фотошоп и почему он стал стандартом де-факто в области графического дизайна, я опущу, приступим сразу к делу. Я подразумеваю, что читатель уже работал с этой программой и умеет с ее помощью вырезать картинки.

    Считается, что фотошоп слишком «тяжел» для повседневных копи-пэйст нужд веб-разработчика, поэтому им предлагают всякого рода альтернативы: Adobe Fireworks, Paint.NET, Pixelmator и так далее. А также жуткий пиздец под названием Gimp (я считаю, что суровые линуксоиды должны править картинки в командной строке). Я сам давно пытался найти альтернативу фотошопу, но все поиски оказались безуспешны: как ни странно, мне не хватало функциональности.

    Я очень люблю графику, а еще больше люблю ее оптимизировать. Я сейчас не говорю о той «оптимизации», где нужно просто подергать слайдеры или запустить программку, я говорю о настоящей оптимизации, когда необходимо реконструировать  изображение, чтобы оно меньше весило и выглядело лучше. Я слишком ленив, чтобы создавать сотню похожих картинок разного цвета, я лучше сделаю одну сложную маску и буду менять цвет через CSS. Для достижения этих целей я пользуюсь теми же инструментами, что и дизайнеры. Разница в том, что дизайнер оперирует эмоциями, а я — цифрами. Дизайнер делает так, чтобы картинка нравилась пользователю, а я делаю так, чтобы она лучше сжималась и с ней было удобнее работать в CSS. Дизайнер не знает, как лучше нарисовать тень, чтобы она как можно меньше весила в PNG, а я не знаю, как эту тень сделать похожей на настоящую. Мы дополняем друг друга, при этом каждый делает свою работу и не вмешивается в чужую. 

    Можно, конечно, полчаса стоять над душой у дизайнера и объяснять ему на пальцах, что нужно сделать с картинкой, но я лучше потрачу 5 минут и сделаю все сам. Если вы разделяете мою точку зрения, значит, мое время будет потрачено не зря.

  • Знакомство с Ant

    Краткое введение по автоматизации рутинных задач в IDE. Тут обсуждают статью и задают вопросы.

    Метки: ,
  • Производительность браузеров в зависимости от верстки

    Один из моих докладов для конференции Clienttech 2008 (второй был про ictinus).

    У меня наконец-то дошли руки до описания известных мне проблем с производительностью в браузерах в зависимости от того, как сверстаешь страницу. Результаты тестов говорят сами за себя: Opera ни разу не «самый быстрый браузер на планете» (в моем рейтинге качества браузеров последние версии Оперы находятся примерно между IE7 и IE6), а восторженные вопли о быстрых JavaScript-движках я воспринимаю как говеный пиар. На кой черт мне сдались ваши ускоренные работы со строками и массивами, когда банальное изменение размеров картинки, даже не динамическое, вызывает жуткие тормоза? Почему разработчики браузеров не оптимизируют то, что действительно требует оптимизации? Спросите сами себя, для чего вы чаще используете JavaScript на сайтах: для работы со встроенными JavaScript-объектами или для работы c DOM? Ведь именно работа с DOM — самое узкое место современных браузеров.

    В этом свете мне наиболее близка позиция Майкрософта. Где-то, не помню где, они написали что-то вроде: «Оптимизировать работу чистого JavaScript будет только безумец».

  • Эмуляция position: fixed

    Способ эмуляции CSS-свойства position: fixed в IE6.

    На проверку этот способ оказался довольно глючным с точки зрения удобства пользования сайтом:

    1. при навигации вперед/назад по истории браузера страница не докручивается в то положение, откуда перешли на следующую страницу;
    2. страница не прокручивается при нажатии на пробел;
    3. на айфоне прокрутка не работает в принципе.
    Метки: ,
  • Eclipse: редактирование JavaScript в Spket IDE

    Демонстрация возможностей редактирования JavaScript в плагине Spket IDE.

    Метки: ,

← cтарое новое →