Dojo Toolkit это одновременно самый мощный и наименее используемый JavaScript фреймворк. В то время, как почти каждый JavaScript фреймворк или тулкит обещает сделать все на свете и даже больше, Dojo Toolkit предоставляет наиболее убедительные аргументы в доказательство своей функциональности. В этом посте будут описаны многие важные возможности Dojo Toolkit, а также будет рассказано, почему вы должны использовать его в своем следующем проекте.
Читать полностью »
Рубрика «javascript» - 474
10 причин почему ваш проект должен использовать Dojo Toolkit
2013-08-09 в 12:13, admin, рубрики: framework, javascript, Веб-разработка, переводы, метки: framework, javascriptПонимание ООП на джаваскрипте (ES5), часть 2
2013-08-08 в 10:03, admin, рубрики: inheritance, javascript, наследование в javascript, ооп, ооп js, Проектирование и рефакторинг
Для полноты статьи и единого стиля, перевод начинается с вопросов наследования, несмотря на то, что они уже были упомянуты в конце первой части. Далее рассматриваются разнообразные задачи наследования так, как их рассмотрел автор. Надо сказать, что автор широко использует новые конструкции ES5 (объяснив это в конце), которые работают не во всех браузерах и заслоняют от понимания реализацию их на низком уровне языка, на котором они изначально применялись. Для настоящего понимания наследования следует обратиться к более глубокому разбору реализаций или к реализациям методов-обёрток из ES5: Object.create, Object.defineProperty, Function.bind, get и set literals, Object.getOwnPropertyNames, Object.defineProperty, Object.getOwnPropertyDescriptor, Object.getPrototypeOf. Часть их разбирается в статье (Object.create, get и set, Object.defineProperty, bind), но не всегда в порядке появления. Таким образом, статья стремится преподнести не реализацию наследования вообще, а ту реализацию, которую успели формализовать в рабочем черновике стандарта EcmaScript 5. Это лучше, чем ничего, но несколько меньше, чем полное понимание реализаций наследования.
Зато, данная часть статьи в нескольких (4) крупных примерах кода демонстрирует чистейшее прототипное наследование, которому не требуется привлекать понятие конструктора (хотя он там, в .create(), незримо присутствует), о котором много говорят и которое исключительно редко в чистом виде встречается.
1.1 Что есть объекты? (список свойств)
1.2 Создание свойств (Object.defineProperty)
1.3 Описатели свойств (Object.defineProperty)
1.4 Разбор синтаксиса (bracket notation: object['property'])
1.5 Доступ к свойствам (через скобочную нотацию)
1.6 Удаление свойств (оператор delete)
1.7 Геттеры и сеттеры (методы доступа и записи)
1.8 Списки свойств (getOwnPropertyNames, keys)
1.9 Литералы (базовые операторы) объекта
2. Методы
2.1 Динамический this
2.2 Как реализован this
2.2.1 Если вызывается как метод объекта
2.2.2 При обычном вызове функции (this === global)
2.2.3 При явном указании контекста (.apply, .call)
2.3 Привязывание методов к контексту (.bind)
4.1 Магия оператора new
4.2 Наследование с конструкторами
5. Соглашения и совместимость
5.1 Создание объектов
5.2 Определение свойств
5.3 Списки свойств
5.4 Методы связывания
5.5 Получение [[Prototype]]
5.6 Библиотеки обратной совместимости
6. Синтаксические обёртки
7. Что читать дальше
8. Благодарности
Примечания
3. Прототипное наследование
До сих пор мы рассматривали, как определяются методы в объектах и как их повторно используют в других объектах при явном указании контекста, но это — всё же не лучший путь использования и расширения объектов.
Далее в игру вступает наследование. Оно лучше разделяет понятия, когда объекты наделяются своими методами на основе методов других объектов.
Прототипное наследование идёт дальше и может избирательно расширять методы, описывать общее поведение и использовать другие занятные приёмы, которых мы коснёмся. Печалит лишь то, что модель наследования в JS немного ограничена, и для обхода трудностей эти приёмы будут временами избыточны выносить мозг.
Читать полностью »
Как я учился на своих хотелках
2013-08-07 в 10:42, admin, рубрики: javascript, я учусь, метки: javascript, я учусь Большинство наверняка начинали свой путь с чтения книжек и выполнения тестовых задачек, иной раз выискивая на профильных форумах варианты решения/улучшения. Повторялись одни и те же демки в разных вариациях, что сводилось к ленивому гуглению и скорейшему прохождению всех тестов ради перехода к изучению следующей главы, статьи и т.д. Я решил действовать как настоящий самурай — усложнить себе задачу придумыванием какой-нибудь хотелки и по ходу дела изучать потребовавшуюся к изучению матчасть.
Читать полностью »
Конференция jQuery Russia: первые темы и спикеры
2013-08-07 в 10:23, admin, рубрики: javascript, jquery, Блог компании IT-Доминанта, ит-конференции, конференция, метки: javascript, ит-конференции, конференция Напоминаем, что конференция jQuery Russia, посвящённая знаменитому JavaScript фреймворку, при активной поддержке портала Айти-Событие.рф, состоится 15 октября в центре Digital October в Москве.
Дата первой международной конференции jQuery Russia все ближе. В настоящий момент организаторы — ITmozg.ru — активно формируют программу конференции.
Читать полностью »
React: javascript-фреймворк от Facebook
2013-08-06 в 19:51, admin, рубрики: Facebook, javascript, React, Веб-разработка, метки: Facebook, javascript, ReactСтранно, что на Хабре до сих пор не писали о React — простом javascript-фреймворке от Facebook для создания веб-интерфейсов с переиспользуемыми компонентами.
В статье я опишу только концепцию фреймворка в общих чертах. С пошаговым описание разработки демо-приложения неплохо справляется tutorial, в котором создается виджет для комментариев, подобный Disqus, правда, выглядящий несколько попроще, а именно, так:
Запуск тестов Siesta из консоли с помощью PhantomJS
2013-08-06 в 10:05, admin, рубрики: extjs, javascript, phantomjs, Библиотека ExtJS/Sencha, Веб-разработка, тестирование, метки: extjs, javascript, phantomjs, тестированиеЗдесь будет рассказано как запустить тесты Siesta из консоли не используя платную (стандартную) версию продукта (которая стоит 499$).
Проблема
Дело в том, что бесплатная (лайт) версия инструмента Siesta позволяет запускать тесты только из браузера. А если вам понадобиться запускать тесты для CI из консоли, то придется обратить свой взор на стандартную версию, которая имеет много вкусностей, в том числе и запуск из консоли. Сам инструмент использует широко известный бесплатный движок PhantomJS для запуска своих тестов.
Решение
Изучив документацию Phantom JS, Siesta и готовые примеры для запуска тестов Jasmine и QUnit, мною было написано немного кода, позволяющего сэкономить наши с вами деньги.
Читать полностью »
Хостинг игровых серверов на NodeJS
2013-08-06 в 1:59, admin, рубрики: javascript, just for fun, node.js, игровой хостинг, метки: just for fun, игровой хостинг Доброго времени суток, %username%!
В некоторый момент своей жизни я понял, что нужно сделать что-то значимое. Да и подзаработать, если честно.
Тут ко мне пришел друг, который на продажу делал сборки разных игровых серверов и предложил сделать хостинг для игрушек.
Времени на тот момент было много, за плечами — два года кодинга на php фрилансером и было решено сделать этот проект.
PHP уже порядком поднадоел от нудной работы в стиле «подправь мне вот тут сайтик на Joomla», на хабре вовсю шло обсуждение нашумевшего NodeJS и в качестве инструмента для написания я выбрал именно его.
Что из этого вышло — читайте под катом.
Читать полностью »
Туториал по JavaScript движку для создания игр Cocos 2D: Инициализация проекта
2013-08-05 в 20:47, admin, рубрики: 2d игры, 2D-движок, canvas, game development, html5, javascript
Начинаю знакомство с показавшимся интересным 2D движком для создания игр на JavaScript — Cocos 2D. Далее буду переводить стандартный туториал, возможно, подмешивая собственными примерами и ремарками. Надеюсь, тем кому нужно или интересно — пригодится.
Читать полностью »
Javascript без марафонов
2013-08-05 в 14:15, admin, рубрики: javascript, хабрахабр, я пиарюсь, метки: javascript, Хабрахабр Как-то читая статью про девушку-дизайнера, штампующую в процессе изучения идеальные демки каждый день и представил как это уныло. Девушку тут же разоблачили в комментариях (жаль не было предположения о том, что это Саша Грей без макияжа), а я решил продолжить изучение в процессе написания чего-то полезного и увлекательного.
Читать полностью »
Инструментирование JavaScript путем изменения кода: области применения и общие принципы работы
2013-08-05 в 5:42, admin, рубрики: javascript, Веб-разработка, кодогенерация, Программирование, метки: javascript, кодогенерацияНемного перефразируя википедию, инструментирование это отслеживание параметров уровня производительности кода, возможность диагностировать ошибки и записывать информацию для отслеживания причин их возникновения.
Инструментирование JavaScript кода может понадобиться по целому ряду причин. Наиболее распространные: отладка, профилирование, трассировка, логирование. Как правило, движки в которых выполняется JavaScript предоставляют способы инструментирования кода без его изменения. В своей прошлой статье я описал некоторые средства которыми это осуществляется, а тажке существующие ограничения, в конечном итоге сподвигшие меня на начало описанного в той статье проекта и изучение вопроса инструментирования JavaScript путем автоматического изменения кода. Эта тема на мой взгляд обделена вниманием, но заслуживает раскрытия, тем более в комментариях был выражен интерес к концептуальному подходу модификации кода.
Читать полностью »