Рубрика «javascript» - 519

Равенство parseInt("042") === 42 (как и другие ему подобные) станет верным в Firefox следующей версии (Firefox 21) и в более новых, хотя прежде Firefox действовал по образу и подобию языка Си, считая восьмеричными числа, запись которых начиналася нулём — так что вызов parseInt("042") давал тогда значение 34.

Обсуждение в мозилловской багзиллеЧитать полностью »

Verlet.js — физический движок на основе метода ВерлеМетод численного интегрирования Верле издавна использовался для вычисления траекторий частиц. Сам метод был впервые использован ещё в 1791 году французским астрономом Жаном-Батистом-Жозефом Деламбром. В 1907 норвежский математик и физик Карл Штёрмер использовал его для моделирования движения частиц в магнитном поле, поэтому иногда этот метод называют методом Штёрмера. Современное название этот алгоритм получил от имени французского физика Лу Верле, который в 1967 году использовал его в моделировании молекулярной динамики. В последнее время метод Верле применяется и в разработке компьютерных игр.
Читать полностью »

Проверка на поддержку конкретных технологий браузером с помощью JavaScript по праву считается наилучшей практикой при клиент-сайд разработке (Часто используют другой способ, заключающийся в проверке из какого браузера пользователь просматривает страницу — Прим. пер.), но, к сожалению, такую проверку нельзя было сделать с использованием только лишь CSS. Firefox, Chrome и Opera недавно объявили о поддержке CSS директивы @supports и CSS.supports (JavaScript), которые помогут разработчикам определять справится ли браузер пользователя с CSS свойством или нет. Давайте посмотрим на них в деле!
Читать полностью »

tFormer.js — empower your HTML forms

Предисловие:

Вам приходилось верстать формы? Приходилось писать скрипт для валидации этих форм на клиенте? Доводилось ли использовать уже существующие плагины/надстройки для валидации форм?
Мне приходилось, но я не был на 100% удовлетворен ни от подхода решения задачи в лоб (собственный скрипт валидации для каждого проекта под его формы), ни от того, как работают существующие сторонние плагины.

Проблема:

Основными проблемами собственных скриптов и плагинов всегда были — гибкость, удобство и простота.
Большое количество data-attributes, необходимых для конфигурации скриптов (как это в Parsley.js) делают и код менее читабельным, и никогда не помнишь, как все они пишутся. Не просто…
Не все плагины хорошо подходили под желаемые HTML-формы, а постоянно писать свои скрипты под разные формы не всегда удобно и разумно.

Задача:

Создать нечто гибкое, удобно настраиваемое, полностью подконтрольное, с интуитивным синтаксисом и чтоб валидировало.

Решение:

Решение вылилось в небольшой опенсорсный плагин, который получил название tFormer.js.
Читать полностью »

Хотел бы поделиться своим мнением на счет протокола OData и использования его в HTML5 бизнес приложениях.
Многим известен этот протокол, и Microsoft активно его продвигает, используя в своих разработках. Например, она изменила протокол обмена данных в WCF RIA Services на OData (теперь это WCF Data Services), она разрабатывает новый клиент — HTML5 LightSwitch client, и многие новые HTML5 библиотеки типа JayData и Breeze используют его как протокол обмена данных. Это REST протокол, который кажется удобен тем, что все параметры запроса передаются по методу GET — в строке запроса. Однако, для разработки бизнес приложений есть существенные минусы от его использования.
Читать полностью »

Простой способ управления удалёнными устройствамиЧто хотелось:

  • при завершении задачи в jenkins выводить уведомление на компьютере и как дополнение — вывести его на физический дисплей, подключенный к arduino;
  • интерфейс, который можно открыть на телефоне или планшете, для управления проигрывателем музыки на компьютере и видеоплеером на raspberry pi;
  • интерфейс, доступный снаружи локальной сети, для вывода значения с датчиков, установленных на arduino.

Что получилось:

  • клиент, запускаемый на устройстве, с декларацией методов на python;
  • RESTful api для запуска «методов»(картинка справа выведена через него);
  • «панели управления» с web-интерфейсом;
  • сервис для управления устройствами, методами и панелями.

Читать полностью »

MVC-фреймворки на JavaScript: сравнение Marionette и Chaplin

Разработка JavaScript-приложений — горячая тема и люди интересуются какой же фреймворк лучше выбрать. В этой статье я сравню два из них.

Marionette и Chaplin — фреймворки, которые работают поверх популярной библиотеки Backbone.js. Оба хотят облегчить разработку одностраничных JS-приложений. В таких приложениях, фронтэнд выполняет задачи, которые в прошлом выполнялись на сервере (вроде рендеринга HTML из данных).

Бэкбон спроектирован, как минималистичная библиотека, а не как полноценный фреймворк. Мой опыт показал, что Бэкбон хорош только как ядро архитектуры JS-аппликейшна. И Марионетка, и Чаплин появились, потому что Бэкбон предоставляет мало структурирования для реальных приложений. Они решают те же проблемы. Так что между ними довольно много сходств — возможно, даже больше, чем отличий.

Читать полностью »

В предыдущем топике я начал обзор нового HTML5 Фреймворка, который, собственно, я создавал для своих нужд. Я хотел перейти от SilverLight приложений к новому веянью — HTML5 Single Page Applications. Однако, на рынке, однозначно, нет готовых HTML5 Фреймворков для создания ориентированных на работу с данными приложений, так как для создания таких приложений есть много дополнительных требований, что не учитывалось, при их создании, в существующих Фреймворках. Да, и помимо этого, есть еще один плюс от собственного Фреймворка — полный контроль над его функциями. Если что-то там не хватает, можно добавить, ну, и изредка убавить.
Читать полностью »

jRIApp — ещё один HTML5 фреймворк, созданный для разработки Web приложений, которые по своей функциональности мало чем уступают desktop приложениям.

Основное отличие от уже существующих фреймворков типа angularJS или emberJS, это наличие интегрированного с фреймворком сервиса данных, а также использование MVVM дизайн-архитектуры вместо наиболее распространенного в фреймворках такого типа MVC дизайна.
Клиентская часть написана на javascript, а серверная на C#.
Этот фреймворк опубликован на GitHub под MIT лицензией. Он включает демо-приложение написанное с использованием ASP.NET MVC4 и содержит документацию по его использованию.
Читать полностью »

Из года в год, сталкиваюсь с одной и той же проблемой. Как добавить, изменить или удалить параметр к некоторому адресу в строковом виде. Быстро и грязно это можно делать с помощью, например, регулярных выражений или найти каке-то готовое решение. Зачастую также может потребоваться, к примеру, подменить путь в адресе или изменить протокол с HTTP на HTTPS и т.д.

В целом, это хочется делать просто и понятно. При этом хочется разумного компромиса. Я встречал некоторые библиотеки, которые дают мощный функционал, но при этом по объему — десятки килобайт JavaScript кода. Несколько десятков килобайт, чтобы, например, подменить параметр в QueryString? Эх…
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js