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

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

  <channel>
    <title><![CDATA[Все посты подряд / React Native / Хабр]]></title>
    <link>https://habr.com/ru/hubs/react-native/posts/</link>
    <description><![CDATA[React Native – фреймворк для разработки нативных приложений]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Fri, 01 May 2026 17:40:11 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[Пост @ArcaneGamingcom — Node.JS (+3) — 11.03.2026 13:44]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1009022/</guid>
    <link>https://habr.com/ru/posts/1009022/?utm_campaign=1009022&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>🚀 Snuffer: Как я превратил Android-смартфоны в распределенную сеть мониторинга (и спас свои нервы)</strong></p><p>Меня зовут Виталий, я из команды ArcaneGaming. <br>Сегодня я хочу рассказать вам о своем пет-проекте, который немного вышел из-под контроля и превратился в полноценный продукт. <br>Встречайте - <strong><a href="https://snuffer.net/" rel="noopener noreferrer nofollow">Snuffer</a></strong> !</p><p><strong>😫 С чего всё началось?</strong><br> Знаете это чувство, когда вам пишет клиент (или, что еще хуже, мама):</p><figure class=""><img src="https://habrastorage.org/getpro/habr/upload_files/4cf/5da/c02/4cf5dac0244e3ac4ac03ba78c62e8bc2.jpeg" alt="Image description" title="" width="480" height="354"></figure><p><strong>"А почему сайт не открывается?"</strong><br> И ты такой:<br> <strong>"Да ладно, у меня всё работает!"</strong><br> А потом оказывается, что сервер упал 3 часа назад, база данных ушла в дедлок, а ты в это время спокойно пил кофе и смотрел мемы.</p><p>Я перепробовал кучу сервисов: UptimeRobot, Pingdom, Better Uptime. Они крутые, спору нет.<br>Но:</p><ul><li><p>Дорого , если нужно много проверок.</p></li><li><p>Ограниченные локации . Иногда нужно проверить доступность именно из конкретной сети или региона.</p></li><li><p>Скучно . Где веселье в том, чтобы просто заплатить денег?</p></li></ul><p>И тут я посмотрел на ящик своего стола. Там лежали они... Герои прошлых лет. Samsung Galaxy S7, какой-то старый Xiaomi с треснутым экраном и Pixel первого поколения. Они смотрели на меня своими пыльными камерами и шептали: "Мы еще можем быть полезны..." </p><p><strong>И меня осенило! 💡</strong></p><p><strong>А что, если использовать эти устройства как узлы мониторинга?</strong>&nbsp;<br>Ведь смартфон - это мощный компьютер с Wi-Fi и GSM модулем. Он может пинговать, делать HTTP-запросы, проверять порты. И если раздать такие телефоны друзьям в разных городах (или просто подключить к разным провайдерам), получится настоящая распределенная сеть мониторинга .<br>Так родился <strong>Snuffer</strong></p><p><strong>📱 Что такое Snuffer?</strong><br>Если говорить умными словами, это распределенная система мониторинга доступности сервисов с использованием мобильных агентов .</p><p><strong>"Давай короче, что это такое?":</strong></p><ol><li><p><a href="https://snuffer.net/" rel="noopener noreferrer nofollow">Вы регистрируетесь в админке . </a></p></li><li><p>Скачиваете Android-приложение .</p></li><li><p>Сканируете QR-код.</p></li><li><p>БУМ! Ваш телефон превращается в "Снуффера" (нюхача), который постоянно проверяет, живы ли ваши сайты.</p></li></ol><p><strong>🛠 Что он умеет?</strong></p><ul><li><p>HTTP / Keyword Monitor : Проверяет, отдает ли сайт 200 OK и есть ли на странице нужное слово (например, "Success"). Если нет - бьет тревогу.</p></li><li><p>Ping / Port Monitor : Пингует серверы и проверяет открытые порты (полезно для баз данных или кастомных сервисов).</p></li><li><p>DNS Monitor : Следит, чтобы ваши домены резолвились куда надо (а не на фишинговые заглушки).</p></li><li><p>Vulnerability Scanner : В админке есть встроенный сканер уязвимостей! (Но я пока его еще не сделал, но обязательно доделаю, честно!)</p></li><li><p>Telegram Бот : Уведомления прилетают мгновенно. Потому что почту мы читаем редко, а телегу - каждые 5 минут. </p></li></ul><p><strong>🤓 Немного "под капотом"</strong><br> Я люблю, когда всё работает быстро и четко. Поэтому стек выбрал проверенный и надежный:</p><ul><li><p>Backend : Node.js + Express (старая добрая классика).</p></li><li><p>Database : PostgreSQL + Prisma (потому что писать SQL руками в 2025 — это моветон, хотя я умею!).</p></li><li><p>Frontend : React + Tailwind CSS (чтобы было красиво и адаптивно).</p></li><li><p>Mobile : React Native / Expo (одна кодовая база, минимум боли).</p></li></ul><p>Самое интересное - это <strong>архитектура</strong> .<br>Сервер раздает "задачи" (tasks) подключенным устройствам через WebSocket. Устройства выполняют проверки и шлют отчеты обратно.<br><br>Если устройство говорит "Сайт лежит", сервер не верит ему на слово (вдруг у телефона просто Wi-Fi отвалился?). Он ждет подтверждения от других узлов или от самого сервера. Это минимизирует ложные срабатывания.</p><p><strong>🌍 Почему это круто?</strong></p><ol><li><p>Вторая жизнь вещам . Ваши старые гаджеты не загрязняют природу, а приносят пользу. Экологично! 🌱</p></li><li><p>Полный контроль . Вы сами выбираете, откуда мониторить. Хотите проверить доступность из офиса конкурента? Просто подбросьте им телефон с Snuffer (шутка... или нет?).</p></li><li><p>Бесплатно (<strong>почти</strong>). Вы платите только за электричество для зарядки телефона.</p></li></ol><p>Проект живет и развивается. Сейчас я выкатил версию v4.15.11 (да, мы часто обновляемся!).<br> В планах:</p><ul><li><p>iOS версия (Apple, пустите в AppStore, ну пожалуйста!).</p></li><li><p>Больше типов проверок (например, скриншоты сайтов).</p></li><li><p>Публичное API. <br></p><p>Если вам интересно попробовать или просто потыкать палочкой — залетайте:<br> 👉 <a href="http://snuffer.net" rel="noopener noreferrer nofollow">snuffer.net</a> </p></li></ul><p>Буду рад любому фидбеку, критике или просто комментариям.</p> <a href="https://habr.com/ru/posts/1009022/?utm_campaign=1009022&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 11 Mar 2026 10:44:19 GMT</pubDate>
    <dc:creator><![CDATA[ArcaneGamingcom]]></dc:creator>
      
      <category><![CDATA[вайб-кодинг]]></category><category><![CDATA[пет-проект]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @VamWebStore — JavaScript (+4) — 24.01.2026 13:19]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/988500/</guid>
    <link>https://habr.com/ru/posts/988500/?utm_campaign=988500&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/adb/e9b/083/adbe9b08338d590134b6ba8ce5c9eb54.webp" width="1920" height="1080"></figure><p>Почему у PWA до сих пор нет полноценного «магазина приложений» — возможно ли это вообще?</p><p>Всем привет.</p><p>В течение последних месяцев, работая с PWA-приложениями, мы постоянно сталкивались с одним и тем же вопросом:</p><p>Почему в 2025 году у PWA до сих пор нет настоящего App Store?</p><p>Не просто каталога ссылок, а полноценного магазина приложений — знакомого, вызывающего доверие и понятного обычным пользователям.</p><p>При изучении существующих PWA-магазинов и каталогов обнаруживаются одни и те же повторяющиеся проблемы.</p><p>⸻</p><ol><li><p>Установка остаётся непонятной для пользователей</p></li></ol><p>Даже сегодня установка PWA вызывает затруднения у обычных пользователей.</p><p>Большинство из них не понимают:<br> •	когда приложение действительно можно установить,<br> •	почему инструкции по установке не совпадают с реальными шагами в их браузере или на устройстве.</p><p>Во многих PWA-каталогах всё ограничивается текстовой инструкцией — и на этом взаимодействие с сервисом фактически заканчивается.</p><p>⸻</p><ol start="2"><li><p>Отсутствие доверия</p></li></ol><p>Со стороны пользователя это проявляется в следующем:<br> •	нет содержательных отзывов,<br> •	отсутствует история установок,<br> •	нет ощущения личной библиотеки приложений.</p><p>Со стороны разработчиков наблюдаются крайности:<br> •	либо любой может опубликовать приложение без подтверждения права собственности,<br> •	либо проверка обязательна, но сложна и ограничена одним способом (например, через DNS-записи).</p><p>В итоге доверие не формируется ни у одной из сторон.</p><p>⸻</p><ol start="3"><li><p>Разработчики — второстепенные участники экосистемы</p></li></ol><p>Распространённые проблемы:<br> •	медленные и неудобные процессы публикации,<br> •	почти полное отсутствие автоматического заполнения данных из манифеста,<br> •	нехватка инструментов, которые были бы полезны разработчику ещё до установки приложения пользователем.</p><p>Экосистема не стимулирует разработчиков поддерживать и развивать свои PWA.</p><p>⸻</p><ol start="4"><li><p>Интерфейс не воспринимается как «нативный»</p></li></ol><p>Это тонкий, но важный момент.</p><p>Если магазин:<br> •	выглядит как обычный веб-сайт,<br> •	не вызывает ассоциаций с App Store или Google Play,</p><p>пользователи инстинктивно доверяют ему меньше — даже если сами приложения качественные.</p><p>⸻</p><p>При этом сами PWA как технология за последние годы заметно повзрослели: офлайн-режим, push-уведомления, installability, Web APIs.<br> Однако именно слой распространения и доверия остаётся самым слабым звеном.</p><p>⸻</p><p>Главный вопрос, к которому мы пришли</p><p>Возможно ли вообще создать PWA-магазин, который:<br> •	пользователи будут воспринимать как настоящий магазин приложений,<br> •	не станет источником боли для разработчиков,<br> •	сможет устойчиво развиваться, а не быть заброшенным через несколько месяцев?</p><p>Или же сама идея магазина PWA в текущей экосистеме изначально ошибочна?</p><p>Будет интересно узнать ваш опыт.</p><p>Вы публиковали PWA-приложения в существующих магазинах или каталогах?<br> Что вызывало наибольшие сложности — у разработчиков или у пользователей?</p> <a href="https://habr.com/ru/posts/988500/?utm_campaign=988500&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 24 Jan 2026 10:19:19 GMT</pubDate>
    <dc:creator><![CDATA[VamWebStore]]></dc:creator>
      
      <category><![CDATA[pwa]]></category><category><![CDATA[web developement]]></category><category><![CDATA[web apps]]></category><category><![CDATA[app store]]></category><category><![CDATA[дистрибуция]]></category><category><![CDATA[прогрессивные веб-приложения]]></category><category><![CDATA[ux]]></category><category><![CDATA[store]]></category><category><![CDATA[platform]]></category><category><![CDATA[инструкции]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @SergioShpadi — ReactJS (+3) — 18.08.2025 11:13]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/938124/</guid>
    <link>https://habr.com/ru/posts/938124/?utm_campaign=938124&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Жёсткая структура React-компонентов</strong></p><p>При работе над React-приложениями я часто сталкиваюсь с тем, что мои коллеги смешивают в одном файле и JSX, и CSS-in-JS стили, и логику, и типы компонента. Работать с таким месивом очень сложно. Даже если настаивать на выделении логики, стилей и типов в отдельные файлы, это то делается, то нет. Для введения жёсткой структуры компонентов мною была написана простейшая библиотека react-component-structure. <br><br><a href="https://github.com/sergeyshpadyrev/react-component-structure" rel="noopener noreferrer nofollow">https://github.com/sergeyshpadyrev/react-component-structure</a><br><br>Работает она простейшим образом. Любой компонент необходимо разделить на три хука и файл с типами:</p><pre><code>-| Component
    -| index.ts
    -| logic.ts
    -| render.tsx
    -| style.ts
    -| types.ts</code></pre><p>В файле logic.ts мы пишем хук useLogic - контроллер компонента, включающий в себя всю его бизнес-логику - все хуки useCallback, useEffect, useMemo и подобные. В этом хуке у нас есть доступ к props компонента.</p><pre><code class="typescript">import { useCallback, useState } from 'react';
import type { Props } from './types';

const useLogic = (props: Props) =&gt; {
    const [count, setCount] = useState(props.defaultCount);

    const onClickMinus = useCallback(() =&gt; setCount((c) =&gt; c - 1), []);
    const onClickPlus = useCallback(() =&gt; setCount((c) =&gt; c + 1), []);

    return {
        count,
        onClickMinus,
        onClickPlus,
    };
};

export default useLogic;</code></pre><p>В файле styles.ts мы помещаем хук useStyle со стилями нашего компонента. Тут мы можем использовать inline-стили, CSS-in-JS или Tailwind. В этом хуке у нас есть доступ к props нашего компонента и к его контроллеру.</p><pre><code class="typescript">import type { Props } from './types';
import useLogic from './logic';
import { useMemo } from 'react';

const useStyle = (props: Props, logic: ReturnType&lt;typeof useLogic&gt;) =&gt;
    useMemo(
        () =&gt; ({
            counter: {
                fontSize: logic.count + 10,
            },
            title: {
                color: props.color,
            },
        }),
        [logic.count, props.color],
    );

export default useStyle;</code></pre><p>В файле render.tsx мы помещаем хук useRender с JSX, то бишь отображение компонента. В этом хуке у нас есть доступ и к props компонента, и к его контроллеру logic, и к стилям.</p><pre><code class="typescript">import type { Props } from './types';
import type useLogic from './logic';
import type useStyle from './style';

const useRender = (props: Props, logic: ReturnType&lt;typeof useLogic&gt;, style: ReturnType&lt;typeof useStyle&gt;) =&gt; {
    return (
        &lt;div&gt;
            &lt;div style={style.title}&gt;Hello {props.greeting}!&lt;/div&gt;
            &lt;div style={style.counter}&gt;Count: {logic.count}&lt;/div&gt;
            &lt;div onClick={logic.onClickMinus}&gt;Decrease&lt;/div&gt;
            &lt;div onClick={logic.onClickPlus}&gt;Increase&lt;/div&gt;
        &lt;/div&gt;
    );
};

export default useRender;</code></pre><p>В index.ts файле мы соединяем все три хука с помощью функции createComponent:</p><pre><code class="typescript">import { createComponent } from 'react-component-structure';

import useLogic from './logic';
import useRender from './render';
import useStyle from './style';

const Component = createComponent({ useLogic, useRender, useStyle });

export default Component;</code></pre><p>И в файле types.ts мы объявляем тип для props компонента:</p><pre><code class="typescript">export interface Props {
    color: string;
    defaultCount: number;
    greeting: string;
}</code></pre><p>Если у компонента нет props, то можно объявить их так:</p><pre><code class="typescript">export type Props = unknown</code></pre><p>При использовании  каждый компонент нашего приложения имеет чёткую структуру, состоящую из файлов контроллера, отображения, стилей и типов. Это разделение подобно разделению на HTML (отображение), CSS (стили) и JavaScript (контроллер) в ванильных JS-приложениях.</p><p>Если подход и библиотека вам понравились, поставьте репозиторию звезду на гитхабе.  Надеюсь этот подход будет вам полезен.</p> <a href="https://habr.com/ru/posts/938124/?utm_campaign=938124&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 18 Aug 2025 08:13:35 GMT</pubDate>
    <dc:creator><![CDATA[SergioShpadi]]></dc:creator>
      
      <category><![CDATA[react]]></category><category><![CDATA[компоненты]]></category><category><![CDATA[структура]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Surr1os — ReactJS (+2) — 12.08.2025 12:33]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/936282/</guid>
    <link>https://habr.com/ru/posts/936282/?utm_campaign=936282&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Реакт уже никогда в жизни не догонит angular по производительности и функциональности) Рано или поздно от реакта откажутся, потому что библиотека всегда будет уступать полноценному фреймворку. Жду коммы от джунов, которые в жизни не работали с крупными проектами</p> <a href="https://habr.com/ru/posts/936282/?utm_campaign=936282&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 12 Aug 2025 09:33:08 GMT</pubDate>
    <dc:creator><![CDATA[Surr1os]]></dc:creator>
      
      <category><![CDATA[react]]></category><category><![CDATA[angular]]></category><category><![CDATA[2025]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @yooteam — Блог компании ЮMoney (+3) — 22.05.2025 14:36]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/yoomoney/posts/911838/</guid>
    <link>https://habr.com/ru/companies/yoomoney/posts/911838/?utm_campaign=911838&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Опять попробовали React Native и снова решили, что не хотим его внедрять у себя 🧐</strong></p><p>Олег и Денис, наши фронтенд-разработчики, рассказали, почему отказались от этого фреймворка, несмотря на то что потратили на погружение в него немало времени. Это был хороший эксперимент, который дал нам много полезных инсайтов. ✍️</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/8a9/269/aea/8a9269aea8ff96e65447d6f7101b1ed4.png" width="1191" height="670"></figure><p>Перед нашей командой стояла задача: <strong>написать код один раз, собрать под три платформы и встроить в существующие нативные и веб-приложения</strong>. Решили поэкспериментировать с React Native: до этого мы «щупали» фреймворк в 2018-м, но делали новое приложение, опыта разработки SDK у нас не было. Отправились гуглить и узнавать, как это сделать. Начали с разработки под Android, потом подключили в веб, и уже финально — iOS, в котором практически всё заработало по дефолту. </p><p><em>В React Native просто начать делать компоненты, но, погрузившись в нативную часть, мы почувствовали себя джунами — запилить поле ввода с нативной валидацией было непросто. </em></p><p>Вот что мы поняли при разработке:</p><p>●&nbsp;<strong>Обязательно нужна единая дизайн-система под все три платформы под React Native и библиотека компонентов.</strong> А ещё — команда из фронтенд и мобильных разработчиков под iOS и Android: одни будут поддерживать часть React Native, которая относится к нативной платформе, другие — писать бизнес-логику и UI. </p><p>●&nbsp;<strong>React Native может подойти для проектов</strong>, которые начинаешь с нуля и нужно охватить мобильные платформы и веб сразу.</p><p><strong>Результаты нашего эксперимента</strong></p><p>Хоть и ушло на работу с React Native несколько кварталов, мы решили не внедрять его. Было ли нам обидно? Нет, потому что благодаря эксперименту мы:</p><p>✔ Закрепили опыт, что фронтенд-разработчики могут писать на React Native.</p><p>✔ Поняли, как всё работает изнутри, какие у фреймворка плюсы и минусы.</p><p>Будет ли применимо для нас в будущем — время покажет. Возможно, для новых продуктов это рабочая схема, сейчас — экономически неоправданно.</p> <a href="https://habr.com/ru/posts/911838/?utm_campaign=911838&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 22 May 2025 11:36:32 GMT</pubDate>
    <dc:creator><![CDATA[yooteam (ЮMoney)]]></dc:creator>
      
      <category><![CDATA[react native]]></category><category><![CDATA[фронтенд-разработка]]></category><category><![CDATA[мобильная разработка]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @blackibe — Искусственный интеллект (+4) — 08.04.2025 13:13]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/898722/</guid>
    <link>https://habr.com/ru/posts/898722/?utm_campaign=898722&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как я выбил 350к в месяц, не написав ни одной строчки кода сам</strong></p><figure class="full-width "><img src="https://habrastorage.org/webt/bw/px/h5/bwpxh5x94up12ki-ow_vzsygduo.jpeg" alt="2025 год. Реалии" title="2025 год. Реалии" width="1179" height="945"><div><figcaption>2025 год. Реалии</figcaption></div></figure><p>Залетел тут недавно на Хабр почитать про очередные страдания тимлидов, и решил поделиться, как последние полгода зарабатываю на жизнь без этого всего геморроя.</p><p>Короче, я открыл для себя вайбкодинг. Не, серьезно, вся эта тема с генерацией кода по описанию — это как будто я нанял себе джуна на полный день бесплатно.</p><p>Инструменты</p><p><strong><a href="http://Harvi.pro" rel="noopener noreferrer nofollow">Harvi.pro</a></strong> — мой основной инструмент. Норм генерит фронт по текстовому описанию, меньше заморочек с оплатой для наших:</p><ul><li><p>999₽ — 10М токенов</p></li><li><p>2499₽ — 25М + 5М бонусом</p></li><li><p>4999₽ — 50М + 10М бонусом</p></li></ul><p>Под капотом Claude 3.7 Sonnet. Беру средний тариф, хватает на 3-4 недели активной работы.</p><p><strong><a href="https://v0.dev" rel="noopener noreferrer nofollow">V0.dev</a></strong> от Vercel — тоже неплохой, но дороговат для меня:</p><ul><li><p>Free — 20 генераций</p></li><li><p>Pro — $20 в месяц</p></li><li><p>Team — $30 в месяц</p></li></ul><p>Под капотом тоже Claude 3.7 Sonnet. Качество вроде чуть лучше бывает, но с оплатой сами знаете что.</p><p><strong><a href="https://replit.com" rel="noopener noreferrer nofollow">Replit</a></strong> — тут я собираю всё в кучу, тестирую и деплою. Удобно, что можно быстро показать клиенту результат.</p><p>Как это на самом деле работает</p><p>Не буду врать, что просто нажимаю кнопку и получаю готовый продукт. Это все еще работа:</p><ol><li><p>Собираю с клиента максимум инфы и референсов</p></li><li><p>Генерю компоненты по частям (целые страницы редко получаются с первого раза)</p></li><li><p>Много времени уходит на склеивание и фиксы</p></li><li><p>Приходится знать хотя бы основы, чтобы понимать, что пошло не так</p></li></ol><p>Но при этом скорость выросла раза в 3-4. Раньше лендинг делал неделю, сейчас — день-два. Простое приложение с формами — было 2 недели, стало 3-4 дня.</p><p>Беру в среднем 80-100к за проект, делаю 3-4 в месяц. Вот и выходит около 350к.</p><p>Да, чувствую, что теряю навыки в некоторых областях. Зато прокачался в составлении промптов — это теперь как отдельная специальность.</p><p>Ручной кодинг... скоро только в музее)))</p><p></p> <a href="https://habr.com/ru/posts/898722/?utm_campaign=898722&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 08 Apr 2025 10:13:10 GMT</pubDate>
    <dc:creator><![CDATA[blackibe]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[harvi.pro]]></category><category><![CDATA[v0.dev]]></category><category><![CDATA[replit.com]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @dev_family — React Native — 11.10.2024 13:40]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/849984/</guid>
    <link>https://habr.com/ru/posts/849984/?utm_campaign=849984&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Пишете на React Native и хотите добавить в приложение крутые игровые механики или AR/VR-функции? Это легко сделать с помощью Unity. Мы расписали подробно все этапы и разобрали возможные проблемы. Переходите по ссылке и читайте пошаговую инструкцию для интеграции 👉 <a href="https://habr.com/ru/articles/848100/" rel="noopener noreferrer nofollow">https://habr.com/ru/articles/848100/</a></p><p></p> <a href="https://habr.com/ru/posts/849984/?utm_campaign=849984&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 11 Oct 2024 10:40:13 GMT</pubDate>
    <dc:creator><![CDATA[dev_family]]></dc:creator>
      
      <category><![CDATA[react native]]></category><category><![CDATA[mobile development]]></category><category><![CDATA[gamedevelopment]]></category><category><![CDATA[unity]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @adametsderschopfer — Программирование (+3) — 05.10.2024 00:29]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/848356/</guid>
    <link>https://habr.com/ru/posts/848356/?utm_campaign=848356&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Не&nbsp;пытайтесь, это React Native + Flavor</strong></p><p>Инсайт дня: React Native и flavor</p><p>В&nbsp;компании где я работаю, существует приложение написанное на&nbsp;нативных технологиях в&nbsp;лице&nbsp;— Kotlin/Swift.</p><p>Так вот, в&nbsp;приложение на&nbsp;андроид реализована система flavor, практически для&nbsp;более чем 80&nbsp;компаний.</p><p>Попытка удешевить разработку, привела нас к&nbsp;React Native, так как&nbsp;у&nbsp;меня&nbsp;был немалый опыт разработки и работы с&nbsp;данным фреймворком.</p><p>С&nbsp;первого взгляда не&nbsp;было очевидно, но… оказывается в&nbsp;React Native поддержки подобного попросту нет от&nbsp;слова совсем. </p><p>Конечно, любой скажет «да ведь просто можно использовать переменную флейвора текущего приложения, и менять контент условностями»&nbsp;— но&nbsp;все не&nbsp;столь однозначно и просто… (ведь требование и цель использовать все преимущества этой концепции)</p><p>Как&nbsp;итог, если вы хотите реализовать концепцию flavor в&nbsp;полной мере, используя React Native (и вы четко понимаете как&nbsp;это работает в&nbsp;нативе)&nbsp;— то предупрежу сразу что&nbsp;у&nbsp;вас не&nbsp;получится, банально из‑за того, что&nbsp;вы получаете возможность настроить&nbsp;лишь ваши иконки и заголовки, ну и настройки на&nbsp;уровне андроид конфигов =)</p><p></p> <a href="https://habr.com/ru/posts/848356/?utm_campaign=848356&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 04 Oct 2024 21:29:59 GMT</pubDate>
    <dc:creator><![CDATA[adametsderschopfer]]></dc:creator>
      
      <category><![CDATA[react native]]></category><category><![CDATA[flavor]]></category><category><![CDATA[flavour]]></category><category><![CDATA[react native flavor]]></category><category><![CDATA[react native flavour]]></category><category><![CDATA[react flavor]]></category>
  </item>
  

	
  

  

  

      

      

      

    
  </channel>
</rss>
