All streams
Search
Write a publication
Pull to refresh
44
0
Андрей Губанов @Finom

Веб разработчик

Send message
Именно так. Но проблема с «убиранием» части логики мне кажется надуманной.
Тут используются акцессоры, добавленные с помощью Object.defineProperty. А эта функция работает везде, включая ИЕ8. dirty check — это очень плохая идея.
Спасибо, записал в список.
Есть ли там RAM, какова мощность процессора, потребляемая мощность и пр? Вообще ни слова о характеристиках
Автоматическое тестирование, конечно, будет. Но, в целом, Матрешка достаточно стабильна, а фичи обкатываются в продакшне по несколько месяцев перед выходом релиза. Спешка с рефакторингом — результат спешки со статьями, дабы удовлетворить условия оферты Хабра по блогу компании. Прошу прощения за неприятное недоразумение.
Уже исправлено. Баг был связан с небольшим упущением при большом рефакторинге Matreshka.Array.
Понял проблему. Как раз недавно возникла идея статичного метода toMatreshka (или просто to), которая конвертирует объект и его внутренности в экземпляры Матрешки. А для расширения такого объекта можно было бы воспользоваться аналогом merge из underscore.

Установим дефольные значения объекту

var app = MK.to({
	user: {
		name: '',
		address: {
			city: ''
		}
	}
});


app.user.address.bindNode( 'city', 'input' );

ajax( function( data ) {
	app.merge( data );
});


Как идея?

Но подход вызывает вопросы:
— Eсли внутри объекта содержится массив, заменять все элементы или добавлять?
— Если в дереве объекта найден необъявленный ранее объект, конвертировать ли его в Матрешку или оставить обычным объектом?

В общем, нужно подумать. Спасибо за то, что прояснили ситуацию. Такой возможности действительно сейчас нет.
Если нужно использовать объект, то у Матрешки есть метод set (он может принимать объект).
var app = new Matreshka;
app.user = new Matreshka;
app.user.bindNode( 'name', '.my-input' );
app.user.set({name: 'Matreshka'});
app.user.set({name: 'User'});


Я бы лучше создал новый объект:
var app = new Matreshka;
app.user = new Matreshka;
app.user.bindNode( 'name', '.my-input' );
app.user.name = 'Matreshka';
app.user.name = 'User';


Вопрос по вашему бенчмарку добавил в список дел.

У меня есть другой бенчмарк коллекций
Вставка 10 элементов
image
Результат не самый лучший. Матрешка обгоняет Реакт только в ИЕ.

Вставка 100 элементов

Матрешка либо обгоняет либо стоит на ровне с другими фреймворками, кроме Ember. Странно, что самый быстрый (по слухам) React отстает местами от Angular.

Вставка 1000 элементов
image
Все фреймворки позади (они даже не видны на графике из-за значений < 1 операций в секунду), кроме Ember. React еще больше удивил.

Вывод можно сделать такой: при небольшом количестве элементов Матрешка немного отстает от других фреймворков но разница в скорости, как правило, не заметна при таком объеме данных. Начиная со ста элементов, Матрешка часто быстрее Реакта, «самого быстрого фрефмворка».

Интересно, что, Матрешка выигрывает у всех в IE (извините, так получилось). Ember оказался самым быстрым из этого списка почти при любом раскладе.
Пока нет, но Матрешка всегда открыта для пулл-риквестов.
Скорее всего, как обычно: от остатков других взорвавшихся звезд.
Спасибо. Невнимательно прочел пост.
А какие устройства пишут 360* видео? Помню, проскакивала недавно такая камера, но она стоит 500 баксов…
Пожалуйста, переводите ссылки на русский.
Просто наберитесь опыта. В вашей области действительно очень большая конкуренция.
Не могу согласиться. В своей узкой области работаю уже несколько лет, проблем с заказами не испытываю.
Слишком дорого. В целом меня мой HP Envy устраивает (особенно после установки SSD), вот только FullHD экран уже себя исчерпал.

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity