Статьи

Что вы можете сделать с килобайтом JavaScript?

Конкурс JS1k , объявленный на прошлой неделе, побуждает абитуриентов писать демо-версию JavaScript менее чем за килобайт (1024 байта). Правила просты: ваша демоверсия должна работать в текущих версиях Firefox, Safari, Chrome и Opera без сбоев. Стиль не считается, так что прочь. И вы можете подать только одну запись на человека — последняя запись, которую вы отправите до истечения крайнего срока, будет иметь значение, так что возможны изменения и обновления. Минимизация, конечно, разрешена.

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

  • Марин Хавербеке представила довольно сложную игру с боковой прокруткой, в которой вы управляете тремя различными космическими кораблями и пытаетесь помешать вражеским кораблям добраться до правой стороны экрана. Демо , источник .
  • Том Бошовен (как и несколько других участников) внедрил игру «Жизнь» Конвея, включающую в себя «Играть / Пауза» и контроль скорости. Демо
  • Довольно много людей реализовали подсветку синтаксиса JavaScript.
  • У Йонаса Вагнера был мой фаворит из всех: демонстрация эволюции путем естественного отбора. Его сценарий начинается с популяции цветных квадратов на случайном цветном фоне. Каждый квадрат имеет три «гена»: компоненты R, G и B своего цвета. При каждом «поколении» симуляция убивает несколько ячеек, но не случайно: клетки, цвет которых больше всего отличается от фона, с большей вероятностью будут убиты. Затем новые клетки «разводятся», чтобы заполнить пространство путем объединения генов выживших клеток, и каждая новая клетка получает одну случайную мутацию. Это все, что нужно сделать. Нажмите на демо, чтобы увидеть, как квадраты эволюционируют в их камуфляж, и прочитайте его блог, чтобы увидеть, как это делается. Как будто это не было достаточно круто, он использовал пробел в своем минимизированном сценарии, чтобы нарисовать профиль Чарльза Дарвина.

Посмотрите полный список демонстраций и посмотрите, что сделали другие.

Конкурсные работы будут оцениваться жюри, и будут вручены призы (в том числе количество книг и мест на семинаре по HTML5 Mobile Pro ). Крайний срок — 10 сентября, поэтому я спрошу еще раз: что вы можете сделать с 1KB JavaScript?