Совершенно точно этот год был очень насыщенным. Работал в этом году с такими трендами как HTML5, CSS3, JavaScript. И в отличии от прошлого года уже не в теории, а на практике. Во многом на это повлияло быстрое развитие браузеров, даже Internet Explorer, что для него это вообще дико.
В корпоративном блоге Serenity я написал статью о том, что в Google Analytics можно отслеживать нажатия на социальные кнопки и о том, почему я считаю это важным. Однако, по-умолчанию этот механизм работает только для кнопок +1. Для того чтобы в отчет попадали нажатия на другие социальные кнопки нам придется воспользоваться Google’вским API: Social Interaction Analytics.
Сейчас становится популярно размещать всякие социальные сервисы у себя на сайтах, на сайтах своих клиентов, но вместе с этим мы забываем о том, что все эти сервисы замедляют работу сайтов. Многие уже умеют подключать Google Analytics асинхронно, то есть, таким образом, чтобы загрузка скрипта не останавливала загрузку сайта. Я же предлагаю идти дальше и все нужные социальные сервисы загружать асинхронно.
JS2Coffee — это небольшой npm модуль, который позволяет конвертировать JavaScript файлы в CoffeeScript. Для многих начинающих вникать в синтаксис CoffeeScript это должно очень помочь.
Использовать js2coffee из консоли очень просто:
js2coffee main.js > main.coffee
А чтоб еще больше упростить работу с конвертацией из формата в формат, был запущен сайт js2coffee.org. На нем вы сможете в онлайн режиме конвертировать свои JS файлы в CoffeeScript, и больше, вы сможете конвертировать CoffeeScript файлы в JavaScript — правда незнаю зачем это может быть нужным.
В последнее время я начал больше писать о JavaScript, о NodeJS, поэтому хочу немного написать о CoffeeScript — именно на нем я решаю большинство стоящих передо мной задач. Например node-tumblr, мой первый NodeJS модуль, был написан именно на этом языке.
Пару слов о том что же это такое
CoffeeScript — это высокоуровневый язык программирования, который компилируется в JavaScript. Язык исправляет многие недостатки JavaScript. Добавляет стройности коду, убирает лишние скобки и точки-с-запятой, вправляет мозги как правильно писать нативный JS код. Однако не стоит забывать золотое правило языка: “это лишь JavaScript”, поэтому не стройте иллюзий ;)
Я написал уже несколько обзоров о том, какие микро-фреймворки бывают, и собираюсь делать это и дальше. Однако в какой-то момент управлять этим зоопарком становится сложно. На помощь приходит библиотека Ender. Хотя постойте, это вовсе не библиотека, по крайней мере в том смысле, к которому вы привыкли. Это скорее инструмент для создания собственного фреймворка из других библиотек.
Авторы, Dustin Diaz (ded) и Jacob Thornton (fat) гордо именуют свое творчество как “The no-library library”, и что-то в этом названии есть.
Сегодня у нас в выпуске очень интересные микро-фреймворки. Каждый из них позволяет использовать возможности HTML5 не думая об обратной совместимости со старыми браузерами.
Небольшое отвлечение: вы наверное думаете, как же с таким большим количеством микро-фреймворков справится, следить за всем, подключать кучу файлов, у каждого к тому же свое API — для этого есть отличное решение, о нем я напишу завтра ;)
Давно уже полюбил NodeJS, нравится он мне своей быстротой, синтаксисом и возможностью не делить скрипты на серверной и клиентской части. Но этот пост немного не об этом ;)
Решил написать свой первый публичный модуль для реализации новой версии API блого-хостинговой платформы Tumblr. Изначально все было написано на CoffeeScript, но есть build-скрипт для создания JavaScript версии. Мне очень хотелось бы услышать критику сообщества, буду хоть понимать на каком я уровне все это делаю :)
Продолжаем наш обзор JavaScript микро-фреймворков. Надеюсь они уже начали приносить вам радость. Возможно уже скоро вы и сами захотите написать что-то свое? :)
Уже очень продолжительное время наблюдаю совершенно дурацкое явление — использование огромных JS фреймворков в проектах, где они не нужны. Например, когда используют небольшую анимацию на сайте и при этом используют или JQuery, или YUI, или Dojo, или что-то похожее, да еще и добавляют несколько плагинов, которые добавляют особенный эффект анимации. Для меня это чересчур. 90% возможностей фреймворка просто не используется.
Поэтому решил периодически делать краткий обзор о микро-фрейморках — фрейморки, которые направлены на решения узкой задачи. В большинстве случаев это крайне удобно.
Недавно мы добавили в раздел “Контакты” к нашей карте возможность прокладывать маршрут от того места, где сейчас находится пользователь, к нам в офис. Я бы хотел немного подробнее рассказать как это делается.
Думаю с картами Google Maps уже все знакомы, и как их подключать объяснять не буду. Для инициализации всего этого дела нам понадобится пару объектов: