Pull to refresh
45
0
Андрей Губанов @Finom

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

Send message

Для поддержки старых браузеров юзают Babel :)


Да и чего вас это так возмущает? Например, когда почти все использовали Кофескрипт, он мне не нравился и я его просто не использовал.

Вы удивитесь, но ES2015 поддерживается всеми современными браузерами. С некоторыми оговорками, конечно же (например, файерфокс не умеет так: for(const x of y) {}, прриходится объявлять переменную с помощью let и юзать eslint-disable-line с конфигом airbnb).

Где вы были раньше? :)

Да, я знаю, что сделаю (по крайней мере, в общих чертах). Спасибо за адекватную критику.

Спасибо, подумаю над этим. У Evan You можно многому научиться, он большой молодец.

Мне не удалось попасть на главную TodoMVC около двух лет назад, я так и забил на это :)
Сейчас не вижу профита размещения у них приложения TodoMVC, так как оно потеряется в куче других, а у меня отпадет возможность оперативно менять документацию, код и пр.


По поводу бенчмарков: это верное замечание. Но, как видите, очень много изменений вошло в эту версию, а код вообще с нуля переписан. Просто еще не было времени сосредоточить свое внимание на конкуренции с другими фреймворками (внутренний бенчмарк показывает приемлемую производительность).


Слова "самый простой", простите, когда вы говорите это — вы сразу попадаете в категорию болтунов

Ну это как посмотреть. Это мой стиль изложения материала, записывать меня в разные категории — ваше право. Если у вас есть примеры хорошего, на ваш взгляд, и эффективного (в плане привлечения пользователей) изложения, дайте ссылку на автора. Приставка "во Вселенной" должна, по идее, своей утрированностью смягчать слова "самый простой".

  • Не нужно прыгать с места в карьер, используя NPM, Webpack и пр (хотя, можно).
  • Можно объявлять двустороннее связывание с помощью селекторов (селекторы умеют юзать все).
  • Нет многословной теоретизации, есть одно правило: делаешь кусочек приложения (например, форму), объяви для этого класс и размести его в отдельном файле (ученикам будет понятно, зачем нужна модульность).
  • Документация настаивает на использовании ECMAScript 2015, который через год-два будут знать абсолютно все (сейчас многие противятся прогрессу)
  • Реактивность (например, поле формы, зависит от свойства А, свойство А от свойства Б, свойство Б от свойства В, свойство В зависит от другого поля формы: при изменении второго поля по цепочке изменятся свойства и первое поле формы). Читайте о методах bindNode и calc. Плюс к этому, можно навешать обработчик события изменения свойства, для того, чтоб запустить кастомный код (например, отправить запрос на сервер). Читайте о методах on, off, trigger

Самое главное: это чистый JavaScript. Никакого расширения синтаксиса языка разметки.


Если это дейтсительно не ирония, вы не первый, кто выбрал Matreshka.js для обучения.

Вы писали этот комментарий пять минут, я писал Matreshka.js четыре года. Уж поверьте, за это время я многое обдумал :)

За тем же, зачем вообще используют фреймворки: для разделения логики, уменьшения количества кода и пр. Комментарии действительно ни о чем. Возможно, небольшой туториал частично ответит на ваш вопрос.

какой именно модуль вам интересен?

Ни какой.


вы меня с кем-то путаете, посмотрел свои комментарии, это первый ваш пост, в котором я есть))

Значит, магия (на самом деле нет, и я вижу, что вы заново зарегистрировались относительно недавно).

Зашел на ваш Гитхаб и… я тоже задался вопросом "зачем", просматривая проекты, которые вы сделали. Я ни в коем случае ни хочу сказать, что ваши решения плохи, просто не понимаю, почему вы ходите в каждый пост о Matreshka.js и выясняете со мной отношения. Если мне не интересно, что делаете вы, я не буду вас убеждать в чем-то. А я удостаиваюсь такой чести уже не первый раз.

Ух, сложно. Это фреймворк для студий, позволяющий экономить деньги на найме специалистов и фреймворк для разработчиков, позволяющий быстро начать что-то делать, не используя сложные современные решения — это основная задача фреймворка. Зайдите на сайт и прочтите подробности, не буду копипастить.

Циклы, условные операторы и прочая логика в HTML — антипаттерн из-за, того, что их сложно дебажить. В JS если что-то упустил (опечатался, не определил переменную), узнаешь моментально.

Пускай. Веб разработка уже давно пережила это. Если сильно хочется смешать JS и HTML, то JSX — лушее, что можно придумать, так как это не "HTML в который добавили логику", а "JavaScript с дополнительным синтаксисом".

if/else в виде атрибутов — антипаттерн. А так, да, без создания класса, либо экземпляра класса не обойтись.

Ну, будем честными, можно вообще на всё забить и использовать React/Redux.

Я не работал с библиотекой, о которой вы говорите. Я так порнимаю, что речь идет об автоматическом рендеринге коллекций, верно? Можете пролистать в самый конец этого поста, там типичный пример создания простой коллекции с её рендерингом. Документация к классу Matreshka.Array тут.

У нас с Вами всё время возниакют споры, касающиеся двух методов. Сейчас они работают немного по-другому, гляньте переработанное описание bindNode и calc (ниже описание флагов с объяснениями) и исходный код.


Благодаря тому, что фреймворк переписан с нуля и разбит на сотню модулей (я не считал, но примерно, так), вносить изменения, касающиеся оптимизаций можно намного проще, чем раньше. Я буду рад, если обратите моё внимание на какие-нибудь недочеты.

Условных байндингов в шаблонизаторе нету, иначе бы получился "очередной Ангуляр, но лучше". Байндинги должны быть в JavaScript коде (bindNode), за исключением самых простых (parseBinsings).

Да, там много всяких улучшений. Например calc и bindNode юзают debounce по умолчанию. Если обновите тест, буду благодарен.

Information

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