На мой взгляд, директивы являются основной изюминкой декларативного стиля Angularjs. Однако, если открыть комментарии пользователей в разделе официальной документации Angularjs, посвященной директивам, то вы увидите, что самый популярный из них: «Пожалуйста, перепишите документацию, сделайте ее более доступной и структурированной. Начинающему разработчику на Angularjs сложно в ней разобраться» («Please rewrite a clearer well structured documentation of directives., this is not friendly to first time angular developers»). С этим сложно не согласится, документация пока еще сыровата и в некоторых моментах приходится прилагать большие усилия, чтобы разобраться в логике и сути функционала. Поэтому я предлагаю вам свой вольный пересказ данной главы в надежде, что кому-то это позволит сэкономить время, а так же рассчитываю на вашу поддержку и участие в комментариях. Итак, поехали!
Читать полностью »
Рубрика «AngularJS» - 29
Директивы в Angularjs для начинающих. Часть 1
2013-05-15 в 13:49, admin, рубрики: AngularJS, javascript, Веб-разработка, метки: AngularJS, javascriptРабота с формами в Angularjs. Как я обрел любовь
2013-05-14 в 8:03, admin, рубрики: AngularJS, javascript, Веб-разработка, метки: AngularJS, javascript Мне предстояло в очередной раз сделать это. Казалось бы ничего ужасного, я делал это сотни раз. Но чувство… чувство, что все это неправильно, так не должно быть и должен быть другой выход, не покидало меня. Тогда я еще не знал, что в скором времени мне предстоит встреча, которая навсегда изменит мой мир, откроет глаза и наполнит жизнь смыслом. Смыслом вставать каждое утро, смыслом делать то, что практически перестало доставлять мне удовольствие, смыслом делиться этим чувством с другими.
Читать полностью »
AngularJs. Отложенная загрузка модулей
2013-05-05 в 14:24, admin, рубрики: AngularJS, javascript, метки: AngularJS AngularJs – великолепный фреймворк для разработки web-приложений. Разработка бизнес-логики приложения полностью отделена от сопутствующей суеты вокруг DOM. Angular модульный – это замечательно, но так же является источником проблемы. Количество модулей быстро растёт. И если директивы ещё можно упаковывать в отдельные пакеты типа angular-ui, то с контроллёрами бизнес-логики всё сложнее. Всё становится ещё хуже, когда требования безопасности в принципе запрещают загрузку на клиента контроллёров с бизнес-логикой, которые недоступны текущему пользователю. При развитой ролевой системе доступа к приложению масштаб проблемы становится очевиден.
Читать полностью »
AngularJS для привыкших к jQuery
2013-03-15 в 21:08, admin, рубрики: angular, AngularJS, javascript, jquery, Веб-разработкаAngularJS — прекрасный фреймворк для построения веб-приложений. У него замечательная документация, снабженная примерами. В обучающих «пробных» приложениях (вроде TodoMVC Project) он очень достойно показывает себя среди остальных прочих фреймворков. По нему есть отличные презентации и скринкасты.
Однако если разработчик никогда ранее не сталкивался с фреймворками, подобными Angular, и пользовался в работе в основном библиотеками вроде jQuery, то ему может быть трудно изменить свой образ мышления. Как минимум, так было со мной, и я бы хотел поделиться некоторыми заметками на эту тему. Может быть, кому-то это будет полезно.
Читать полностью »
Очень маленький фреймверк или как написать собственный Angularjs в 200 строк
2013-03-06 в 11:11, admin, рубрики: AngularJS, framework, javascript, templates, Веб-разработка, Песочница, метки: AngularJS, framework, javascript, templates, web componentsНе так давно в одном из уже практически написаных проектов возникла необходимость в использовании подобия вэб-компонентов. Хочу расказать что у нас получилось, постараюсь кратко:
Цель:
Начать использовать компонентный подход в HTML верстке(новую семантику), а именно вэбкомпоненты.
Под компонентом я подразумеваю — “независимый модуль программного кода, предназначенный для повторного использования и развертывания”. К примеру в другом проекте.
Тут хочу сделать небольшое отступление и внести ясность – речь пойдет о компонентах, а не о виджетах(функционально обособленных единицах приложения, объединяющих в себе представление, логику и/или данные, конкретного приложения — javascript+html+css).
Разница, по моему мнению, состоит в том что компонент не подвязывается к конкретной модели данных или логике конкретного приложения – и вы можете его без труда перенести в другое приложение. А виджет – это единица конкретного приложения тесно связанная логикой или данными, и перенести его куда либо без внутреннего изменения самого виджета у вас не получится.
В качестве примеров компонента могу привести селект, аккордеон или табки, а виджетов – панель состояния или окно отображения сообщений в чате.
Зачем:
Реюзабельный код и удобство верстки с помощью возможности расширения HTML синтаксиса.
Как сказано в доке к одному известному фреймверку:
“Directives is a unique and powerful feature available only in Angular. Directives let you invent new HTML syntax, specific to your application.”
— я хочу показать, что это возможно и без angularjs.
И потому, что я хочу использовать компонентный подход(аналог angularjs директив) с виджет-ориентированной архитектурой или с теми шаблонизаторами к которыми мне удобно работать.
Вобщем использовать ту архитектуру приложения или фреймверк которые мне удобны в конкретном случае.
И описанное далее это ни в коем случае не MV* фреймверк, и никогда не задумывался как онный.
Читать полностью »
Egghead.io — видео курс по AngularJS
2013-02-09 в 13:02, admin, рубрики: AngularJS, javascript, видео курсы, метки: AngularJS, javascript, видео курсы Egghead.io — проект, созданный Джоном Линдвистом (John Lindquist), цель которого создание видео курсов. Как утверждает автор, он никогда не был доволен существующими реализациями сайтов с видео уроками. Поэтому главной его задачей стало применение лучших практик для организации и подачи обучающих видео материалов в сети.
Пока сам ресурс находится в стадии доработки и нуждается в качественном дизайне. Но уже сейчас доступен первый курс видео туториалов по AngularJS.
Проект получил множество хороших отзывов сообщества, также был упомянут в рассылке javascript weekly и на странице javascript в google+.
Читать полностью »
Валидация форм в AngularJS
2013-01-31 в 18:41, admin, рубрики: AngularJS, javascript, интерфейсы, Программирование, метки: AngularJS, client-side, javascriptYeoman Express Stack
2013-01-24 в 12:25, admin, рубрики: angular, AngularJS, express, javascript, node.js, yeomanПрим. перев.: вместо короткой новости https://plus.google.com/115133653231679625609/posts/YDNbxVxi4er решил перевести доку по этому форку.
Yeoman Express Stack — это форк Yeoman (прим. перев.: статья на хабре).
Форк создан в доказательство возможности вести разработку полного стека (клиент-сервер) при помощи Yeoman 0.9.6, Express и AngularJS. Примечание: это экспериментальная ветка и (пока) пригодна только для тестирования и обкатки концепции.
Включает:
- Специализированную версию Yeoman server.js с поддержкой Express-миддлваре
- Из коробки поддерживается LiveReload
- Генератор для Express и CRUD—генератор для AngularJS
Директивы в AngularJS
2013-01-01 в 9:37, admin, рубрики: AngularJS, javascript, Программирование, метки: AngularJS, client-side, javascriptДирективы — это ключевая особенность AngularJS. С помощью директив можно добавлять новое поведение существующим HTML элементам, можно создавать новые компоненты. Примерами директив, добавляющих новое поведения для существующих HTML элементов, могут служить input, select, textarea в связке с ngModel, required и т.п. Перечисленные директивы в основном связаны с валидацией форм в AngularJS. Но тема валидации заслуживает отдельной статьи.
Директивы можно и нужно использовать для повышения модульности вашего приложения, выделения обособленной функциональности в компоненты, в том числе и для повторного использования.
Если вы разрабатываете приложение на AngularJS и не создаете директивы, то это уже само по себе немного настораживает. Либо ваше приложение достаточно простое и уложилось в стандартные возможности AngularJS, либо, скорее всего, что-то не так с архитектурой вашего приложения. А если у вас при этом есть работа с DOM-ом в контроллерах или сервисах, то вам однозначно надо разбираться с темой создания директив, т.к. манипуляций с DOM-ом не должно быть нигде, кроме директив.
В данной статье я постараюсь рассмотреть процесс создания собственных директив на нескольких примерах.
Практикум AngularJS — разработка административной панели (часть 2)
2012-08-27 в 16:56, admin, рубрики: AngularJS, javascript, mvc framework, Программирование, метки: AngularJS, javascript, mvc framework, ПрограммированиеВ первой части был реализован базовый функционал админки на javascript-фреймворке AngularJS — загрузка данных из бэкенда, добавление/изменение записей. Во второй части мы рассмотрим реализацию сортировки таблицы и разбитию по страницам, удаление записей.