LoopMe

Последний месяц занимался проектом LoopMe. Это небольшой ротатор рекламы встраиваемый в сайты, мобильники через своё SDK, и через mopub SDK.

Это был контрак на месяц на приведение проекта в порядок. В начале проект состоял из одного файла размером в 300kb, в него было напихано все и сразу — jquery, jquery cookie, imagesloaded, handlebars, родной js в стиле 90х, CSS с картинками.

После моего рефакторинга jquery был вынесен как модуль и собран с парметрами


grunt custom:-ajax/script,-ajax/jsonp,-css,-deprecated,-dimensions,-effects,-event-alias,-offset,-wrap,-sizzle

jquery cookie, imagesloaded и handlebars выпелины вообще

Добавлен iscroll, как модуль.

Дописан модуль открывающий список рекламы в попапе и плавающий таб открывающий попап, оба модуля опциональны и конфигурируемы

Дописан модуль поддержки mraid

Добавлено немного тестов на QUnit

Добавлена сборка проекта при помощи Grunt, сконфигурированы таски: jshint, uglify, sass, copy, watch, qunit, deploy (на amazon через утилиту s3cmd), compare_size

В результате код теперь весит совсем ничего:

Running "compare_size:files" (compare_size) task
   raw     gz Sizes
  7518   3064 dist/loopme.min.js
 20056   6517 dist/iscroll.min.js
 49001  17286 dist/jquery.min.js
  4478   1743 dist/mraid.min.js
  7908   1647 dist/styles.min.css

По сложности проект оказался удивительно похож на semanticforce и на проект для Clinique о котором я не писал. С удовольствием примусь за еще один такой же рефакторинг.

По результатам проекта написаны статьи Grunt and synchronized child processes, JavaScript reflection, Parsing query string in js, G.O.A.T.

6 Комментарии “LoopMe

  1. Нужно будет твоей козой поиграться ;)
    А вообще, как-то не могу придумать прожект такого типа как для лупми, брать коммерческий страшновато, а свой пока в голову не приходит ;)

  2. потому что после того как я закончил там остались таски типа «нарисуй мне 7 крсных линий»

Комментарии закрыты