• Браузеры на основе Chromium — теперь и в ReactOS
    +27

    Восхищаюсь вашей стойкостью!

  • React медленный, React быстрый: оптимизация React-приложения на практике
    0

    Да, спасибо.

  • React медленный, React быстрый: оптимизация React-приложения на практике
    0

    Я бы еще к антипаттернам добавил очевидный литерал массива и не очень очевидный, но распространенный антипаттерн возврата обработчика при каждом рендеринге.


    const onClickMe = (name) => (event) => doSomething(name);
    //...
    <SomeComponent something={['foo', 'bar']} onClick={onClickMe('baz')} />
  • Нативные ECMAScript модули — первый обзор
    +1

    Скорость загрузки, в большей степени, будет зависить от длины цепочки зависимостей, а не только от скорости отдачи файлов HTTP/2. Иначе придется включать прелоад всех модулей, а это требует тулзы подобной бандлеру. В этом не очень много смысла.

  • Питерский бездомный — в Праге. Продолжение истории разработчика-самоучки
    0

    Спасибо

  • Питерский бездомный — в Праге. Продолжение истории разработчика-самоучки
    0
    Есть также огромный аутлет, где можно купить по настоящим скидкам брендовые шмотки.

    Где и как он называется? Из дешевых брендовых аутлетов знаю только TKMaxx, которого нет в Чехии, к сожалению.

  • Matreshka.js 2 — tl;dr
    0

    Обновил описание в репозитории, спасибо.

  • Matreshka.js 2 — tl;dr
    0

    Это не просто Hello World, это — quick and dirty Hello World. Такой код никогда не должен попасть в продакшн, уж лучше на jQuery намакаронить.


    Я так понимаю, у вас достаточно мало знаний относительно React. Тогда, давайте прекратим эту беседу.

  • Matreshka.js 2 — tl;dr
    +1

    Вы на полном серьезе вырываете из контектста раздела "Trying Out React" эту фразу?

  • Matreshka.js 2 — tl;dr
    0

    Ну такое. Не только выучить, но и заюзать это всё не так просто. У многих возникает шок от того, что веб разработчик, оказывается. должен знать NodeJS, даже если пишет только под фронт. Это я не говорю об остальном инструментарии. Если вы осилили (изучили и смогли использовать) все необходимые технологии за пару месяцев, примите моё уважение.

  • Matreshka.js 2 — tl;dr
    0
    Лучше оптимизирует рендеринг?

    Если вы хорошо разбираетесь в React можем подискутировать (так как я и сам в нем неплохо разбираюсь). Если нет, я бы не хотел в этом посте описывать принципы рендеринга в Реакте, есть масса статей на эту тему.


    уже давно неправда и не надо поддерживать этот миф.

    Поговорите с любым начинающим разработчиком, для начала. Немало людей забивают на веб разработку, узнав о том, сколько вего им нужно знать, чтоб написать грамотный Hello World, используя один из мейнстримных фреймворком.

  • Matreshka.js 2 — tl;dr
    0

    В общем, всё вышесказанное, можно свести к "Я умею что-то на jQuery, но хочу делать лучше" и таких разработчиков немало. Причем, остальное (сборка, пакеты, ECMAScript Stage X) можно учить постепенно, по-прежнему используя Matreshka.js.

  • Matreshka.js 2 — tl;dr
    0
    Новички скорее всего будут смотреть на React, обучающих видео и статей по нему немало

    Есть такое понятие, как JavaScript усталость. Слишком много всего нужно знать помимо, собственно Реакта: сборка, стор, оптимизация рендеринга (чем, к сожалению, часто пренебрегают).


    Бекендщики с большей вероятностью посмотрят на Angular2, потому что там есть DI, MVC и типизация

    Смотря кто. По моему опыту общения с разработчиками, бек-ендщики (например, PHP-шники), как правило, не уделяют много внимания фронт-енду и обходятся неструктурированным кодом на jQuery. React/Angular/Vue — это то, что их не интересует (это не касается людей, пишуих под NodeJS).

  • Matreshka.js 2 — tl;dr
    –1

    Цитирую с сайта:


    Для кого этот фреймворк?


    • Для новичков в веб программировании, желающих освоить разработку одностраничных приложений
    • Для full-stack разработчиков, для которых front-end разработка стоит на втором месте после back-end
    • Для всех тех, кого не устраивает текущий порядок вещей во Вселенной веб разработки
  • WebAssembly – путь к новым горизонтам производительности
    0

    Как работать с DOM/BOM?

  • Еще один велосипед для борьбы с callback hell в JavaScript
    +1

    На ноде уже есть async/await.

  • node-direct — один NodeJS сервер на несколько сайтов
    0

    Я думал, что вы имеете в виду, что можно как-то обойтись без настройки nginx вовсе. А так, не вижу смысла сёрфить статику нодой если есть возможность сёрфить её быстрее.

  • node-direct — один NodeJS сервер на несколько сайтов
    0

    Сходу даже не пойму, как настроить тулзу для нескольких доменов.

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +2

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


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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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


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


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

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

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

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


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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +3

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1
    какой именно модуль вам интересен?

    Ни какой.


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

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +2

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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


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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    –1

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

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

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    0

    Под конец, в спешке, белиберду написал, сорри. Перефразирую: юзеры так считают, не я.

  • Matreshka.js 2 — самый простой фреймворк во Вселенной
    +3

    Наверно, стоило применить известную практику, которую я использовал в других постах о фреймворке "код для привлечения внимания", которую я, как оказалось, ошибочно считал неэффективной. В следующих постах исправлюсь.