Обновить
5
18

Разработка ПО с интеграцией ИИ

Отправить сообщение

State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.8K

Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции.

В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

Читать далее

Работа с RTSP-плеером во Flutter: выбор библиотеки и снижение задержки

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.9K

Работа с RTSP-потоками во Flutter остаётся задачей, которую нельзя решить штатными средствами фреймворка. Базовый плагин video_player не поддерживает RTSP, из-за чего прямое воспроизведение видео с IP-камер и систем наблюдения недоступно без сторонних решений. Для корректной работы в таких сценариях требуется специализированный плеер, обеспечивающий стабильное отображение потока и минимально возможную задержку.

В данной статье мы рассмотрим основные библиотеки для работы с RTSP во Flutter — flutter_vlc_player, fijkplayer и media_kit, сравним их особенности, достоинства и влияние на задержку воспроизведения. Отдельное внимание уделим настройкам, которые позволяют минимизировать latency, прежде всего в решениях на базе FFmpeg. Также разберём доступные параметры оптимизации в flutter_vlc_player. 

Материал поможет выбрать подходящую библиотеку и настроить плеер так, чтобы обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях.

Читать далее

Наш опыт публикации мобильных приложений. Часть 2: AppGallery и RuStore

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели7K

В первой части мы разобрали процесс подготовки приложения к публикации и рассмотрели требования модерации в App Store и Google Play. Однако экосистема мобильных сторов сегодня значительно шире, и успешный релиз нередко включает размещение продукта в альтернативных магазинах, которые активно развиваются и набирают аудиторию.

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

Материал предназначен для заказчиков, разработчиков, продакт-менеджеров и технических специалистов, отвечающих за релиз и сопровождение мобильных продуктов.

Читать далее

Как настроить SEO в Next.js так, чтобы проект реально индексировался

Уровень сложностиСложный
Время на прочтение15 мин
Охват и читатели7.9K

Во многих проектах на Next.js возможности для SEO остаются неиспользованными: страницы индексируются не полностью, структурированные элементы отсутствуют, а ссылки в соцсетях отображаются неправильно. Чтобы этого избежать, существуют проверенные инструменты и подходы, которые помогают сделать SEO понятным, полным и эффективным.

В данной статье рассмотрены ключевые аспекты настройки SEO в проектах на Next.js: работа с метаданными, генерация sitemap и robots.txt, оптимизация изображений и внедрение структурированных данных. 

Читать далее

Наш опыт публикации мобильных приложений. Часть 1: AppStore и Google Play

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели8.2K

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

Но перед тем как приложение попадёт в руки пользователей, его должны одобрить модераторы App Store и Google Play. И вот тут начинается самое интересное. За последние годы требования стали такими, что даже опытные разработчики получают реджекты по полной программе. 

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

Читать далее

Настройка ESLint и Prettier в веб-приложении на Next.js и TypeScript

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.8K

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

В данной статье мы рассмотрим пошаговую настройку ESLint и Prettier на примере нашего веб-приложения, построенного на Next.js и TypeScript.

Читать далее

Документирование фронтенд-приложений: обзор JSDoc и Storybook

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.6K

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

В этой статье мы рассмотрим два популярных подхода к документированию фронтенд-кода: JSDoc и Storybook. Они решают схожие задачи, но совершенно разными способами и с разным фокусом.

Читать далее

Промышленная автоматизация металлургического производства. Архитектурные решения и техническая реализация

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели2.6K

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

Читать далее

Настройка Jest и React Testing Library: пошаговое руководство для React и Next.js проектов

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели1.9K

В данной статье мы подробно рассмотрим процесс настройки среды unit-тестирования веб-приложений на базе React и Next.js с использованием Jest и React Testing Library. Мы расскажем об установке необходимых зависимостей, создании конфигурационных файлов, настройке Babel и TypeScript, подключении SCSS и SVG, а также организации структуры проекта. Особое внимание уделено специфике настройки Jest в среде Next.js. Материал будет полезен для frontend-разработчиков и команд разработки, которые работают с React или Next.js проектами и хотят внедрить качественное unit-тестирование. 

Читать далее

Делаем простой навигатор с помощью google maps на flutter своими руками

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели1.8K

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

В этой статье мы расскажем, как использовать Google Maps для создания удобного навигатора, и поделимся практическими советами по работе с картами во Flutter.

Читать далее

Event-Driven архитектура на FastAPI: через паттерн Pub/Sub

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели5.9K

В мире разработки программного обеспечения постоянно появляются новые подходы к построению систем. Event-Driven архитектура выступает одним из наиболее перспективных решений для создания гибких и масштабируемых приложений.

В данной статье мы расскажем о реализации Event-Driven архитектуры (EDA) с использованием FastAPI и паттерна Publish/Subscribe. Рассмотрим основные концепции, компоненты и практические примеры кода для создания масштабируемой системы обмена сообщениями.

Читать далее

Telegram Web App: Интеграция с Flutter

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.8K

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

Теперь рассмотрим, как создать Telegram Web App с использованием Flutter, фреймворка для разработки кроссплатформенных приложений.

Читать далее

Реализация простого SSE клиента на Dart

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели920

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

Мы рассматривали два подхода: WebSocket и Server-Sent Events (SSE). Оба варианта соответствовали нашим требованиям, но в итоге мы остановились на SSE — из-за его простоты реализации и использования стандартного HTTP-протокола.

Читать далее

Как у нас происходит процесс передачи макетов разработчикам

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1.2K

Важной частью работы дизайнеров является передача интерфейсов в руки фронтенд-разработчиков (mobile и web). Но, между творческим замыслом дизайнера и его воплощением в коде может возникнуть немало трудностей. 

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

Читать далее

Год с нейросетями: как и какие инструменты мы используем в разработке

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.5K

Мы собрали обратную связь по практическому опыту использования ИИ инструментов у наших сотрудников.

В статье расскажем, как наши разработчики используют нейросети, какие задачи они решают с их помощью и как изменилось их отношение к ИИ за последний год.

Читать далее

Решение задач распознавания на Flutter

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели1.8K

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

Читать далее

Общий обзор Telegram Mini App: особенности, преимущества, ограничения и примеры

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели26K

Telegram Mini App — встроенное в мессенджер веб-приложение, которое дает возможность пользоваться сервисом без установки отдельных программ. Это позволяет иметь удобный сервис, интегрированный с экосистемой мессенджера, будь то интернет-магазин, система бронирования и др.

Мы написали общий обзор данного приложения, его возможности, первые шаги к созданию и существующие примеры.

Читать далее

Аналитика мобильных приложений на Flutter. Часть 2. Подключение Firebase Analytics

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели912

В первой части мы рассмотрели подключение решения Yandex AppMetrica. В этой части мы рассмотрим подключение решения от Google - Firebase.

Читать далее

Аналитика в мобильном приложении на Flutter. Часть 1. Yandex AppMetrica

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели1.2K

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

В первой части мы рассмотрим подключение решения Yandex AppMetrica на простом примере.

Читать далее

Реализация чата на Flutter при помощи вебсокетов

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.3K

Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.

Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel.

Читать далее
1

Информация

В рейтинге
462-й
Откуда
Владимир, Владимирская обл., Россия
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фронтенд разработчик
Git
SQL
Python
Linux
Docker
Nginx