Тег: react

Нативная разработка мертва? Расцвет кроссплатформы и будущее мобильных приложений

Сегодня мобильный телефон — неотъемлемая часть жизни практически каждого человека. Миллиарды смартфонов по всему миру работают на базе iOS или Android, и для каждой из этих платформ существуют миллионы приложений в App Store и Google Play. Эти приложения, от простых утилит до сложных игр и социальных сетей, создаются разработчиками. Логично предположить, что спрос на специалистов, способных создавать такие программы, должен быть колоссальным и постоянно растущим. Однако в последние годы мы наблюдаем тенденцию, которая ставит под сомнение будущее традиционной, нативной мобильной разработки. Похоже, что эпоха безраздельного доминирования Swift для iOS и Kotlin для Android подходит к концу.

16 апреля 2025
1.3 тыс.
11 мин

Поверхностное vs. Глубокое сравнение в JavaScript: Раскрываем секреты производительности React

Вы работаете над приложением React, изменяете состояние и ожидаете повторного рендеринга, но ничего не происходит. Вы проверяете все, но компонент не перерисовывается, хотя вы уверены, что внесли изменения. После долгой отладки вы обнаруживаете проблему: вы не до конца понимали поверхностное сравнение. Звучит знакомо? Вы не одиноки.

Поверхностное vs. Глубокое сравнение в JavaScript: Раскрываем секреты производительности React

29 января 2025
1.4 тыс.
7 мин

Вот почему Angular проиграл React-у

Есть такие технологии, языки программирования и фреймворки, которые компании создают и забрасывают, а если не забрасывают, то не используют.

21 января 2025
854
6 сек

Какой Front-End фреймворк наиболее активно развивается в 2024 году? — React vs Angular vs Vue vs Svelte

Да, я знаю. Интернет уже переполнен статьями вроде “React vs Angular vs Vue vs …”, и это действительно начинает раздражать.

image.png

Еще более раздражает то, что большинство таких статей полны поверхностной информации и заканчиваются стандартным «политически корректным» выводом, который можно свести к фразе: “все фреймворки хороши, выбор зависит от ваших предпочтений и конкретных нужд”. В результате читатель остается еще более запутанным.

21 ноября 2024
2.5 тыс.
5 мин

React 19 и Next.js 14: простое сравнение

При создании современных веб-приложений React и Next.js являются двумя популярными вариантами. Но в чем разница между ними? Давайте рассмотрим React 19 и Next.js 14 в простых терминах.

React 19 и Next.js 14: простое сравнение

06 августа 2024
2 тыс.
3 мин

Жизненный цикл компонентов в React: функциональные компоненты

React — это библиотека JavaScript для создания пользовательских интерфейсов, и ее основой являются компоненты. В React существует концепция "жизненного цикла компонентов", которая описывает различные этапы, через которые проходит компонент с момента создания до удаления. Для функциональных компонентов в React введены новые возможности с появлением хуков в React 16.8.

Жизненный цикл компонентов в React: функциональные компоненты

14 февраля 2024
3.6 тыс.
3 мин

Самый лучший современный JavaScript-фреймворк – персональный рейтинг

В этом видео я как фронтенд-разработчик со стажем расставлю современные javascript-фреймворки в порядке их "крутости".

25 октября 2023
1.4 тыс.
19 сек

Лучшие практики для написания чистого React-кода

Чистая организация кода важна в React как по практическим причинам, так и из-за ее визуального воздействия. Хорошо продуманная и хорошо организованная кодовая база может быть визуально привлекательной, что делает ее более удобной для работы и понимания.

Опять же, когда код чистый и хорошо организованный, легче увидеть взаимосвязи между различными элементами, понять, как они взаимосвязаны, и вносить изменения по мере необходимости.

Лучшие практики для написания чистого React-кода

12 октября 2023
2.3 тыс.
4 мин

React Day Berlin 2017

Холодным субботним днем провели в Берлине конференцию React Day Berlin 2017. Прошло все гладко – слушатели довольны. Только мне вот показалось, что мало супа было на обед.

Фотографии из твиттера за авторством разных людей.

04 декабря 2017
4 тыс.
12 сек

Условные комментарии для Internet Explorer в React

Иногда сделать простые вещи очень непросто. Например, добавить условный комментарии для IE в html. Этим я сегодня и занимался.

В моем текущем проекте нам нужно было поддерживать css медиа-запросы в IE9. Для этого было решено использовать библиотеку media-match.

Что может быть проще? Пара строк кода с условным комментарием:

<!--[if lte IE 9]>
   <script src="/public/media.match.js">
<![endif]-->

Но все оказалось намного сложнее, так как мы используем React.js и делаем изоморфное одностраничное приложение. Кто бы знал, что React не рендерит на странице комментарии, помещенные в .jsx-файлы. Показынный ниже способ не работает:

renderHead: function() {
  return (
    <head>
      <!--[if lte IE 9]>
      <script src="/public/media.match.js"/>
      <![endif]-->
    </head>
  );
}

Единственный способ, который мне удалось найти – dangerouslySetInnerHTML для head, внутрь которого я поместил комментарий и все заработало:

renderHead: function() {
  return (
    <head dangerouslySetInnerHTML={{__html: '<!--[if lte IE 9]><script src="/public/media.match.js"></script><![endif]-->'}}>
    </head>
  );
}

Следует также отметить, что тэг script должен быть закрыт отдельно <script></script>, так как сокращение <script /> не работает в React.

Последняя, но, при этом, большая проблема – если надо поместить несколько таких комментариев в head. Конечно, можно все просто написать в одну строку, но это выглядит «убого».

Поэтому я, да простят меня парсерсы HTML в браузерах, положил условные комментарии внутри тэга meta:

renderHead() {
  return (
    var comment = '<!--[if lte IE 9]><script src="/public/media.match.js"></script><![endif]-->';
    <head>
      <title>Website title</title>
      <meta name="react-comment-hack" 
          dangerouslySetInnerHTML={{__html: comment}}>
      </meta>
    </head>
  );
}

Успешного «реакта».

© Автор Maks Nemisj

07 мая 2015
5.1 тыс.
1 мин
« Назад
Вперед »