Обновить
512K+

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

134,12
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Стадии принятия ИИ в разработке: почему команда саботирует его внедрение и что с этим делать

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

Сейчас в IT забавная ситуация. Одни компании отчитываются о кратном ускорении с ИИ и экономии миллионов рублей. Другие потратили бюджет на лицензии, обучение и евангелизм — и получили команду, которая тихо ненавидит Copilot и пишет код руками, как в 2019-м. Разница между первыми и вторыми не в технологии. Технология одна и та же. Разница — в людях и в том, как с их сопротивлением работают. Или не работают.

Привет, Хабр. Мы — Сергей Калинов и Андрей Макар-Уваров, руководители бизнес-анализа и фронтенд-разработки в Surf. Несколько лет внедряем ИИ на реальных проектах и видим, что сопротивление ему проходит по вполне узнаваемым стадиям Кюблер–Росса. Разберём, почему разработчики так реагируют.

Читать далее

Новости

Почему Роспатент откажет: ошибка, из-за которой вы не запатентуете свою разработку

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

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

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

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

Читать далее

Почему вайбкодинг не убьёт нормальную разработку (взгляд маркетолога)

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

«AI отнимет мою работу» – эту фразу я слышу на каждой второй встрече с командами разработки. Тревога понятна: нейросеть за минуту генерирует код, на который раньше уходил день. Но вот парадокс. По данным ict.moscow, 76% российских разработчиков уже попробовали вайбкодинг. При этом спрос на senior-инженеров в 2025 году вырос на 20%.

Мне как маркетологу стало легче. Раньше я приходил к инвестору с идеей на салфетке. Теперь прихожу с рабочим MVP, собранным за неделю. Продать работающий прототип в разы проще, чем питч-дек с обещаниями. На этом этапе мне не нужна архитектура, безопасность и масштабируемость. Мне нужна скорость.

Но потом наступает «потом».

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 3. OTA обновления в обход сторов

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

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

Читать далее

Flutter Widget Previewer: разработка UI без запуска приложения

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

Я разрабатываю приложения на Flutter уже много лет, и то, как он развивается, не перестает меня удивлять. Сегодня Flutter Widget Previewer — это уже не эксперимент, а нормальный инструмент для проектирования UI: он позволяет видеть, как виджеты отрисовываются в реальном времени, без запуска приложения целиком.

В этой статье разберем, что такое Flutter Widget Previewer, как им пользоваться и как этот инструмент помогает ускорить разработку интерфейсов. Заодно поговорим о нескольких особенностях, о которых стоит помнить.

Читать далее

Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса

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

Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений.

Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform.

В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.

Читать далее

iOS network frameworks и HTTP TCP Server внутри приложения

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

Привет. В iOS разработке работа с сетью является одной из ключевых задач. Для этого существует целый арсенал инструментов: от высокоуровневого URLSession до работы с низкоуровневыми BSD сокетами.

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

Читать далее

SMS в MikroTik: Читай меня полностью

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

Наверно, все владельцы роутеров MikroTik знают, что они декодируют все SMS по стандарту 7-bit вне зависимости от того, как изначально было закодировано сообщение. Как оказалось, даже при декодировании 7-bit MikroTik использует не все 128 символов из стандартного алфавита (GSM 7-bit Default Alphabet).

А ещё вместо одного длинного SMS роутер покажет вам его части по отдельности, иногда с неполными дубликатами. Как же тогда нормально прочитать любое сообщение, отправленное на роутер? Надо стать протоссом и построить MotherSMS.

Построить

Мобильная разработка за неделю #624 (16 — 22 марта)

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

В новом выпуске отладка iOS-приложений на практике и решение для установки сторонних приложений на Android от Google, Remote Compose и Copy-On-Write, эффекты рисования и градиентного рендеринга, неверная реализация MVVM, рынок труда для джунов в 2026 году и многое другое. Заходите!

Читать далее

Я написал кэш для API на Go за 120 строк кода — и PostgreSQL перестал быть узким местом (ускорение в 7 раз)

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

Если API начинает тормозить, первое решение обычно очевидно — добавить Redis. Но иногда оказывается, что проблема гораздо проще. В одном из сервисов PostgreSQL начал упираться в повторяющиеся запросы. Одни и те же данные запрашивались тысячами клиентов. Практически каждый HTTP-запрос заканчивался одинаковым SQL-запросом. Любопытство победило — вместо готового решения был написан небольшой кэш прямо внутри сервиса. На это ушло примерно полчаса. Результат оказался неожиданным: некоторые эндпоинты ускорились почти в 7 раз. Вот, почему это произошло и как работает такая схема.

Читать далее

Я перестал пользоваться Anki и сделал VibeLing – своё приложение для изучения языков

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

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

В итоге я сделал своё приложение, где попытался закрыть все эти боли. За 5 месяцев его скачали 1000+ человек.

Читать далее

Отладка iOS-приложений на практике: 3 реальных бага

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

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

Читать далее

Интеграция автоматической установки eSIM на Android

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

Я люблю свою работу, потому что на удивление для меня с годами она становится все более нетривиальной и увлекательной. Моя история внедрения автоматической установки eSim была интересна тем, что разрабатывалась вслепую без возможности протестировать функционал на момент разработки. О eSIM и о своей истории и пойдет речь в данной статье.

Узнать подробности

Ближайшие события

Как заставить Android Studio ругаться на код по вашим правилам: создаем пользовательские Lint и Detekt

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

Привет, Хабр! На связи Алина, старший Android-разработчик в команде Инвестиций «Совкомбанк Технологии». Сегодня поговорим о том, как заставить Android Studio самостоятельно следить за порядком в коде – без ручных проверок и без вечных напоминаний в командном чате.

В этой статье мы создадим практические правила для инструментов статического анализа кода и разберем, как внедрить их в проект. На примере lint рассмотрим контроль архитектуры пакетов и обязательную документацию с QuickFix, а на примере detekt – проверку неизменяемого состояния представления без Android-зависимостей и миграцию с RxJava на Coroutines.

Читать далее

Ой, всё упало: 4+ способа достать креш-отчет с iOS-приложения

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

Привет, Хабр! На связи снова Максим из ATI.SU. В прошлой статье мы научились собирать логи на iOS устройствах разными способами и теперь для нас не вопрос разобраться, почему кнопка не нажимается, а данные не грузятся.

Но бывают ситуации куда страшнее. Вы запускаете приложение, а оно... тут же исчезает. Или вы работали в приложении, раз... и вы видите домашний экран. А еще приложение может так зависнуть, что помогает только полная перезагрузка самого устройства. Все это — его величество креш (a.k.a. краш, крэш, crash, вылет, сбой, падение, аварийное завершение).

Если привести аналогии, то логи — это жалобная книга, а креш‑отчет — это заключение судмедэксперта. В нём написано точное время смерти, причина и состояние памяти устройства в последний момент жизни приложения.

Для тестировщиков поймать креш и не допустить его до прода — это как для сапёра обезвредить мину раньше, чем на неё наступят. Работу можно сделать и после взрыва, но цена вопроса уже совсем другая. Сегодня я расскажу о 4+ проверенных способах собрать информацию о креше: от уже знакомых нам способов из предыдущей статьи до продвинутых систем мониторинга.

Начать вскрытие

Почему многие неверно реализуют MVVM или способы создания абстракций

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

Привет, Хабр! Меня зовут Кирилл Маканков, я iOS-разработчик в ПСБ.  

Сегодня хочу поговорить про особенности реализации MVVM. Не с практической, а с теоретической стороны. С практической стороны этот архитектурный шаблон давно уже изучен вдоль и поперёк. А вот теоретических исследований, особенно применимых к Swift (и в общем, и к SwiftUI в частности), не так уж и много. Давайте вместе попробуем закрыть этот пробел и обосновать с теоретической точки зрения те или иные вариации реализаций в нашей ежедневной работе. Мобильным разработчикам на ObjC, Java и Kotlin данное исследование и обсуждение тоже будет полезно. Присоединяйтесь!

Если вы уже хорошо знакомы с MVVM, то в конце приведен опрос об используемой лично вами реализации. Давайте вместе определим, какая из реализаций самая популярная.

Читать далее

Мобильное приложение Ватерпас: DewDrop. Реальная история…

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

Если вы ранее работали с мобильным приложением DogPlanner, то вы, наверное, уже знакомы с робопёсом Роби. Но в любом случае, позвольте рассказать вам его историю. Роби живёт на Марсе... ходит молва, что он был собран кем-то из деталей первого в истории марсохода Sojourner. Он изучает красную планету, да и, по возможности, всю вселенную через сигналы, приходящие из космоса.

Читать далее

Вы считаете ИИ-ускорение неправильно, сливая бюджет в трубу, пока 7 из 10 проектов умирают ещё на этапе пилотов

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

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

Мы взяли секундомер и устроили жёсткий тест четырём нашим производственным направлениям: мобилке на Native и Flutter, аналитике и QA. Дали командам доступ в Cursor и Claude Code, чтобы вытащить на свет реальные цифры. По итогу — разрыв между цифрами и действительностью оказался шокирующим. 

Читать далее

Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

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

Swift Package Manager отлично подходит для модульной архитектуры, но по мере роста проекта Package.swift быстро превращается в длинный список строковых зависимостей.

В статье показываю, как превратить Package.swift в типобезопасный DSL на Swift:

убрать строковые зависимости
автоматически генерировать feature-модули
зафиксировать архитектурные правила на уровне компиляции

Читать далее

Как мы сделали автогенерацию контента для риелторов в мобильном приложении

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

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

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

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