<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/simbirsoft_frontend/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя simbirsoft_frontend]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Wed, 29 Apr 2026 05:44:26 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Что нового в Nuxt? Обзор новых версий]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/1013648/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/1013648/?utm_campaign=1013648&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a79/9a7/9c7/a799a79c763cf5af1f9992a8f8322314.png" /><p>Привет, Хабр!</p><p>Меня зовут Иван и я занимаюсь frontend-разработкой в компании SimbirSoft. В марте 2026 на официальном сайте Nuxt объявили о выходе новой версии <a href="https://nuxt.com/blog/v4-4">Nuxt v4.4</a>. В ней произведена миграция на Vue Router v5, добавлена возможность создания пользовательских фабрик useFetch/useAsyncData, типизация пропсов в Layout, новый композабл и компоненты для работы с доступностью, профилирование сборки, улучшение производительности и многое другое.</p><p>Также в январе вместе с выходом версии <a href="https://nuxt.com/blog/v4-3">Nuxt v4.3</a> разработчики продлили поддержку Nuxt 3 до 31 июля 2026 года (ранее указывали срок до 31 января 2026 года). Решение было принято после открытия <a href="https://github.com/nuxt/nuxt/discussions/33918">обсуждения</a>, чтобы узнать у сообщества, как прошло обновление с версии 3 до версии 4. Многие отметили, что ждут новостей о сроках релиза Nuxt 5, который должен выйти вместе с Nitro 3, поэтому пока не спешат обновляться на четвертую версию. А пока мы ждем новостей, давайте посмотрим, какие интересные нововведения появились в последних релизах Nuxt. Данная статья — это краткий обзор на новые фичи и изменения, которые мне показались интересными.</p> <a href="https://habr.com/ru/articles/1013648/?utm_campaign=1013648&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Жми, чтобы узнать про новые фичи Nuxt🔥</a>]]></description>
      
      <pubDate>Mon, 23 Mar 2026 10:17:58 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[Nuxt]]></category><category><![CDATA[nuxt.js]]></category><category><![CDATA[vue.js]]></category><category><![CDATA[обзор]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Геймдев в браузере: опыт разработки игр на JavaScript]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/989050/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/989050/?utm_campaign=989050&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/73a/7f1/3fc/73a7f13fc724848c82606bbc2a11fe93.png" /><p>Привет! Меня зовут Максим и я frontend-разработчик в компании SimbirSoft. Думаю, из названия статьи вы уже поняли, что я не только занимаюсь разработкой интерфейсов, но и увлекаюсь созданием игр. Интерес к геймдеву появился у меня ещё в университете, когда я решил познакомиться с Unity. Тогда я не планировал строить карьеру разработчика игр, но сам процесс затянул. Даже став полноценным специалистом в своей области, я не перестал думать о геймдеве. Поэтому решил совместить приятное с полезным, а именно: изучить экосистему языка JavaScript на наличие инструментов для геймдева. Результатом стали три игры, опубликованные на платформе Яндекс Игры. Изучив и опробовав несколько технологий, я понял, что создавать игры на JavaScript вполне реально.&nbsp;</p> <a href="https://habr.com/ru/articles/989050/?utm_campaign=989050&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее ⚡</a>]]></description>
      
      <pubDate>Mon, 26 Jan 2026 11:31:30 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Игры и игровые консоли]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Разработка игр]]></category>
      <category><![CDATA[программирование]]></category><category><![CDATA[javascript]]></category><category><![CDATA[typescript]]></category><category><![CDATA[frontend-разработка]]></category><category><![CDATA[браузерные игры]]></category><category><![CDATA[html5 игры]]></category><category><![CDATA[геймдев]]></category><category><![CDATA[web разработка]]></category><category><![CDATA[игры]]></category><category><![CDATA[разработка игр]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Анимированный UI: как улучшить взаимодействие с пользователем]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/974772/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/974772/?utm_campaign=974772&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/db1/0fc/af7/db10fcaf7291ca06dad9a97ab6fc6a10.png" /><p>Анимация пользовательского интерфейса прошла долгий путь за последнее десятилетие, они превратились в универсальный цифровой язык, который люди узнают и понимают. Эти микровзаимодействия позволяют дизайнерам общаться с пользователями посредством движения и анимации, предоставляя им рекомендации, контекст и создавая захватывающий пользовательский опыт.</p><p>В продакшене анимация всегда балансирует между выразительностью и производительностью. Чем сложнее сцена, тем выше нагрузка на процессор, особенно на мобильных устройствах. Поэтому важно оптимизировать: использовать GPU-дружественные свойства (transform, opacity), избегать тяжёлых reflow, а для сложных эффектов — применять библиотеку, которая работает с отложенным рендерингом, например Framer Motion или GSAP. Это не только повышает плавность, но и снижает энергопотребление, что прямо влияет на опыт пользователя.</p><p>Когда команда проектирует систему анимаций, важно фиксировать принципы в дизайн-системе. Это помогает избежать хаоса и гарантирует согласованность между продуктами. Хорошая практика — описывать длительность, кривые ускорения и паттерны движения как переменные, чтобы и дизайнеры, и разработчики говорили на одном языке. Например, motion-tokens, где заданы типовые параметры переходов: fast-out-slow-in, linear-out-slow-in и т.д.</p><p>На зрелом уровне анимация становится не надстройкой, а частью архитектуры интерфейса. Она помогает продукту чувствоваться цельным, обеспечивает предсказуемость и ритм, а главное — создаёт ощущение «живого» цифрового опыта. Привет, я Максим, frontend-разработчик в компании SimbirSoft, в этой статье расскажу, как сделать полезный для пользователя UI. </p> <a href="https://habr.com/ru/articles/974772/?utm_campaign=974772&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 10 Dec 2025 06:57:25 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[CSS]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[UI]]></category><category><![CDATA[css]]></category><category><![CDATA[javascript]]></category><category><![CDATA[react.js]]></category><category><![CDATA[transitions]]></category><category><![CDATA[keyframes]]></category><category><![CDATA[web animations api]]></category><category><![CDATA[gsap]]></category><category><![CDATA[framer motion]]></category><category><![CDATA[lottie]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Долгий путь к ResizeObserver]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/926864/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/926864/?utm_campaign=926864&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/42d/b6f/1a1/42db6f1a14bd19d9a398c1274805b824.png" /><p>Привет, Хабр! Меня зовут Анна, я JS-разработчик в компании SimbirSoft и занимаюсь разработкой веб-приложений на React.&nbsp;Эту статью я посвящаю тем, кто занимается разработкой, сталкивается с нестандартными задачами и переживает, что нашу профессию может вскоре заменить искусственный интеллект (ИИ). Я поделюсь решением задачи, связанной с динамическими размерами блока, — проблемой, с которой наверняка может столкнуться в своей работе любой frontend-разработчик.</p><p>Почему же я назвала статью именно «Долгий путь к ResizeObserver»?</p><p>Возможно, я и слышала раньше про этот API, но когда передо мной встала конкретная задача (описанная ниже), я о нем даже не вспомнила. Мне пришлось пробовать сначала одно решение, потом другое — и лишь в третью очередь я пришла к нужному инструменту. Таков мой путь — из трех шагов. Я человек, поэтому могу честно рассказать, как именно искала решения, в отличие от ИИ. Надеюсь, моя статья поможет вам быстро и эффективно справиться с похожей задачей, а заодно придаст уверенности в собственных силах.&nbsp;Я убеждена: ответы на вопросы находятся не только в нашей голове, но и в окружающем мире, а человек, в отличие от ИИ, способен чувствовать, искать и находить их самым неожиданным для себя образом.</p> <a href="https://habr.com/ru/articles/926864/?utm_campaign=926864&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 21 Jul 2025 09:10:01 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Мозг]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[react]]></category><category><![CDATA[html]]></category><category><![CDATA[css]]></category><category><![CDATA[web api]]></category><category><![CDATA[динамические блоки]]></category><category><![CDATA[поиск решений]]></category><category><![CDATA[ии]]></category><category><![CDATA[искусственный интеллект]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Особенности национальной верстки: PWA]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/889642/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/889642/?utm_campaign=889642&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/996/aa8/028/996aa8028ab4ac83a15d6db85468a54c.png" /><p>Всем привет! В этой статье мы не будем в очередной раз размышлять о том, почему бизнес и пользователи все чаще начинают отдавать предпочтение PWA вместо мобильных приложений, какие у них есть плюсы, минусы и так далее.</p><p>Сегодня мы сосредоточимся на проблемах (а точнее на одной конкретной), с которой вы можете столкнуться, решив сделать свое веб-приложение прогрессивным.</p><p>Забегая вперед, сразу скажу, кому статья может быть полезна. Не столько важно, являетесь вы владельцем продукта или разработчиком. Если вы создаете PWA-приложение, в котором планируется реализовать открытие ссылок на сторонние ресурсы в браузере, вы можете столкнуться с неочевидной проблемой в верстке. Об этом я, frontend-разработчик IT-компании SimbirSoft Эльвина, расскажу в статье. </p> <a href="https://habr.com/ru/articles/889642/?utm_campaign=889642&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Решить проблему👌</a>]]></description>
      
      <pubDate>Thu, 13 Mar 2025 08:04:24 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[JavaScript]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[pwa]]></category><category><![CDATA[мобильные приложения]]></category><category><![CDATA[мобильный веб]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как ускорить загрузку сайта: гайд для разработчиков]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/883090/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/883090/?utm_campaign=883090&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d57/839/2cc/d578392cc12607b2a8e7fd15dfc06809.png" /><p>Привет! Меня зовут Руслан, и я работаю React-разработчиком в компании SimbirSoft. На одном из моих проектов я столкнулся с проблемой низкой производительности сайта, которую нужно было решить быстро и с минимальными затратами ресурсов. В этой статье я хочу рассказать о том, почему важна производительность сайта и зачем её нужно улучшать, а также поделиться несколькими способами увеличения скорости загрузки веб-страниц.</p> <a href="https://habr.com/ru/articles/883090/?utm_campaign=883090&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 18 Feb 2025 09:01:20 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Высоконагруженные системы]]></category>
      <category><![CDATA[веб-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[высокая производительность]]></category><category><![CDATA[программирование]]></category><category><![CDATA[проектирование и рефакторинг]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Favicon и где они обитают]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/840780/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/840780/?utm_campaign=840780&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/68f/987/271/68f987271cce4f82459a625a337ac991.png" /><p>Привет! Меня зовут Анна, я JS-разработчик в компании SimbirSoft. Сегодня расскажу об интересном кейсе на одном из наших проектов, а именно, речь пойдет об отображении favicon сторонних сайтов в нашем приложении.&nbsp;</p> <a href="https://habr.com/ru/articles/840780/?utm_campaign=840780&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее ⚡</a>]]></description>
      
      <pubDate>Wed, 04 Sep 2024 11:57:37 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Дизайн]]></category><category><![CDATA[Иконки]]></category>
      <category><![CDATA[favicon]]></category><category><![CDATA[react]]></category><category><![CDATA[javascript]]></category><category><![CDATA[дизайн интерфейсов]]></category><category><![CDATA[юзабилити]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Личный опыт: переход с Redux на Effector. И при чем тут DX]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/787244/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/787244/?utm_campaign=787244&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/23a/368/156/23a36815694fe6dfe87120c0fd609d6f.png" /><p>Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчика. Есть такое понятие DX – Developer eXperience – по аналогии с UX. Это то, насколько разработчику удобно, интуитивно понятно пользоваться определенным сервисом.</p><p>Меня зовут Аня, я frontend-специалист в компании SimbirSoft с опытом в разработке более трех лет. Уже успела поработать со многими инструментами, участвовала в проекте, где переносили огромное приложение на новые библиотеки, в том числе заменяли Redux на Effector. В этой статье хочу поделиться своими мыслями об этих стейтменеджерах с точки зрения DX.&nbsp;</p><p>Да, их сравнивали много раз, но мой акцент будет на том, как писать код на Effector для привычных кейсов в Redux. Подчеркну, DX — это не про рациональные аргументы, а про комфорт, фэншуй и тому подобные вещи (вы же понимаете, о чем я, правда?…).</p><p>Забегая вперед, хочу сказать, что Effector мне понравился. И прежде всего своей простотой — да-да, один из наших любимых принципов <a href="https://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)#:~:text=%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%20KISS%20%D1%83%D1%82%D0%B2%D0%B5%D1%80%D0%B6%D0%B4%D0%B0%D0%B5%D1%82%2C%20%D1%87%D1%82%D0%BE%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%BE,%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%BE%D0%BD%D0%BE%D0%BC%20(1910%E2%80%941990)."><u>KISS</u></a>). И может быть, что я по поводу Effector испытываю ещё какую-то национальную гордость, потому что это разработка ребят из России.</p> <a href="https://habr.com/ru/articles/787244/?utm_campaign=787244&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 22 Jan 2024 08:42:48 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[frontend]]></category><category><![CDATA[effector]]></category><category><![CDATA[redux]]></category><category><![CDATA[dx]]></category><category><![CDATA[developer experience]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[9 алгоритмов сортировки и поиска для JS, о которых вас спросят на собеседовании]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/769312/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/769312/?utm_campaign=769312&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/806/5e7/079/8065e70795a3b22bcae8478d7a2e1f1c.png" /><p>Привет, Хабр!</p><p>Меня зовут Илья, я frontend-разработчик SimbirSoft. Долгое время вопрос изучения алгоритмов был холиварным. Со я временем убедился, что ни одно современное собеседование в крупную компанию не обходится без вопросов про алгоритмы, и в последний год их всё больше.</p><p>Даже если ты frontend-разработчик и решаешь прикладные задачи, тебе в любом случае придётся знать алгоритмы хотя бы на базовом уровне. Но статей на русском с объяснением алгоритмов и тем, как их реализовать на JavaScript, крайне мало. Поэтому хочу поделиться некоторыми алгоритмами сортировки и поиска, и немного рассказать про структуры данных. Знание алгоритмов и структур данных поможет вам в оптимизации приложений.</p><p>Статья будет полезна разработчикам любых направлений, которые начали свой путь к крепкому уровню middle.</p> <a href="https://habr.com/ru/articles/769312/?utm_campaign=769312&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 24 Oct 2023 08:23:09 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Алгоритмы]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[алгоритмы]]></category><category><![CDATA[визуализация алгоритмов]]></category><category><![CDATA[big o]]></category><category><![CDATA[структуры данных]]></category><category><![CDATA[javascript]]></category><category><![CDATA[typescript]]></category><category><![CDATA[node.js]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Кулинарный гид по Vue.js: всё о props]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/765024/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/765024/?utm_campaign=765024&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/902/677/e07/902677e07136056207f2b7c2df43a245.png" /><p>Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше <u>разобраться в работе и применении props на фреймворке Vue.js</u>, а еще мы затронем тему валидации. Для мидлов и более опытных специалистов — настоящих шеф-поваров мы приготовили <u>продвинутые кулинарные техники props</u>, где можно освежить в памяти некоторые детали или решить проектную проблему, если замылился глаз.&nbsp;</p><p><strong><a href="https://www.freecodecamp.org/news/how-to-use-props-in-vuejs/"><u>Props</u></a> </strong>– от слова «properties» (здесь и дальше будем использовать слово «props») – это специальные атрибуты, используемые в экосистеме Vue для передачи данных в компоненты. Они являются частью системы реактивности, позволяют определять типы данных и проводить с ними валидацию.</p><p>По большей части мы будем покрывать основы передачи props. Поэтому статья будет актуальна как для Vue 2, так и для Vue 3, поскольку по части объявления props отличий мало. Но так как в Composition API и TypeScript все же они есть, то мы рассмотрим их тоже.</p><p>Если вы подходите под все эти условия, то добро пожаловать, мы начинаем наш кулинарный гайд! <em>Bon appétit!</em></p> <a href="https://habr.com/ru/articles/765024/?utm_campaign=765024&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 04 Oct 2023 09:44:34 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[VueJS]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[программирование]]></category><category><![CDATA[vuejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[properties]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Создание внутреннего пакета компонентов React — проще, чем кажется]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/763426/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/763426/?utm_campaign=763426&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0b0/3ca/cf4/0b03cacf420b59a492322f90696f8275.png" /><p>В разработке современных React-приложений часто возникает потребность в повторном использовании компонентов. Есть разные способы решения такой задачи, и одним из них является создание внутреннего пакета компонентов. Грамотная сборка и поддержка такого пакета позволяют повысить эффективность и производительность разработки, а команда получает возможность использовать готовые компоненты в различных проектах без особых усилий.&nbsp;</p><p>Я frontend-разработчик SimbirSoft Эллина, и в этой статье расскажу, как создать внутренний пакет компонентов в React с помощью инструмента сборки Rollup, а также как сделать его более качественным и удобным для использования. Материал будет полезен frontend-разработчикам уровней junior+ и middle.</p> <a href="https://habr.com/ru/articles/763426/?utm_campaign=763426&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее ?</a>]]></description>
      
      <pubDate>Tue, 26 Sep 2023 08:45:08 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Node.JS]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[react]]></category><category><![CDATA[typescript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[npm]]></category><category><![CDATA[rollup]]></category><category><![CDATA[library]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Введение в микроразметку в Nuxt.js: как это работает]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/758926/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/758926/?utm_campaign=758926&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0da/0c1/af2/0da0c1af26d40421cea723e55670e962.png" /><p>Привет, Хабр! Меня зовут Павел, я JS-разработчик SimbirSoft. За три года работы во фронтенде я убедился, что микроразметка необходима для оптимизации и улучшения UX на сайте, и считаю ее важным инструментом при разработке. В целом микроразметка феномен распространённый. Но что мы знаем об использовании Server-Side Rendering (SSR)? Разберёмся по порядку.</p> <a href="https://habr.com/ru/articles/758926/?utm_campaign=758926&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 05 Sep 2023 07:46:29 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Микроформаты]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Поисковая оптимизация]]></category>
      <category><![CDATA[микроразметка]]></category><category><![CDATA[nuxt.js]]></category><category><![CDATA[seo-оптимизация]]></category><category><![CDATA[продвижение сайтов]]></category><category><![CDATA[schema.org]]></category><category><![CDATA[semantic web]]></category><category><![CDATA[поисковые технологии]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[React + Redux/Effector: инструменты frontend-разработчика для создания интерфейса]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/753682/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/753682/?utm_campaign=753682&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bdc/d31/05d/bdcd3105d3a78f363a399f02e108f420.png" /><p>Redux и Effector — это две популярные библиотеки, которые используются для&nbsp; управления состоянием в веб-приложениях. Но если первая широко известна во frontend-разработке, вторая только набирает обороты. В этой статье мы рассмотрим, как работают оба инструмента, разберем преимущества и недостатки и дадим рекомендации по использованию на проектах.&nbsp;Материал адресован frontend-разработчикам, которые ранее не сталкивались с Redux или хотят найти ему альтернативу.</p> <a href="https://habr.com/ru/articles/753682/?utm_campaign=753682&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">🚀 Читать далее</a>]]></description>
      
      <pubDate>Thu, 10 Aug 2023 07:23:55 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[redux]]></category><category><![CDATA[effector]]></category><category><![CDATA[стейт менеджер]]></category><category><![CDATA[redux-toolkit]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[TypeScript 5.0 и 4.9: оцениваем и сравниваем изменения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/740224/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/740224/?utm_campaign=740224&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/520/aef/681/520aef681957aa190deab6fadc2533a3.png" /><p>В середине марта 2023 года Майкрософт анонсировала релиз TypeScript версии 5.0. Разработчики ожидают от нее 10-20% прироста производительности, но так как всё зависит от кодовой базы и характеристик оборудования, они настоятельно рекомендуют опробовать эти изменения.</p><p>В этой статье мы разберём некоторые изменения в TypeScript 4.9 и 5.0 и сравним нововведения с предыдущими версиями. На примерах кода постараемся понять, для чего они были добавлены и как они упрощают нашу жизнь. Статья будет полезна опытным разработчикам, которые часто применяют TypeScript в работе, и начинающим, так как мы подробно разберем решения некоторых проблем.</p> <a href="https://habr.com/ru/articles/740224/?utm_campaign=740224&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 07 Jun 2023 07:47:07 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[typescript]]></category><category><![CDATA[javascript]]></category><category><![CDATA[enum]]></category><category><![CDATA[decorator]]></category><category><![CDATA[web developement]]></category><category><![CDATA[satisfies]]></category><category><![CDATA[auto-accessors]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Тестирование с Ava.js]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/735138/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/735138/?utm_campaign=735138&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/fe4/6eb/eb9/fe46ebeb9726dc095fe9f46a58203675.png" /><p>На данный момент существует великое множество библиотек и инструментов для тестирования. В большинстве случаев и проектов вы увидите такие инструменты, как Mocha, Jest и другие – все они популярны и хороши… Но неужели нет достойных альтернатив? Существует ли менее известная библиотека, которая может справиться со своими задачами лучше, чем вышеперечисленные флагманы? Зачастую для тестирования используют популярные инструменты, перечисленные выше.&nbsp;</p><p>Меня зовут Михаил, я JS-разработчик в SimbirSoft, и мне бы хотелось раскрыть такой малоизвестный, но очень полезный и понятный инструмент, как Ava. Это простая библиотека для запуска тестов на Node.js. В некоторых моментах она превосходит своих конкурентов, но почему-то пользуется гораздо меньшей популярностью. Возможно, для кого-то Ava может стать отличной альтернативой на старте нового проекта или решения вопроса с тестированием.</p> <a href="https://habr.com/ru/articles/735138/?utm_campaign=735138&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 16 May 2023 10:17:36 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Тестирование веб-сервисов]]></category>
      <category><![CDATA[frontend]]></category><category><![CDATA[фронтенд-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[юнит-тесты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Устраняем недостаток микрофронтендов: четыре способа коммуникации между frontend-приложениями]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/734342/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/734342/?utm_campaign=734342&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e3f/f42/82c/e3ff4282cb75e642bf1249a11fcd4775.png" /><p>Микрофронтенды «выросли» из модного веяния web-разработки в технологию, которую активно используют на больших проектах. Микрофронтенд гибче монолита, может быстрее реагировать на непредвиденные ситуации и дорабатываться под запрос. Этот подход позволяет быстро расширять приложение и разрабатывать на разных фреймворках. Тем не менее один из ключевых недостатков технологии — сложность во взаимодействии между frontend-приложениями.&nbsp;</p><p>Меня зовут Игорь, я frontend-разработчик SimbirSoft. Ранее мы с коллегами <a href="https://habr.com/ru/companies/simbirsoft/articles/698240/"><u>рассматривали</u></a> вопрос построения архитектуры микрофронтендов. А в этой статье я разберу основные способы коммуникации между отдельными приложениями, которые можно применять в коммерческой разработке. Материал будет полезен разработчикам и архитекторам frontend-приложений.</p> <a href="https://habr.com/ru/articles/734342/?utm_campaign=734342&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 11 May 2023 08:36:36 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[микрофронтенды]]></category><category><![CDATA[module federation]]></category><category><![CDATA[iframe]]></category><category><![CDATA[customevent]]></category><category><![CDATA[storage event]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Storybook: разработка без боли для команды и бизнеса. Возможности и нюансы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/729066/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/729066/?utm_campaign=729066&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/473/be5/f3a/473be5f3a3577def6d5c35edc81556e8.png" /><p>Всем привет! Если вы считаете Storybook лишним инструментом, эта статья для вас. Раньше я и сам мог присоединиться к такому мнению, но попробовал Storybook в деле, когда участвовал в разработке сервиса рассрочки для одного из крупнейших маркетплейсов. Разработкой этого проекта занимались две команды, состоящие из 15 человек.</p><p>Меня зовут Александр, я frontend-разработчик в Simbirsoft. Хочу поделиться, как этот инструмент может сократить время на разработку и тестирование, улучшить качество конечного продукта, а также сэкономить бюджет на больших проектах.</p><p>Советую к прочтению фронтенд-разработчикам и тимлидам, которые хотят упростить процесс тестирования и отладки компонентов интерфейса веб-приложений. Также материал может помочь менеджерам проектов и владельцам бизнеса в поиске новых подходов для ускорения и оптимизации процесса разработки. И даже если вы новичок во frontend-разработке и хотите узнать о новых инструментах и технологиях в этой области — welcome.</p><p>Мы рассмотрим такие возможности, как создание документации, тестирование, тестирование доступности, работу с моками, аддоны для имитации API и контекста. Я поделюсь, какие проектные задачи мне удалось решить, и чем может быть полезен Storybook для вас.</p> <a href="https://habr.com/ru/articles/729066/?utm_campaign=729066&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 14 Apr 2023 06:59:14 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Управление разработкой]]></category>
      <category><![CDATA[storybook]]></category><category><![CDATA[cdd]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Как использовать пропсы для передачи данных дочерним компонентам в Vue 3]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/725506/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/725506/?utm_campaign=725506&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8ec/d59/503/8ecd5950379013ea20a048f1c61e175b.png" /><p>По традиции делимся полезными переводными материалами во frontend-разработке. В этот раз frontend-специалист SimbirSoft Никита сделал выбор в пользу <a href="https://blog.logrocket.com/author/nwoselotanna/"><u>материалов</u></a> Nwose Lotanna, опубликованных на сайте <a href="https://blog.logrocket.com/"><u>blog.logrocket.com</u></a>. С разрешения автора мы перевели <a href="https://blog.logrocket.com/use-props-pass-data-child-components-vue-3/"><u>статью</u></a>, в которой он рассказывать о способах использования пропсов для передачи данных дочерним компонентам в Vue 3.</p><p><strong>Примечание автора:</strong> Данная статья последний раз была обновлена 15 декабря 2022, чтобы отразить обновления, добавленные в Vue 3.</p><p>Пропсы — это важная фича в Vue для управления родительскими и дочерними компонентами, однако взаимодействие с ними может быть довольно мудреным. В этой статье мы изучим, как передавать данные из родительского компонента в дочерний с использованием пропсов в Vue 3. Весь код из этой статьи вы можете <a href="https://github.com/nemo0/vue-props-demo"><u>найти на GitHub</u></a>. Что ж, начнем!</p> <a href="https://habr.com/ru/articles/725506/?utm_campaign=725506&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Mar 2023 08:05:11 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[VueJS]]></category>
      <category>frontend</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Встраивание WebGL в HTML-страницу с помощью Three.JS]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/721912/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/721912/?utm_campaign=721912&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d7c/980/221/d7c9802219f73ec39bf823cc88a609ef.png" /><p><strong><a href="https://articles-simbirsoft.github.io/demo/">demo</a>, <a href="https://github.com/articles-simbirsoft/demo"><u>github</u></a></strong>  </p><p>Приветствую! Я Алексей, frontend‑разработчик в&nbsp;SimbirSoft. Вы, возможно, видели потрясающие веб‑сайты, представленные на <a href="https://www.awwwards.com">www.awwwards.com</a>. Это онлайн‑каталог лучших веб‑сайтов, который оценивает и награждает творческие и инновационные работы веб‑дизайнеров и разработчиков. На&nbsp;этом сайте можно найти множество примеров креативного веб‑дизайна, анимаций и визуальных эффектов. Такие удивительные анимации обычно разрабатываются с&nbsp;использованием WebGL. Эта технология позволяет более свободно и творчески подходить к&nbsp;созданию впечатляющих визуальных эффектов без&nbsp;ущерба для&nbsp;производительности. Для&nbsp;работы с&nbsp;WebGL используются такие библиотеки, как&nbsp;Three.js, PIXIJS или&nbsp;BABYLON, которые также популярны при&nbsp;создании игр.</p><p>В&nbsp;данной статье мы рассмотрим совмещение WebGL‑анимации с&nbsp;прокруткой страницы HTML, используя библиотеку Three.js. Работа с&nbsp;ней во&nbsp;многом схожа с&nbsp;работой 3D‑редактора (3ds Max, Maya, Blender и&nbsp;т.&nbsp;д.). Для&nbsp;получения результата в&nbsp;виде картинки или&nbsp;анимации необходимо создать сцену, поместить в&nbsp;нее камеру, создать примитив (геометрию или 3D‑модель), создать источник освещения и запустить процесс рендеринга. </p><p>Эта статья будет полезна middle и senior фронтенд‑разработчикам, которые хотят ознакомиться с&nbsp;Three. В&nbsp;статье очень мало теории и вводных материалов, акцент сделан на&nbsp;практической части. Если вы совсем не&nbsp;знаете, как&nbsp;работает <a href="https://threejs.org/"><u>Three.js</u></a>  и шейдеры, рекомендую вначале ознакомиться с&nbsp;этой технологией, а&nbsp;после вернуться к&nbsp;статье.</p> <a href="https://habr.com/ru/articles/721912/?utm_campaign=721912&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Mar 2023 05:35:15 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[three.js]]></category><category><![CDATA[webgl]]></category><category><![CDATA[shaders]]></category><category><![CDATA[туториал]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Адаптивная верстка: старый друг, который не бросит в трудную минуту]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/706494/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/706494/?utm_campaign=706494&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/407/437/bdc/407437bdc53df7c7af798a60085f119e.png" /><p>Всем привет! Меня зовут Айрат, я frontend-разработчик IT-компании SimbirSoft. Поговорим о такой теме, как адаптивная верстка.&nbsp;</p><p><strong><em>ДИСКЛЕЙМЕР</em></strong><em>: адаптив для сайта как явление на языке мемов уже смело можно назвать «баяном», впервые в России он появился в 2012 году (10 лет назад, Карл!). Даже React – самая популярная на данный момент библиотека для UI-разработки вышла только год спустя. И, наверное, вы подумали: «Да что тут читать? Даже у сайта булочной есть адаптив под мобильные устройства». Справедливое замечание... Мы тоже так думали, но не тут-то было. Представьте наше удивление, когда за последние полгода чуть ли не каждый второй клиент обязательным требованием выставляет наличие адаптивной верстки для сайта. Удивляет нас это потому, что адаптив – опция «из коробки» для каждого нашего проекта, на которой мы даже не акцентируем внимание. Всем же понятно, что он должен быть. Оказывается, нет…</em></p><p>В этой статье попробуем разобраться, чем отличаются различные подходы в разработке приложений и сайтов с точки зрения визуализации интерфейса, чтобы помочь вам сделать выбор в пользу той или иной технологии в зависимости от ваших задач.</p> <a href="https://habr.com/ru/articles/706494/?utm_campaign=706494&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 20 Dec 2022 08:37:17 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[CSS]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[HTML]]></category>
      <category><![CDATA[адаптивная верстка]]></category><category><![CDATA[мобильная верстка]]></category><category><![CDATA[адаптив]]></category><category><![CDATA[pwa]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Следим и вычисляем с Vue 3, или Как использовать watchEffect]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/697910/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/697910/?utm_campaign=697910&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b34/eaf/394/b34eaf394cc8659152347bb9ce0fa9d2.png" /><p>Привет! Меня зовут Алексей, я frontend-специалист SimbirSoft.&nbsp;В этой статье разберем новый метод слежения за реактивными свойствами watchEffect.</p><p>С появлением Vue 3 c Composition API стало доступно два метода слежения — watch и watchEffect. Если «старый» метод watch всем хорошо знаком и не должен вызывать затруднений у Vue-разработчиков, то новый метод стоит изучить подробнее. Материал будет полезен разработчикам, переходящим с Vue 2 на Vue 3 и всем «вьюшникам», которые еще не разобрались с этим методом.</p><p>Composition API предоставляет нам два разных метода слежения за реактивными свойствами — watch и watchEffect. Они похожи, но все же каждый полезен в определенных случаях. Рассмотрим, какие сходства и различия существуют у этих методов:</p> <a href="https://habr.com/ru/articles/697910/?utm_campaign=697910&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 08 Nov 2022 06:54:20 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[web-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[vuejs]]></category><category><![CDATA[vue3]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Разработка Angular-приложений и построение их архитектуры]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/687712/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/687712/?utm_campaign=687712&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4cd/e36/e08/4cde36e08e3448d5407b1fae4230b61a.png" /><p>Привет! Меня зовут Самат, я frontend-специалист компании SimbirSoft.</p><p>Моё первое знакомство с Angular началось с погружения в документацию, которая помогла мне лучше понять, как устроен этот фреймворк. Наверняка, этого было бы достаточно, чтобы подключиться к проекту или заняться его разработкой с нуля.</p><p>Но если после подключения разработчик заходит в уже выстроенную систему, и его задачи редко связаны с архитектурой, то в разработке с нуля ситуация обстоит иначе, даже если на первый взгляд кажется, что вопросов не возникнет. Они появятся позже, когда окажется, что нельзя легко и просто внести важную фичу или безопасно изменить часть приложения, так как она тесно связана с другой частью. А компоненты приложения, которые мы сами же и писали, покажутся незнакомыми и сложными.</p><p>Цель этой статьи – познакомиться с темой построения архитектуры Angular-приложений. Я расскажу о том, как разработать приложения таким образом, чтобы специалист любого уровня при наличии знаний Angular мог легко разобраться в коде и структуре приложения. И как избежать проблем масштабирования.</p> <a href="https://habr.com/ru/articles/687712/?utm_campaign=687712&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 13 Sep 2022 06:38:54 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Angular]]></category>
      <category><![CDATA[архитектура]]></category><category><![CDATA[architecture]]></category><category><![CDATA[software architecture]]></category><category><![CDATA[angular]]></category><category><![CDATA[frontend]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Вредные советы для React-разработчиков]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/683338/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/683338/?utm_campaign=683338&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d78/eab/fa9/d78eabfa91fe5799a82b27ec42852a29.png" /><p>Недавно британские ученые открыли, что на свете бывают непослушные разработчики, которые все делают наоборот. Им дают полезный совет: «Не подключай целую библиотеку ради одной функции», — они берут и подключают. Им говорят: «Будь внимателен на код-ревью», — они тут же начинают апрувить все подряд. Ученые придумали, что таким разработчикам нужно давать не полезные, а вредные советы. Они все сделают наоборот, и получится как раз правильно.</p> <a href="https://habr.com/ru/articles/683338/?utm_campaign=683338&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 19 Aug 2022 07:01:21 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Клиентская оптимизация]]></category>
      <category><![CDATA[web-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[фронтенд]]></category><category><![CDATA[оптимизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Хочу перемен: почему пора переходить на Vue 3]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/675692/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/675692/?utm_campaign=675692&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/395/cab/660/395cab660d88ac72b485fdbd02aa5263.png" /><p>Привет! Меня зовут Влад, я frontend-разработчик в компании SimbirSoft. Мне приходилось создавать приложения как на старых версиях Vue, так и на новых. Причем многие из моих коллег вполне успешно разрабатывают на Vue 2 и не спешат переходить на Vue3, даже спустя два года после релиза.</p><p>Что же касается бизнеса и владельцев продуктов, в моей практике также встречались кейсы и примеры, когда заказчики не понимали всех преимуществ использования новой версии.</p><p>В этой статье попытался раскрыть новшества, которые могут стать «триггером» для миграции на новую технологию для обеих заинтересованных групп. Поговорим об экосистеме Vue 3, о новинках и пользе для разработчиков и бизнеса. И, разумеется, сравним Vue 2 и Vue 3 с технической точки зрения.&nbsp;Также рассмотрим одно из главных нововведений фреймворка – Composition API, раскроем технические нюансы и определим лучшие кейсы использования нового API.</p> <a href="https://habr.com/ru/articles/675692/?utm_campaign=675692&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 08 Jul 2022 06:13:19 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[vue]]></category><category><![CDATA[vue.js]]></category><category><![CDATA[vuejs]]></category><category><![CDATA[vue2]]></category><category><![CDATA[vue3]]></category><category><![CDATA[javascript]]></category><category><![CDATA[compositionAPI]]></category><category><![CDATA[frontend]]></category><category><![CDATA[frontend-разработка]]></category><category><![CDATA[разработка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Настройка ESLint для чистого кода в проектах на Vue]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/674036/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/674036/?utm_campaign=674036&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/653/d6c/9ae/653d6c9ae8f7fc8a65338f1b4af5bf8e.png" /><p>В процессе работы над проектами разработчики придерживаются определенного кодстайла. Как правило, за это отвечает ESLint. ESLint — это линтер для языка программирования JavaScript. Он статически анализирует код на наличие проблем, многие из которых можно исправить автоматически.</p><p>Как показывает практика, команды в проектах часто пренебрегают кастомной настройкой ESLint, оставляя дефолтную. В этом случае большая часть кодстайла остается на совести разработчика. Кодстайл, как правило, в таких проектах нигде не описан или существует в формате устной договоренности. При таком подходе большую часть правил приходится держать в уме, не говоря уже о том, что многие из них основаны на субъективных предпочтениях. Нередки случаи, когда разные части приложения отформатированы под разные правила. Например, если разработчики пишут код в разных операционных системах, то переносы строк у них отличаются. Правил так много, а настройки столь обширны, что использование разных редакторов кода в командной разработке может усложнить взаимодействие.</p><p>В этой статье рассмотрим пример настройки ESLint для разработки приложений на Vue. В итоге мы получим настройки ESLint, которые будут проверять наш код на соответствие большинству правил <a href="https://ru.vuejs.org/v2/style-guide/index.html"><u>официального стайлгайда Vue</u></a>. Материал полезен начинающим разработчикам, которые хотят улучшить свой стиль кода, и более опытным на старте нового проекта в незнакомой или большой распределенной команде. Эти настройки помогут придерживаться кодстайла и отслеживать некоторые ошибки (синтаксические, логические, ошибки, связанные с динамической типизацией) еще на этапе написания кода, повысят его читаемость и упростят код-ревью. В конечном итоге это приведет к сокращению сроков разработки.</p> <a href="https://habr.com/ru/articles/674036/?utm_campaign=674036&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Jun 2022 05:14:05 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[web-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[фронтенд]]></category><category><![CDATA[vuejs]]></category><category><![CDATA[eslint]]></category><category><![CDATA[static code analysis]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Развертывание React-приложения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/668622/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/668622/?utm_campaign=668622&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/32b/90f/8b1/32b90f8b1b7ce1fd1184c686c402d312.png" /><p>Когда мы имеем дело с большим проектом, в репозитории которого накопились десятки тысяч строк кода, иногда единственным здравым решением кажется все переписать с нуля, а не оптимизировать. С точки зрения бизнеса может возникнуть вопрос: а почему вообще нужно оптимизировать или даже переписывать приложение, если оно работает? Дело в том, что по мере роста кодовой базы есть вероятность увеличения дублирующихся компонентов/фрагментов кода, появления устаревших участков, которые тормозят сборку, но полезной нагрузки уже не несут. Это негативно влияет на скорость работы приложения и увеличивает срок разработки.</p><p>В этом кейсе мы покажем, как улучшить имеющееся решение с точки зрения архитектуры, а также рассмотрим библиотеки и их особенности, которые помогут сделать приложение быстрее.</p><p>В данном примере мы имеем дело с довольно объемной кодовой базой, UI которой обрабатывает большие массивы данных и выводит их на экран в виде списков, таблиц, графиков. Поэтому нам важно обеспечить гибкость нашего приложения как в плане сборки бандла, так и для развертывания в разных средах. И, конечно, иметь в рукаве самые последние фичи, позволяющие делать наш код красивым, понятным и читаемым.</p><p>Статья будет полезна тимлидам и техлидам проектов, а также разработчикам, которые столкнулись с развертыванием крупных неоптимизированных React-приложений.</p> <a href="https://habr.com/ru/articles/668622/?utm_campaign=668622&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 31 May 2022 08:01:28 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[веб-разработка]]></category><category><![CDATA[javascript]]></category><category><![CDATA[react]]></category><category><![CDATA[frontend]]></category><category><![CDATA[оптимизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Фантастические веб-уязвимости и где они обитают]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/659847/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/659847/?utm_campaign=659847&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4a8/5eb/78c/4a85eb78ceb1bf60ba530b4516d4b708.png" /><p>Мы часто слышим в новостях фразы «Хакеры атаковали», «Хакеры взломали», «Хакеры украли» и подобные. Как сообщают <a href="https://legaljobs.io/blog/cyber-crime-statistics/#:~:text=Hackers%20attack%20people%20worldwide%20roughly,rate%20at%201%20in%20323"><u>legaljobs</u></a>, хакеры проводят 1 атаку в вебе каждые 32 секунды. По прогнозам <a href="https://cybersecurityventures.com/cybercrime-damages-6-trillion-by-2021/"><u>cybercrime magazine</u></a>, ущерб от киберпреступлений к 2025 году составит $10,5 трлн против $3 трлн в 2015 году. Но почему у них получается произвести атаку, как это происходит и кто же они такие, “эти хацкеры”?</p><p>Рассмотрим пять основных уязвимостей клиентской части веб-приложений, которые входят или входили до недавнего времени в список <a href="https://owasp.org/"><u>OWASP</u></a>. Постараемся максимально простым языком и с примерами показать, как они работают, из-за чего возникают, а также поделимся инструментами и рекомендациями, как обезопасить себя, пользователя и свой продукт от возможного взлома. Кроме этого, расскажем, какими знаниями, по нашему мнению, должен обладать frontend-разработчик, чтобы не попасть впросак.</p><p>Статья предназначена как frontend-разработчикам, которые хотят познакомиться с основными видами уязвимостей на клиенте и методами защиты от них, владельцам продуктов, которые заботятся о безопасности своих пользователей, так и тем, кто искал повод «никогда больше не быть онлайн».</p> <a href="https://habr.com/ru/articles/659847/?utm_campaign=659847&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 14 Apr 2022 09:43:50 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Информационная безопасность]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[теги]]></category><category><![CDATA[веб-разработка]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[frontend]]></category><category><![CDATA[javascript]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[React Hooks простыми словами]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/652321/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/652321/?utm_campaign=652321&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a20/627/0e2/a206270e2930faac8af40f5a1c6059a4.png" /><p>О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про <a href="https://reactjs.org/docs/hooks-intro.html"><u>React Hooks</u></a> настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде.&nbsp;</p> <a href="https://habr.com/ru/articles/652321/?utm_campaign=652321&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 18 Feb 2022 12:24:17 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[хуки]]></category><category><![CDATA[react]]></category><category><![CDATA[hooks]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[«Мобилизация» сайта: внедряем AMP-страницу]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/596233/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/596233/?utm_campaign=596233&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/1ec/1c6/c0f/1ec1c6c0faf8a7234b6245c74bb378b6.png" /><p>Для удобства отражения сайта на мобильных устройствах зачастую нужно внедрить в проект страницу <a href="https://amp.dev/ru/support/faq/overview/"><u>Accelerated Mobile Pages (AMP)</u></a>. Делимся примером, как можно выполнить эту задачу, если вы работаете с приложением на React.</p><p>Начнем с того, что <a href="https://ru.wikipedia.org/wiki/Accelerated_mobile_pages"><u>AMP</u></a> — технология ускоренных мобильных страниц от Google с открытым исходным кодом. Этот способ позволяет оперативно загрузить веб-страницу при низкой скорости подключения к сети.</p><p><em>Подробнее с технологией можно познакомиться в различных источниках, например, </em><a href="https://search.google.com/test/amp"><em><u>здесь</u></em></a><em>, </em><a href="https://validator.ampproject.org/"><em><u>здесь</u></em></a><em> или </em><a href="https://amp.dev/ru/documentation/guides-and-tutorials/start/create/"><em><u>здесь</u></em></a><em>.</em></p><p>Именно такая задача появилась в одном из наших проектов, где стек технологий включал в себя Next.js, React, Styled components и Effector, при этом не было доступа к стору на стороне клиента. Большинство инструкций и гайдов по внедрению AMP, в свою очередь, были ориентированы на обычные html-страницы.</p> <a href="https://habr.com/ru/articles/596233/?utm_campaign=596233&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 17 Dec 2021 12:40:43 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[ReactJS]]></category><category><![CDATA[Поисковая оптимизация]]></category>
      <category><![CDATA[react]]></category><category><![CDATA[amp]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[React-three-fiber: повышаем производительность приложений]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/595673/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/595673/?utm_campaign=595673&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dfd/b8c/f74/dfdb8cf74cc95134adcd018aee67e345.png" /><p>Бывает так, что ваше приложение обрабатывает графику и нуждается в высокой производительности – например, если это сервис для бронирования мест в зале, который мы <a href="https://habr.com/ru/company/simbirsoft/blog/507394/"><u>показали</u></a> в одной из прошлых статей. При этом зачастую нужны плавный зум или скроллинг элементов, а также поддержка различных библиотек. Рассмотрим, как сохранить производительность и скорость, на примере работы с библиотекой react-three-fiber.</p> <a href="https://habr.com/ru/articles/595673/?utm_campaign=595673&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Dec 2021 13:52:32 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[three.js]]></category><category><![CDATA[frontend]]></category><category><![CDATA[javascript]]></category><category><![CDATA[react]]></category><category><![CDATA[react-three-fiber]]></category><category><![CDATA[webgl]]></category><category><![CDATA[webgl2]]></category><category><![CDATA[canvas]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Выбираем алгоритм, или Когда ждать уже невыносимо]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/582316/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/582316/?utm_campaign=582316&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a01/095/033/a01095033f135eef915f1ca05ab12ec6.png" /><p>При разработке бизнес-логики приложений нужно продумать действия с множествами – с пересечением, разницей массивов или двойной разницей. Недостатки в этом алгоритме могут привести к рискам. Например, если вам нужно в реальном времени обработать объем данных, превышающий определенную границу, система может «тормозить» – до минуты и даже больше. Такие ситуации требуют лишнего расхода ресурсов, отталкивают пользователей и вызывают другие проблемы.</p><p>Рассмотрим один из способов, которым мы пользуемся в работе для устранения подобных негативных эффектов. Статья будет полезна как разработчикам с опытом, которые ищут новые способы оптимизации своих продуктов, так и новичкам, которые только погружаются в тему оптимизации.</p> <a href="https://habr.com/ru/articles/582316/?utm_campaign=582316&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 08 Oct 2021 10:57:25 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Angular]]></category><category><![CDATA[ReactJS]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[react]]></category><category><![CDATA[алгоритмы]]></category><category><![CDATA[производительность]]></category><category><![CDATA[оптимизация]]></category><category><![CDATA[frontend]]></category><category><![CDATA[angular]]></category><category><![CDATA[vue]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[2d-графика в React с three.js]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/560980/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/560980/?utm_campaign=560980&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/392/b5d/98a/392b5d98aaaf79af23856ec9d72d0271.png" /><p>У каждого из вас может возникнуть потребность поработать с графикой при создании React-приложения. Или вам нужно будет отрендерить большое количество элементов, причем сделать это качественно и добиться высокой производительности при перерисовке элементов. Это может быть анимация либо какой-то интерактивный компонент. Естественно, первое, что приходит в голову – это Canvas. Но тут возникает вопрос: «Какой контекст использовать?». У нас есть выбор – <strong>2d-контекст</strong> либо <strong>WebGl</strong>. А как на счёт 2d-графики? Тут уже не всё так очевидно.</p> <a href="https://habr.com/ru/articles/560980/?utm_campaign=560980&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 06 Jun 2021 09:21:32 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[ReactJS]]></category>
      <category><![CDATA[react]]></category><category><![CDATA[2d]]></category><category><![CDATA[three.js]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/556270/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/556270/?utm_campaign=556270&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ae4/4be/8d6/ae44be8d689f039737a3f1d49275de8c.png" /><p>Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js, React.js, Angular.&nbsp;</p><p>В старые времена, когда JQuery только появился, а о фреймворках для серверных языков лишь читали в редких новостях, веб-приложения реализовывали целиком на серверных языках. Зачастую для этого использовали модель MVC (Model-View-Controller): контроллер (controller) принимал запросы, отвечал за бизнес-логику и модели (model) и передавал данные в представление (view), которое рисовало HTML.&nbsp;</p><p>Объектно-ориентированное программирование (ООП) на тот момент только начинало формироваться, поэтому разработчики зачастую интуитивно решали, где и какой код надо писать. Таким образом, в мире разработки зародилось такое понятие, как «<a href="https://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82"><u>Божественные объекты</u></a>», которые первоначально отвечали практически за всю работу отдельных частей системы. Например, если в системе была сущность «Пользователь», то разработчику следовало создать класс User и в нем писать всю логику, так или иначе связанную с пользователями. Без разбиения на какие-то ещё файлы. И если приложение было большим, то такой класс мог содержать тысячи строк кода.</p> <a href="https://habr.com/ru/articles/556270/?utm_campaign=556270&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 10 May 2021 07:48:37 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[ООП]]></category><category><![CDATA[VueJS]]></category>
      <category><![CDATA[vuejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[архитектура]]></category><category><![CDATA[бизнес-логика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как реализовать динамическую диаграмму для Vue на основе SVG]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/524220/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/524220/?utm_campaign=524220&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Бывает, что на сайте, в корпоративной IT-системе или другом ПО нужно отображать круговые диаграммы с какими-либо данными. Например, это может быть таймер для отсчета времени или индикатор, сколько товаров продано в той или иной категории. Если это статическое изображение, конечно, можно обойтись форматом svg, png или gif. Однако, зачастую нужно показать данные в динамике – например, для мониторинга или просто для привлечения внимания пользователей, для создания красивой анимации при загрузке сайта. Делимся примером, как можно построить диаграмму из элементов SVG с помощью JS и CSS. <br>
<br>
<img src="https://habrastorage.org/webt/il/9h/3k/il9h3kehvscsjwa9ftcje3jtwdu.png"> <a href="https://habr.com/ru/articles/524220/?utm_campaign=524220&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 21 Oct 2020 07:37:00 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[CSS]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[VueJS]]></category><category><![CDATA[Векторная графика]]></category>
      <category><![CDATA[Vue]]></category><category><![CDATA[JS]]></category><category><![CDATA[CSS]]></category><category><![CDATA[диаграмма]]></category><category><![CDATA[динамический график]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы использовали GraphQL в разработке на примере интернет-каталога]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/518710/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/518710/?utm_campaign=518710&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[В этой статье мы делимся опытом реального применения GraphQL при создании интернет-каталога. Рассказываем о том, какие достоинства и недостатки этого языка запросов мы нашли при использовании стека GraphQL + Apollo Client, Next JS (SSR) + TypeScript. <br>
<br>
Дисклеймер: мы не описываем подробно «магическую суть» и историю возникновения инструмента (об этом уже рассказано немало). Надеемся, что тем, кто уже знаком с GraphQL, окажется полезен наш практический опыт. <br>
<br>
<img src="https://habrastorage.org/webt/l6/ku/h8/l6kuh8aggmbu0ja6yplmt6w98zu.png"> <a href="https://habr.com/ru/articles/518710/?utm_campaign=518710&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 16 Sep 2020 05:54:26 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Проектирование API]]></category><category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[GraphQL]]></category><category><![CDATA[разработка]]></category><category><![CDATA[API]]></category><category><![CDATA[программирование]]></category><category><![CDATA[javascript]]></category><category><![CDATA[react]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы разработали интерактивную веб-схему для зрительных залов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/507394/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/507394/?utm_campaign=507394&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Иногда в приложении надо показать модель помещения – допустим, кинотеатра или даже целого стадиона, если вы продаете билеты на концерт Metallica. Если в зале 50-100 тысяч мест, то для их вывода на экран нужно продумать плавный zoom, скроллинг и другие детали. Итак, главный вопрос – как показывать тысячи элементов на экране, чтобы это было удобно для пользователей?<br>
<br>
Недавно мы <a href="https://habr.com/ru/company/simbirsoft/blog/504248/">писали</a> о скроллинге диаграмм с помощью d3.js, а сейчас хотим поделиться другим кейсом. Рассказываем, как с помощью Canvas можно разработать интерактивную схему зала, которую просто встраивать в любые веб-приложения. <br>
<br>
<img src="https://habrastorage.org/webt/_1/xo/7i/_1xo7iucdp71ak14fy7yzmhqni4.png"> <a href="https://habr.com/ru/articles/507394/?utm_campaign=507394&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Fri, 26 Jun 2020 04:14:14 GMT</pubDate>
      <dc:creator><![CDATA[SimbirSoft_frontend (SimbirSoft)]]></dc:creator>
      <category><![CDATA[Блог компании SimbirSoft]]></category><category><![CDATA[Canvas]]></category><category><![CDATA[ReactJS]]></category><category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[reactjs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[программирование]]></category><category><![CDATA[разработка веб-сайтов]]></category><category><![CDATA[canvas]]></category><category><![CDATA[svg]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
