Хотите получить наглядное представление о том, что происходит с компонентами, когда вы работаете с React? Читайте под катом перевод статьи Ohans Emmanuel, опубликованной на сайте freeCodeCamp.
Рубрика «JS library»
Незнание основ React, которое, возможно, вас губит
2018-10-12 в 12:59, admin, рубрики: html, javascript, JS library, React, react.js, ReactJS, Блог компании Plarium, Программирование, разработка мобильных приложений, разработка на react, разработка приложенийДиспетчер задач на и для Javascript
2017-09-21 в 2:40, admin, рубрики: javascript, JS library, Программирование
Идея несколько необычна, но вполне интересна — диспетчер задач для вашего кода в браузере. Даже с учётом современной ситуации js-пей полных аналогов не найдено. Отдалённо похожий диспетчер был обнаружен только в ExtJS.
Это статья о небольшой библиотеке, которая позволяет управлять отложенным выполнением кода несколько более удобно нежели setTimeout и setInterval. Задания могут останавливаться, запускаться, выполняться немедленно. Есть графический интерфейс и логи.
Однозначно не несёт никакой пользы опытному разработчику но будет интересна новичку, например для отладки или управления обновлением данных через http-запросы.
И да, это не про Node.js, библиотека написана для старого доброго браузерного Javascript.
Такая разная асинхронность
2016-08-07 в 18:08, admin, рубрики: async, fibers, generators, javascript, JS library, node.js, nodejs, promises, threads, параллельное программирование, ПрограммированиеЗдравствуйте, меня зовут Дмитрий Карловский и я… многозадачный человек. В смысле у меня много задач и мало времени, чтобы их все уже, наконец, закончить. Отчасти это и к лучшему — всегда есть чем заняться. С другой стороны — пока ты разрываешься между проектами, мир катится куда-то не туда и некому забраться на броневик и призвать толпу остановиться и немного подумать. А вопрос-то серьёзный — долгое время мир JS был погружён в ад обратных звонков и с ними не только не боролись — их боготворили. Потом он чуть менее чем полностью погряз в обещаниях. Сейчас к ним с разных сторон усиленно вставляют подпорки разной степени кривизны. А света в конце тоннеля всё не видать. Но обо всём по порядку...
Теория многозадачности
Сперва определимся с терминами. В процессе работы, приложение выполняет различные задачи. Например, "скачать файл с удалённого сервера" или "обработать запрос пользователя".
Не редки ситуации, когда для выполнения одной задачи требуется выполнение дополнительных задач — "подзадач". Например, для обработки запроса пользователя, необходимо скачать файл с удалённого сервера.
Запустить подзадачу мы можем синхронно, и тогда текущая задача заблокируется в ожидании завершения подзадачи. А можем запустить асинхронно, и тогда текущая задача продолжит своё выполнение не дожидаясь завершения подзадачи.
Тем не менее, обычно для завершения выполнения задачи, пусть и не сразу, но требуется и завершение выполнения подзадачи с последующей обработкой её результатов. Блокировку одной задачи в ожидании сигналов от другой будем называть "синхронизацией". В общем случае, синхронизация одних и тех же задач может происходить и множество раз, по самой различной логике, но в дальнейшем мы будем рассматривать лишь простейший и самый распространённый вариант — синхронизацию по завершению подзадачи.
Jsqry — библиотека для запросов к JS объектам и массивам
2016-06-20 в 15:06, admin, рубрики: javascript, JS library, json, node.js, nodejsПредставляю вашему вниманию небольшую js-библиотеку Jsqry.
Проще всего проиллюстрировать её назначение следующим примером.
До:
var name;
for (var i = 0; i < users.length; i++) {
if (users[i].id == 123) {
name = users[i].name;
break;
}
}
После:
var name = one(users, '[_.id==?].name', 123);
Библиотечка позволяет извлекать информацию из объектов/массивов в одну строку, используя несложный язык запросов, вместо написания циклов (подчас вложенных).
JSonCmp — сравниваем в JavaScript правильно
2013-03-24 в 22:13, admin, рубрики: ext, Ext.js, javascript, jquery, JS library, json, Библиотека ExtJS/Sencha, метки: ext, Ext JS, javascript, jsonВот JavaScript-овый объект, сериализованный в JSon:
var source1 = '[{"vConfig":{"vType":"objectview","serverItemType":"TrackerObject"}}]';
А вот ещё один JavaScript-овый объект, тоже сериализованный в JSon:
var source2 = '[{"vConfig":{"serverItemType":"TrackerObject","vType":"objectview"}}]';
У них одинаковая структура, одинаковые параметры, одинаковые значения в этих параметрах. По всем признакам, и в source1
, и в source2
у нас одно и то же.
Но интерпретатор JavaScript с нами, разумеется, не согласен. И он вполне резонно считает, что source1 и source2 — разные строки. А если мы десериализуем их обратно, то получим два object-а, которые расположены по различным адресам памяти и… тоже не равны друг другу.
А если вы, впридачу, работает с Ext.js, щедро генерируете свои классы и не забываете про jSon, то может дойти до полного затмения. Как сравнить эти огромные простыни сведений о контролах, которые собираются в JSon-ы? Или разобраться древовидными объектами, где в каждое поле уже успели насоздаваться ещё какие-то подполя?
Читать полностью »
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2
2012-08-20 в 7:29, admin, рубрики: ajax, AngularJS, backbone, CanJS, Cujo.js, dojo, ember, extjs, javascript, JS library, knockout, mvc, Веб-разработка, фреймворк (Окончание перевода статьи Эдди Османи о сравнении и выборе библиотеки для проекта со значительной ролью JS на клиенте.)
Содержание первой части:
■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
Читать полностью »