Неистово плюсую. React - отстой, я постоянно это говорю. Люди, которые сделали facebook не способны делать что-то логично! :)
Если серьезно, то главная проблема React, на мой взгляд, это нарушение принципа единства ответственности. Компонент в React отвечает за рендеринг, за хранение состояния и реактивность. Поэтому React не библиотека и проекты на нём по своей сути одинаковы. Будь это библиотека, то он бы выдавал наружу некоторое апи для шаблонизации и отдельное апи для взаимодействия с реактивным состоянием. Тогда разработчик мог бы какой угодно фронт, и даже реактивный бэк написать. В реакте же это не так, реактивность и хуки гвоздями прибиты к компонентам, поэтому разработчик к представлению прибивает логику.
Уже не первую статью читаю, где рассказывают про единорогов-одиночек на базе AI и путают "сделать продукт с использованием ИИ" и "сделать продукт использующий ИИ". Одно другому не мешает, но в данном случае речь идёт о команде, которая создала успешный стартап, использующий чужое АПИ в своих целях, всё как и было до нейронок. Вот, если придёт человек и как раз с помощью условного Base44 создаст свой суперуспешный продукт в одиночку, то тогда и должна вестись речь о том, что AI создает единорогов-одиночек.
Из статьи не ясно пользовались ли вообще нейронками разработчики base44, какой процент работ она закрыла. И то, что 8 человек делают такой продукт как base44 пол года, так это всегда так должно было быть, нейронки тут ни причем. И волна увольнений, которая началась до хайпа AI как раз показывает, что люди наконец начали это осознавать.
Я думаю, что опыт миграции на 90% состоит из знания фреймворка для миграции. Да и суть вашего переезда заключается в замене императивной, событийной либы на реактивную и более декларативную платформу, следовательно сам процесс перезда ничем особым не отличался бы у реакта и других фреймворков.
Сравнивая Vue и React, проще пересказать преимущества react. Он популярней, следовательно больше работяг на рынке. На этом всё. В остальном же Vue выглядит привлекательней: быстрее, меньше весит, меньше кода, ниже планка входа, не нарушает принципы программирования или делает это не так критично, следовательно проще писать чистый и переиспользуемый код, лучше экосистема: nuxt, router и т.п., которая наследует те же преимущества.
Для примера про чистый код и нарушение принципов поясню: в реакте реактивность существует только внутри компонентов, они же отвечают за ui. Это не позволяет полноценно разделить логику и представление. Часто можно встретить сайты, которые при реактивном изменении в логике ререндерят всю страницу или наоборот, так как работяги не разобрались, где мемоизацию втыкать. На Vue ты можешь написать реактивный бэкенд) Но полезней это преимущество проявляется, когда ты создаешь реактивные модели, headless ui и куски логики, которые ты спокойно можешь копипастить из проекта в проект. Когда код разрастается, то поддерживать ui отдельно от логики гораздо проще по аналогии с mvc или mvvm на бэке.
Почему вы выбрали Реакт? Потому что был чел, который знает реакт. Почему чел выучил реакт? Потому что вакакнсии в основном на реакте. Почему вакансии на реакте? Потому что мы выбираем реакт.
Боже, когда это кончится и люди начнут выбирать технологии, обращая внимание на производительность и удобство работы? Неужели не было 1 недели, чтобы подучить тот же Vue всей командой, дабы иметь возможность писать чистый легко поддерживаемый код?
Отличные вопросы. С негативным мнением тех, кто проводит ревью, я никогда не сталкивался, видимо потому что правки незначительные. Даже, если такое существовало бы, то качество проекта > мнение ревьюера. Разработчики в другой ветке не страдают от этого, потому что я способен при рефакторинге сохранять обратную совместимость. Если это невозможно, то я вношу подобные правки, лишь зная, что никто с этим кодом не работает и не собирается. В крайнем случае выношу в отдельную задачу и дальше по флоу.
Я понимаю, что хочется всё сделать правильно, с задачками на борде и т.п., но мой субъективный опыт показывает, что тех. долг на проектах только растет, а согласование таких доработок занимает столько же времени, сколько и сама доработка, включая ревью и тесты. Поэтому я начал их проводить таким образом. Может быть я не прав, но качество проекта повышается, не теряя скорости разработки, это главное.
Да, я согласен, что SOLID это принципы программирования, но многие так не думают, и, если загуглить ООП, то во многих источниках, даже в банальной wiki, будет указано, что это принципы именно ООП
Да, я понимаю вас. В исходном примере во многом используются конструкции, которые есть и на JS, я старался переносить всё максимально точно, учитывая при этом особенности перф тестирования на js. Тем не менее, это всего лишь слова, поэтому, если этот коммент наберет 10к лайков, я попробую написать отдельную статью об этом
Solid это Vue в фантике React'а минус virtual dom. Видимо, чтобы работягам на React проще было пересаживаться на что-то кошерное )
Неистово плюсую. React - отстой, я постоянно это говорю. Люди, которые сделали facebook не способны делать что-то логично! :)
Если серьезно, то главная проблема React, на мой взгляд, это нарушение принципа единства ответственности. Компонент в React отвечает за рендеринг, за хранение состояния и реактивность. Поэтому React не библиотека и проекты на нём по своей сути одинаковы. Будь это библиотека, то он бы выдавал наружу некоторое апи для шаблонизации и отдельное апи для взаимодействия с реактивным состоянием. Тогда разработчик мог бы какой угодно фронт, и даже реактивный бэк написать. В реакте же это не так, реактивность и хуки гвоздями прибиты к компонентам, поэтому разработчик к представлению прибивает логику.
Уже не первую статью читаю, где рассказывают про единорогов-одиночек на базе AI и путают "сделать продукт с использованием ИИ" и "сделать продукт использующий ИИ". Одно другому не мешает, но в данном случае речь идёт о команде, которая создала успешный стартап, использующий чужое АПИ в своих целях, всё как и было до нейронок. Вот, если придёт человек и как раз с помощью условного Base44 создаст свой суперуспешный продукт в одиночку, то тогда и должна вестись речь о том, что AI создает единорогов-одиночек.
Из статьи не ясно пользовались ли вообще нейронками разработчики base44, какой процент работ она закрыла. И то, что 8 человек делают такой продукт как base44 пол года, так это всегда так должно было быть, нейронки тут ни причем. И волна увольнений, которая началась до хайпа AI как раз показывает, что люди наконец начали это осознавать.
Я думаю, что опыт миграции на 90% состоит из знания фреймворка для миграции. Да и суть вашего переезда заключается в замене императивной, событийной либы на реактивную и более декларативную платформу, следовательно сам процесс перезда ничем особым не отличался бы у реакта и других фреймворков.
Сравнивая Vue и React, проще пересказать преимущества react. Он популярней, следовательно больше работяг на рынке. На этом всё. В остальном же Vue выглядит привлекательней: быстрее, меньше весит, меньше кода, ниже планка входа, не нарушает принципы программирования или делает это не так критично, следовательно проще писать чистый и переиспользуемый код, лучше экосистема: nuxt, router и т.п., которая наследует те же преимущества.
Для примера про чистый код и нарушение принципов поясню: в реакте реактивность существует только внутри компонентов, они же отвечают за ui. Это не позволяет полноценно разделить логику и представление. Часто можно встретить сайты, которые при реактивном изменении в логике ререндерят всю страницу или наоборот, так как работяги не разобрались, где мемоизацию втыкать. На Vue ты можешь написать реактивный бэкенд) Но полезней это преимущество проявляется, когда ты создаешь реактивные модели, headless ui и куски логики, которые ты спокойно можешь копипастить из проекта в проект. Когда код разрастается, то поддерживать ui отдельно от логики гораздо проще по аналогии с mvc или mvvm на бэке.
Почему вы выбрали Реакт? Потому что был чел, который знает реакт. Почему чел выучил реакт? Потому что вакакнсии в основном на реакте. Почему вакансии на реакте? Потому что мы выбираем реакт.
Боже, когда это кончится и люди начнут выбирать технологии, обращая внимание на производительность и удобство работы? Неужели не было 1 недели, чтобы подучить тот же Vue всей командой, дабы иметь возможность писать чистый легко поддерживаемый код?
Отличные вопросы.
С негативным мнением тех, кто проводит ревью, я никогда не сталкивался, видимо потому что правки незначительные. Даже, если такое существовало бы, то качество проекта > мнение ревьюера.
Разработчики в другой ветке не страдают от этого, потому что я способен при рефакторинге сохранять обратную совместимость. Если это невозможно, то я вношу подобные правки, лишь зная, что никто с этим кодом не работает и не собирается. В крайнем случае выношу в отдельную задачу и дальше по флоу.
Я понимаю, что хочется всё сделать правильно, с задачками на борде и т.п., но мой субъективный опыт показывает, что тех. долг на проектах только растет, а согласование таких доработок занимает столько же времени, сколько и сама доработка, включая ревью и тесты. Поэтому я начал их проводить таким образом. Может быть я не прав, но качество проекта повышается, не теряя скорости разработки, это главное.
Да, я согласен, что SOLID это принципы программирования, но многие так не думают, и, если загуглить ООП, то во многих источниках, даже в банальной wiki, будет указано, что это принципы именно ООП
Да, я понимаю вас. В исходном примере во многом используются конструкции, которые есть и на JS, я старался переносить всё максимально точно, учитывая при этом особенности перф тестирования на js.
Тем не менее, это всего лишь слова, поэтому,
если этот коммент наберет 10к лайков,я попробую написать отдельную статью об этом