Документация AngularJS отлично подходит для начала работы и ковыряния в API. Однако, она не объясняет как организовать и управлять приложением, когда оно разрастется до десятков или сотен тысяч строк кода. Я собрал здесь некоторые из моих наблюдений и передового опыта по управлению расползающимися приложениями. Сначала взглянем на организацию, затем перейдем к некоторым советам по улучшению производительности и закончим краткой сводкой по инструментам, серверам и процессу сборки. Этот пост будет сосредоточен на больших приложениях, в частности, есть отличная статья по лучшим практикам AngularJS с декабрьской встречи, на которую также стоит взглянуть.Читать полностью »
Рубрика «javascript» - 512
Создание огроооомных приложений на AngularJS
2013-06-08 в 5:06, admin, рубрики: AngularJS, javascript, архитектура приложений, Веб-разработка, фреймфоркURL Scheme: Проверка наличия установленного приложения в Javascript
2013-06-07 в 10:43, admin, рубрики: javascript, javascript hacks, JS, url scheme, Веб-разработка, Программирование, метки: javascript hacks, url schemeНедавно столкнулся с необходимостью определить, зарегистрирована ли URL Scheme в браузере, чтобы в зависимости от результата показывать либо кнопку загрузки приложения, либо прямой URL на его запуск.
Оказалось, что каких-либо стандартных механизмов для этого не существует. Но поскольку пользователи никак не хотели обращать внимания на кнопку Download и красную надпись о необходимости предварительной установки приложения, пришлось искать варианты. Об этом и пойдет речь ниже.
Опыт работы с AngularJS на примере игрового проекта
2013-06-06 в 10:26, admin, рубрики: AngularJS, html5, javascript, Песочница, фронт-энд, метки: AngularJS, html5, фронт-энд «Я буду убивать себя до тех пор, пока стата не заработает»
— Ведущий разработчик в преддверии очереднего апдейта
Введение
AngularJS продолжает набирать популярность, и появляется все больше статей и уроков, в которых рассказывается, как наиболее эффективно работать с этим фреймворком. К сожалению, в них редко приводят примеры из реальных проектов, и нет описания тонкостей, с которыми приходится сталкиваться в процессе. Эту статью я хочу посвятить именно таким вещам, поэтому если вы еще только собираетесь работать с «ангуляркой», некоторые вещи могут представлять трудность для понимания.
Как это часто бывает, я начал свое знакомство с AngularJS, устроившись на новую работу. Мне дали задание побыстрее изучить фронт-энд. А так как проект игровой, требовалось single-page приложение. Потому, собственно, и «ангуляр». Я приступил к работе.
Читать полностью »
Погружение в темные воды загрузки скриптов
2013-06-06 в 6:31, admin, рубрики: javascript, JS, script, Веб-разработка, всё плохо, перевод, переводы Буквально несколько часов назад на HTML5 Rocks появилась замечательная статья о текущем положении дел, касающихся загрузки скриптов на странице. Представляю вашему вниманию ее перевод. Поправки можете присылать в личные сообщения :)
Читать полностью »
Еще один загрузчик скриптов для JavaScript
2013-06-05 в 19:25, admin, рубрики: javascript, loader, requirejs, метки: javascript, loader, requirejs При разработке одного сайта мне понадобился загрузчик скриптов, так как хотелось что бы загрузка вызывалась из js кода. Из готовых решений нашел requirejs и yepnope. Requirejs — модульный, что к моим требованиям не подходило. Yepnope — асинхронный, это означает, что код в каждом файле мне пришлось бы обертывать в callback функции. Ничего не оставалось, кроме как написать что-нибудь самому. И вот что у меня получилось: wakeloader — безмодульный синхронный загрузчик скриптов для JavaScript. В этой статье я расскажу про него.
Читать полностью »
Реализация «классов» в JavaScript
2013-06-04 в 1:18, admin, рубрики: AtomJS, class, javascript, MooTools, Песочница, метки: AtomJS, class, javascript, MooTools Привет всем. JavaScript это весьма гибкий язык, но так получилось что классов в этом языке нет. Да, в ECMAScript 6 появятся классы, но еще не скоро наступят те времена, когда большинство пользователей будут использовать браузер с этой версией языка. А пока программисты на JavaScript используют различные фреймворки (MooTools, AtomJS и другие) для создания «классов». Прочитав эту статью вы узнаете: как устроены выше упомянутые фреймворки, и как самим на чистом JavaScript можно реализовать классы несколькими способами.
Читать полностью »
«Workspace» и «Сниппеты» в Chrome Dev Tools
2013-06-03 в 15:20, admin, рубрики: chrome, DevTools, Google Chrome, javascript, sass, snippets, workspace, Веб-разработка, метки: chrome, DevTools, javascript, sass, snippets, workspace 
Workspace и Сниппеты — 2 инструмента в Chrome Dev Tools, о существовании которых не все знают. Эти инструменты упрощают веб-разработку, поэтому я решил сегодня о них рассказать.
Читать полностью »
Сравнение эффективности минимизаторов CSS- и JavaScript-кода
2013-06-02 в 20:04, admin, рубрики: Bundle Transformer, Closure Compiler, css, CSSO, javascript, JSMin, Microsoft Ajax Minifier, Packer, UglifyJS, WebGrease Semantic CSS Minifier, YUI Compressor, Веб-разработка, Клиентская оптимизация, минимизация, метки: Bundle Transformer, Closure Compiler, css, CSSO, javascript, JSMin, Microsoft Ajax Minifier, Packer, UglifyJS, WebGrease Semantic CSS Minifier, YUI Compressor, клиентская оптимизация, минимизация 
Разработчики, использующие Bundle Transformer, часто спрашивают у меня: «Какой минимизатор обладает самой высокой степенью сжатия?». В принципе, в сентябре прошлого года в своей статье «Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?» я уже проводил сравнение минимизаторов по степени сжатия кода, но это сравнение было поверхностным и не было подкреплено цифрами.
В этой краткой статье мы проведем сравнение наиболее популярных алгоритмов минимизации CSS- и JS-кода на примере адаптеров-минимизаторов из Bundle Transformer. В качестве исходных файлов будут использоваться файлы bootstrap.css и bootstrap.js из Twitter Bootstrap версии 2.3.2. Измерять размеры файлов мы будем с помощью YSlow.
Читать полностью »
Управляемый random в JavaScript
2013-06-02 в 18:56, admin, рубрики: javascript, rpg, метки: javascript, rpg, рандом «Алгоритм» для случайной выборки значений из array без их повторения. Конкретнее, в рамках обучения JS, я использовал его для генерации классической RPG-группы персонажей (варвар, маг, вор, рыцарь, священник), без повторения классов и имен.

Принцип предельно простой, но он может быть полезен таким же новичкам в JS как и я. Привязка к RPG исключительно символическая — сейчас я активно пытаюсь сменить профиль с маркетинга на IT (понял, что душа лежит), а практиковаться в игровой форме гораздо интереснее.
Читать полностью »
Лучшие практики AngularJS
2013-06-02 в 18:54, admin, рубрики: AngularJS, html, javascript, Веб-разработка, метки: AngularJS, html, javascript, web программированиеПо мотивам этой трансляции.
Вместо предисловия скажу, что есть такой сайт yeoman.io, где собраны наиболее популярные технологии, автоматизирующие разработку фронтенда (сборку, параметризацию CSS и проч.). Обратите на него внимание в начале работы над проектом.Читать полностью »
