(Окончание перевода статьи Эдди Османи о сравнении и выборе библиотеки для проекта со значительной ролью JS на клиенте.)
Содержание первой части:
■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
Читать полностью »
Рубрика «javascript» - 545
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2
2012-08-20 в 7:29, admin, рубрики: ajax, AngularJS, backbone, CanJS, Cujo.js, dojo, ember, extjs, javascript, JS library, knockout, mvc, Веб-разработка, фреймворкМеню с плавной инверсией цвета
2012-08-20 в 6:04, admin, рубрики: javascript, jquery, jquery plugins, веб-дизайн, инверсия, меню, метки: jquery, jquery plugins, инверсия, менюПредставляю вашему вниманию меню с плавной инверсией цвета при перетекании курсора.
Под катом сам плагин и немного о концепции.
Читать полностью »
Привязка контекста (this) к функции в javascript и частичное применение функций
2012-08-17 в 17:49, admin, рубрики: javascript, jquery, Программирование, метки: javascript В предыдущем посте я описал, что this в javascript не привязывается к объекту, а зависит от контекста вызова. На практике же часто возникает необходимость в том, чтобы this внутри функции всегда ссылался на конкретный объект.
В данной статье мы рассмотрим два подхода для решения данной задачи.
1. jQuery.proxy — подход с использованием популярной библиотеки jQuery
2. Function.prototype.bind — подход, добавленный в JavaScript 1.8.5. Рассмотрим также его применение для карринга (частичного применения функции) и некоторые тонкости работы, о которых знают единицы.
Практикум AngularJS — разработка административной панели
2012-08-17 в 9:59, admin, рубрики: AngularJS, javascript, Программирование, метки: AngularJS, javascript, Программирование При создании сайтов часто возникает задача создания админки для редактирования контента. Задача, в общем, тривиальная, но сделать удобную админку не так-то просто.
Под удобством в первую очередь подразумевается возможность сортировки таблицы со списком материалов и работа без перезагрузки страницы. Если материалов в таблице становится много, то возникает задача разбивать её на страницы.
Всем известный jQuery-плагин tablesorter с tablesorterPager-ом и менее известный, но гораздо более функциональный DataTables хороши, но обладают некоторыми недостатками. Главный из них — сложность динамического добавления новых строк в таблицу (после добавления строки в таблицу, новая строка потеряется при следующем вызове сортировки). tablesorter вообще не даёт средств для добавления строки в свой кэш, DataTables предоставляет широкое и функциональное API для управления внутренним представлением таблицы, но это API довольно многословно и не очень гибко.
Хочу предоставить общественности реализацию админки на относительно новой javascript-фреймворке AngularJS. Будет создана страничка для редактирования списка вопросов, разбитых по категориям и отвечающим. В статье нет сравнения с другими подобными фреймворками, но нет и простого повторения официальной документации, я постараюсь поделиться своим опытом в использовании фреймворка и расскажу о нескольких интересных приёмах работы с ним.
jQuery 1.8 box-sizing: width(), css(«width») и outerWidth()
2012-08-17 в 8:21, admin, рубрики: css3, javascript, jquery, jquery 1.8 Одна из отличных новых возможностей jQuery 1.8 — это встроенное понимание свойства box-sizing: border-box
, которое поддерживается всеми современными браузерами. (IE6 и IE7, покурите в сторонке, я же сказал, современными браузерами.)
Прим.: CSS-свойство box-sizing
введено в стандарте CSS3, и может иметь два значения: content-box
— соответствует стандарту CSS2 и является значением по умолчанию, при этом свойства width
и height
задают ширину и высоту контента и не включают в себя значения отступов, полей и границ, новое значение border-box
говорит браузеру о том, что свойства width
и height
должны включать в себя значения полей и границ, но не отступов (margin
).Читать полностью »
Noty — необычайно гибкий плагин jQuery для вывода уведомлений
2012-08-16 в 7:35, admin, рубрики: javascript, jquery, Noty, plugins, веб-дизайн, уведомления, метки: jquery, Noty, plugins, уведомления
Почти месяц назад вышла вторая версия прекрасного и замечательного jQuery Notification plugin для вывода самых разнообразных уведомлений на сайте, странно что Хабр вообще обошёл его стороной, исправлю ситуацию.
Читать полностью »
Bart Chalkboard Generator
2012-08-14 в 22:36, admin, рубрики: canvas, html, html5, html5 canvas, images, javascript, Веб-разработка, метки: Canvas, html5, html5 canvas, images, javascript Здравствуйте.
Мне бы хотелось рассказать про мой «Bart Chalkboard Generator».
Я уверен, что большинство из вас знают сериал «The Simpsons», и вы помните что почти в каждой новой заставке Барт писал на школьной доске что-то новое, типа: «They are laughing at me, not with me». А в интернете часто всплывает картинка с текстом: «I will use google before asking bump questions». И вот однажды я подумал, почему бы не создать простой генератор подобных картинок, да ещё и на Html5, что бы попрактиковаться?
Читать полностью »
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1
2012-08-14 в 19:51, admin, рубрики: javascript, javascript library, Веб-разработка, фреймворки (от 27 июля 2012)
При написании нативного веб-приложения легко начать чувствовать себя богом, способным работать просто с библиотекой работы с DOM (такой как jQuery) и горсткой сервисных плагинов. Вскоре возникает проблема в виде груды вложенных возвратных функций jQuery и разбросанных DOM-элементов без всякой структуры вместо приложения.
Короче, мы застреваем в спагетти-коде. К счастью, есть современные JS-фреймворки (библиотеки, задающие, кроме функций, правила организации кода --прим. перев.), помогающие поддерживать структуру и организованность в проекте, облегчающие ремонтопригодность в будущем.
Что такое MVC или, лучше сказать, MV*?
Эти современные библиотеки дают разработчикам простой путь к организации кода, используя вариации паттерна проектирования, известного как MVC (Model-View-Controller). MVC разделяет задачи в приложении на 3 части:
Читать полностью »
JavaScript библиотека для работы покадровой анимацией
2012-08-14 в 12:01, admin, рубрики: animation, game development, Gamedev, javascript, метки: animation, Gamedev, javascript Здравствуйте, читатели.
Хочу предоставить Вашему вниманию новую JavaScript библиотеку для работы покадровой анимацией. Занимался флеш-разработкой, сейчас все больше и больше пишу на JavaScript-e (только не будем здесь разводить холивар на эту тему). После долгих поисков чего либо для работы с анимацией и таймлайном, решил написать свою библиотеку. Получилась лёгкой, но достаточно функциональной, решила те моменты, которые отсутствовали в JavaScript, но были очень полезны в AS3.0 (Flash) и были там стандартными методами.
Библиотека была названа JS_Mc (долго над названием не думал, по этому как то так), Mc от MovieClip -типа даных во Flash, в котором и присутствует таймлайн и различные методы по управления им. Работает в браузерах Chrome (22.0.1229.2 dev-m), Opera (11.61), Firefox (14.0.1), IE (8.0) — это те версии, которые установлены у меня, на них тестировал. Сама библиотека находиться здесь, там есть документация, демо и туториалы.
По одному из них
я пройдусь здесь и расскажу о основной функциональности.
Начинаем работу с JS_Mc
Лексическая область видимости функций в JavaScript
2012-08-13 в 22:12, admin, рубрики: javascript, Программирование, метки: javascript, Программирование Почитав недавние посты для новичков JavaScript, решил написать небольшой топик про один интересный вопрос, которого ни один из авторов пока не касался, а именно, вопрос про область видимости функций в JavaScript.
Читать полностью »