Эта статья предназначена для тех, кто не очень дружит с Node.js, но хочет использовать приложения вроде Grunt, Gulp и тому подобные. Процесс работы с этими приложениями подразумевает редактирование файла package.json и использование команд npm, так что понимание принципов работы npm поможет вам справиться с трудностями.Читать полностью »
Рубрика «javascript» - 393
npm для простых смертных
2014-11-16 в 12:45, admin, рубрики: javascript, node.js, npm, Веб-разработкаВыразительный JavaScript: JavaScript и браузер
2014-11-15 в 19:56, admin, рубрики: http, javascript, браузер, браузерные войны, Веб, интернет, Программирование, сетьСодержание
- Введение
- Величины, типы и операторы
- Структура программ
- Функции
- Структуры данных: объекты и массивы
- Функции высшего порядка
- Тайная жизнь объектов
- Проект: электронная жизнь
- Поиск и обработка ошибок
- Регулярные выражения
- Модули
- Проект: язык программирования
- JavaScript и браузер
- Document Object Model
- Обработка событий
- Проект: игра-платформер
- Рисуем на Canvas
- HTTP
- Формы и поля ввода
- Проект: Paint
- Node.js
- Проект: веб-сайт по обмену умениями
- Песочница для кода
Браузер – крайне враждебная программная среда
Дуглас Крокфорд, «Язык программирования JavaScript» (видеолекция)
Следующая часть книги расскажет о веб-браузерах. Без них не было бы JavaScript. А если бы и был, никто бы не обратил на него внимания.
Технологии веба с самого начала были децентрализованными – не только технически, но и с точки зрения их эволюции. Различные разработчики браузеров добавляли новую функциональность «по случаю», непродуманно, и часто эта функциональность обретала поддержку в других браузерах и становилась стандартом.
Это и благословление и проклятие. С одной стороны, здорово не иметь контролирующего центра, чтобы технология развивалась различными сторонами, иногда сотрудничающими, иногда конкурирующими. С другой – бессистемное развитие языка привело к тому, что результат не является ярким примером внутренней согласованности. Некоторые части привносят путаницу и беспорядок.
Читать полностью »
Выразительный JavaScript: Проект: язык программирования
2014-11-14 в 21:33, admin, рубрики: javascript, интерпретатор, компилятор, Программирование, язык программированияСодержание
- Введение
- Величины, типы и операторы
- Структура программ
- Функции
- Структуры данных: объекты и массивы
- Функции высшего порядка
- Тайная жизнь объектов
- Проект: электронная жизнь
- Поиск и обработка ошибок
- Регулярные выражения
- Модули
- Проект: язык программирования
- JavaScript и браузер
- Document Object Model
- Обработка событий
- Проект: игра-платформер
- Рисуем на Canvas
- HTTP
- Формы и поля ввода
- Проект: Paint
- Node.js
- Проект: веб-сайт по обмену умениями
- Песочница для кода
То, что проверяет и определяет смысл выражений в языке программирования, является в свою очередь просто программой.
Хэл Абельсон и Жеральд Сасман, «Структура и интерпретация компьютерных программ».
Когда учение спросил учителя о природе цикла Данных и Контроля, Юань-Ма ответил: «Подумай о компиляторе, компилирующем самого себя».
Мастер Юань-Ма, «Книга программирования»
Создать свой язык программирования удивительно легко (пока вы не ставите запредельных целей) и довольно поучительно.
Главное, что я хочу продемонстрировать в этой главе – в построении языка нет никакой магии. Мне часто казалось, что некоторые человеческие изобретения настолько сложны и заумны, что мне их никогда не понять. Однако после небольшого самообразования и ковыряния такие штуки часто оказываются довольно обыденными.
Мы построим язык программирования Egg (Яйцо). Он будет небольшим, простым, но достаточно мощным для выражения любых расчётов. Он также будет осуществлять простые абстракции, основанные на функциях.
Читать полностью »
Выразительный JavaScript: Модули
2014-11-14 в 19:12, admin, рубрики: amd, CommonJS, javascript, require, модули, ПрограммированиеСодержание
- Введение
- Величины, типы и операторы
- Структура программ
- Функции
- Структуры данных: объекты и массивы
- Функции высшего порядка
- Тайная жизнь объектов
- Проект: электронная жизнь
- Поиск и обработка ошибок
- Регулярные выражения
- Модули
- Проект: язык программирования
- JavaScript и браузер
- Document Object Model
- Обработка событий
- Проект: игра-платформер
- Рисуем на Canvas
- HTTP
- Формы и поля ввода
- Проект: Paint
- Node.js
- Проект: веб-сайт по обмену умениями
- Песочница для кода
Начинающий программист пишет программы так, как муравьи строят муравейник – по кусочку, без размышления над общей структурой. Его программы как песок. Они могут недолго простоять, но вырастая, они разваливаются.
Поняв проблему, программист тратит много времени на размышления о структуре. Его программы получаются жёстко структурированными, как каменные изваяния. Они тверды, но когда их нужно менять, над ними приходится совершать насилие.
Мастер-программист знает, когда нужна структура, а когда нужно оставить вещи в простом виде. Его программы словно глина – твёрдые, но податливые.
Мастер Юан-Ма, Книга программирования
У каждой программы есть структура. В частностях она определяется тем, как программист делит код на функции и блоки внутри этих функций. Программисты вольны в создании структуры своей программы. Структура определяется больше вкусом программиста, нежели функциональностью программы.
В случае больших программ отдельные функции уже теряются в коде, и нам необходима единица организации кода больших масштабов. Модули группируют программный код по каким-то определённым признакам. В этой главе мы рассмотрим преимущества такого деления и техники создания модулей в JavaScript.
Читать полностью »
Простой односторонний универсальный коннектор для Chrome
2014-11-14 в 17:49, admin, рубрики: ASP, ASP.NET, Google Chrome, google chrome extensions, javascript, очередной велосипед, чукча не читатель Мне нравится Netbeans Connector. Удобная штука, знаете ли. Редактируешь css в браузере, а IDE сохраняет и выгружает ее на сервер.
Но вот руки дошли до asp — и вот неожиданность, из вещей подобного плана для студии нашел только LiveStyle. Но чукча не читатель, чукча — писатель, так что возникла идея написать свой велосипед.
В принципе, идея простая: отлавливаем изменения в редактируемом файле, читаем содержимое файла, отсылаем в обработчик, который запишет это содержимое в нужный файл. Вот только облом — на уровне страницы это сделать проблематично(по крайней мере, так и не нашел ни 1 адекватного способа).
Хорошо, лезем курить мануалы по плагинам chrome(именно chrome потому, что мне нравится его консолька. Подозреваю, что любой нормальный браузер, поддерживающий плагины, может делать то же самое). Пара часов, что бы разобраться с нуля — и простенький плагин готов(нужен будет посложнее — база уже есть). Отсылка реализована через post, но способ — на ваше усмотрение(к примеру, NetBeans Connector использует веб-сокеты).
Итак, собственно код.
Читать полностью »
Internet Explorer: Переход к живому Edge-режиму — следующий шаг к тому, чтобы веб просто работал
2014-11-14 в 9:03, admin, рубрики: css, ecmascript 6, edge, internet explorer, javascript, Блог компании Microsoft, Веб-разработка
Сегодня мы выпускаем новую сборку превью Windows 10 с существенным обновлением Internet Explorer в области интероперабельности. В соответствии с нашими планами, это обновление включает более 2000 исправлений проблем интероперабельности, добавляет поддержку 20 новых возможностей в платформе и привносит новых подход в архитектуре IE. Мы рады поделиться нашим прогрессом в этом направлении на ранних стадиях разработки, чтобы собраться максимальное количество отзывов именно в этот момент. Мы также выпускаем эту сборку для пользователей сервиса RemoteIE, доступного для Windows, Mac OS X и других платформ.
20 ноября — запуск первой стратегической MMO-игры для… программистов
2014-11-12 в 9:31, admin, рубрики: javascript, MMO, screeps, ботоведениеВ следующий четверг состоится запуск проекта, над которым мы работали последние несколько месяцев. Screeps — первая известная мне стратегическая игра в MMO-песочнице, созданная для программистов. Вместо традиционного Point'n'click, геймплей заключается в написании и постоянном улучшении программы для AI ваших юнитов на JavaScript, которая управляет ими непрерывно и автономно — даже когда вы не онлайн. Это радикально новая идея, и если вы программист, вам определенно стоит на это взглянуть.
Под катом технические и игровые подробности. Читать полностью »
Изоморфные JavaScript-приложения с Catberry.js
2014-11-12 в 5:54, admin, рубрики: catberry.js, framework, isomorphic, javascript, node.js, streaming, web-разработка, Блог компании 2ГИС, Веб-разработка, Программирование
Catberry.js — это фреймворк для разработки изоморфных JavaScript-приложений на node.js с использованием модульной архитектуры и быстрых механизмов рендеринга. Этот фреймворк позволяет написать модуль приложения один раз и использовать его как на сервере для рендеринга страниц для поисковых роботов, так и в браузере для одностраничного приложения, запрашивая только данные для шаблонов.Читать полностью »
Meteor. Разрабатываем TODO List
2014-11-11 в 20:14, admin, рубрики: javascript, JS, Meteor, Meteor.JS, Node, node.js, todolistВ данном уроке я не хочу обсуждать, почему метеор убийца веба, тем более я так не считаю, но определенную симпатию к этому фреймворку имею. Поэтому хочу показать с чего можно начать при разработке приложения на нем, какие есть пакеты и вообще, что такое этот метеор.
Сразу хочу сказать, что у меня нет большого опыта в разработке веб приложений. Я занимаюсь этим всего около двух лет, а с метеором знаком вообще лишь пару месяцев.
Еще хочу предупредить, что урок получился достаточно объемным, но кода в нем было написано в разы меньше, чем текста. Просто хочу поделиться опытом как можно использовать метеор не при создании простенького примера, и заострить внимание на различных моментах, которые я посчитал важными. Поэтому в уроке будет использоваться множество сторонних пакетов, облегчающих процесс разработки.
И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:
- jade — html препроцессор;
- less — css препроцессор;
- coffeescript — язык программирования, компилируемый в javascript.
Видео, демонстрирующее приложение, полученное в ходе урока
И кому все еще интересно, добро пожаловать под кат.
Читать полностью »
GamepadAPI или джойстик в браузере
2014-11-11 в 13:06, admin, рубрики: coffeescript, GamePad API, javascript, Веб-разработкаЗдравствуй!
Смотря, как всё более новые и новые технологии внедряются в веб, смотря, как в него переносят игры, я задумался: «А было бы круто, если бы геймпад тоже можно было подключить...». И в поиске первым же результатом было GamepadAPI. Немного ниже ссылка на W3C GamepadAPI. Посмотрев, попробовав, я обнаружил ряд проблем, подводных камней, которые поставили бы крест на внедрении джойстиков в браузер. И я решил это исправить, создав интерфейс. Что есть «из коробки», и что именно было доработано, изменено и на мой взгляд улучшено, описано под катом.
Читать полностью »