Обновить
128K+

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

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

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

Откуда пришли установки iOS‑приложения без SDK атрибуции: спецстраницы App Store вместо UTM

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

Я делаю Кубыш, приложение для учета расходов и накоплений на iPhone: оно считает, сколько можно тратить в день до зарплаты и когда накопишь на цель. Пишу о нем на Дзене, vc.ru, в LinkedIn и соцсетях - подписывайтесь пожалуйста. После каждой публикации хотелось понять одно: что из этого приводит людей в App Store.

На сайте эту задачу решает UTM-метка. В App Store так не получится: параметры ссылки до приложения не доходят. SDK атрибуции для маленького приложения избыточен: еще одна зависимость и передача данных третьей стороне. Поэтому я посчитал источники стандартными средствами Apple. Ниже как это настроить и на чем я обжегся.

Читать далее

Новости

Как я делал мессенджер, который выглядит как обычный HTTPS: пять инженерных историй

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

Пять инженерных историй из разработки федеративного мессенджера со сквозным шифрованием: сигнатуры DPI в WebRTC, почему не чистый PGP, сеть узлов-тайников по модели Ceph, неделя на буфер в 2048 байт и гудки в звонках

Читать далее

Почему нельзя слепо копировать Ozon, Amazon и Taobao: интерфейс покупки начинается не с UI

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

Если вы варитесь в разработке и особенно в е-ком сегменте, значит в вашем таск-трекере точно появлялась задача в духе «сделай как на Wildberries, Ozon или Яндекс Маркете». 

Когда продакт-менеджер хочет показать свой обширный кругозор и «глобальное» видение рынка, туда же прицепом могли отправиться отдельные элементы из Taobao, Shein или Amazon (но это не точно). 

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

Почему так? 

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

Маркетплейс в этом плане продаёт в первую очередь сценарий. Сценарий, который человек, прежде чем кликнуть «купить» в своей голове неосознанно проматывает несколько раз. И естественно, у каждого рынка есть свои особенности. И эти особенности напрямую влияют на сценарии, которые выстраивают разные маркетплейсы. 

Читать далее

Одна аналитика на две платформы: как мы синхронизировали iOS и Android в hh.ru

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

Всем привет! Меня зовут Максимкин Андрей, я iOS-разработчик в hh.ru. В далеком 2023 году мы уже рассказывали про нашу мобильную аналитику в этой статье. С тех пор много воды утекло, а вместе с ней поменялся и наш флоу работы с аналитикой. И начну я как раз с того, что нас к этому подтолкнуло. 

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

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

Читать далее

Какой ты вайбкодер. Шуточный опрос

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

/

Мы уже научились писать код с помощью AI. Но гораздо интереснее другое - как именно мы встроили AI разработку в свою работу. Я попробовал вспомнить все свои наблюдения и составил небольшую небольшую классификацию - от Воина до Некроманта. Надеюсь этот опрос вас немного порадует.

Читать далее

Rich Push Notifications в iOS: Notification Service Extension, Notification Content Extension и неочевидные детали

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

Rich Push Notifications в iOS выглядят просто, пока дело не доходит до Notification Service Extension и Notification Content Extension. Где должна находиться category? Зачем нужен mutable-content? Как передать изображения между расширениями, использовать один Content Extension для нескольких категорий и отладить всё это в Xcode?

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

Читать далее

Сфера — полностью кириллический язык программирования: от «Привет, мир» до HTTP‑сервера и bare‑metal

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

На фоне десятков языков с привычным английским синтаксисом появление «Сферы» выглядит почти вызовом: это полностью кириллический язык программирования с настоящим компилятором — не интерпретатор и не транспайлер, а генерация машинного кода через LLVM.

За внешней необычностью стоит вполне зрелая инженерия: автоматическое управление памятью, обобщённые типы, контракты, многопоточность, сеть, графика, пакетный менеджер поверх git и отладчик с полноценной поддержкой DWARF. «Сфера» не претендует на то, чтобы заменить индустриальные языки — но доказывает, что кириллический синтаксис способен быть не курьёзом, а рабочим инструментом. И в этой статье честно говорим не только о том, что уже получилось, но и о том, что ещё предстоит сделать.

Читать далее

20 лет спустя, или как я все‑таки выпустил свое странное социальное приложение

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

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

Войти и выйти. Делов на 5 минут.

Разработка CAN адаптера (часть 1)

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели12K

Уже примерно год я делаю приложение для изучения иностранных слов.

За это время оно довольно сильно изменилось: появились новые языки, подборки, рекомендации, игры, уроки и куча других вещей. Сейчас в приложении можно учить 12 языков.

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

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

Кроме самого очевидного.

Читать далее

Klark, часть 2: новый интерфейс, исправление существующих ошибок и аудит собственных прав

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

Неделю назад я рассказывал про Klark + Klara: корпоративный мессенджер и таск‑менеджер, которые живут на нашем сервере. В той статье было про устройство: каналы, звонки, расшифровку голосовых, связку «задача из сообщения». Эта статья расскажет вам более подробно о том как продукт выглядит " сейчас " и что в дальнейшей перспективе мы планируем реализовать.

При разработке приложения ключевой фактор который мы преследовали - это удобная связка приложений для закрытия наших задач, но со временем мы начали апгрейдить его в самых разных частях, где-то стикеры кастомные добавили, где-то внедрили кастомную анимацию, и так далее. Я не знаю как простым языком описать то чувство, когда ты делаешь продукт и видишь то, что он на набросках визуально отличается от того что я рисовал на эскизах и представлял в голове, но это чувство не давало мне покоя, поэтому я собрался с мыслями и переделал интерфейс в то, как оно выглядит в моей голове. Новое оформление со стеклом и «жидкими» подсветками, панель эмодзи и стикеров, своя картинка фона и шапка профиля.Ну и традиционный раздел про то, что сломалось по дороге: самые глупые баги всё ещё живут дольше всех.

Читать далее

Мобильная разработка за неделю #648 (28 сентября — 4 октября)

Время на прочтение5 мин
Охват и читатели6.2K

В этом дайджесте применение gRPC в iOS и A2UI в Jetpack Compose, добавление новых сценариев в существующее Android-приложение без технического долга и офлайн-карта в кармане, отчет The State of Kotlin 2026, первое «убойное» приложение для iPhone Duo, нейросеть для игры в «Точки» и многое другое. Заходите!

Читать далее

zhim.fit: приложение для персонального тренера без подписок и регистрации

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

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

Читать далее

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

Flutter на клиенте, Fletch на сервере: бэкенд на знакомом Dart

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

Вы пишете приложение на Flutter. Модели уже описаны, бизнес-правила продуманы. Осталась небольшая деталь: сервер, который будет принимать запросы и работать с данными.

И здесь обычно начинается второй сезон сериала. Другой язык, другой менеджер пакетов, ещё один набор моделей. Поле переименовали на клиенте, забыли на сервере — поздравляем, у нас распределённая опечатка.

Dart позволяет написать обе стороны приложения. А Fletch предлагает довольно понятный способ сделать серверную: знакомые по Express маршруты, middleware, обработчики запросов и немного инфраструктуры, которую не хочется каждый раз собирать вручную.

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

Читать далее

API принятия решений у вас в телефоне: ответ за десятки миллисекунд, без облака и без подписки (быстрый аналог Jev)

Время на прочтение5 мин
Охват и читатели6.6K

Быстрый аналог Jev API для классификации запросов — в телефоне. В статье — что это за модель, как запустить сервер за пять минут и как встроить его в бота или автоматизацию с помощью одного curl и десяти строк на Python.

Читать далее

Запускаем множество ИИ на телефоне без интернета в новом формате CMF

Время на прочтение6 мин
Охват и читатели6.8K

Чат, перевод и решения для ваших скриптов — прямо на телефоне, без интернета и без подписок. Разбираем Cortiq Mobile: открытое приложение для Android и iOS, которое запускает нейросети локально. С замерами, скриншотами и инструкцией «попробовать за пять минут».

Читать далее

3D в игре на Flame: от одной модели до целого мира

Время на прочтение11 мин
Охват и читатели8.5K

River Sortie это шутер в духе River Raid, в который можно сыграть прямо в браузере. Самолёт летит вверх по бесконечной реке, сбивает танкеры, вертолёты и мосты, заправляется над складами. Всё, что в нём движется, это обычные компоненты Flame с хитбоксами Flame, а рисует всё это в 3D flutter3d. Расскажу, как два движка поделили работу, что для этого пришлось добавить в мост flame_flutter3d, и про короткий способ, когда в 2D-игре нужна всего одна трёхмерная модель.

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 5. Микрофронтенды в Capacitor

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

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

Читать далее

Как анимировать матрицу на Swift UIKit

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

В этой статье Леша, ведущий разработчик Совкомбанк Технологий, поделится опытом реализации необычной и сложной анимации в приложении Рокетбанка. А именно матрицы чисел, которая появляется, когда пользователь входит в оформление цифровой кредитной карты.

Читать далее

ч1: Обзор. Полгода после утечки через tun0. Кто из VPN-клиентов закрыл дыру, а кто закрыл issue

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

Исключите Termux из VPN на Android-телефоне и выполните в нём одну команду:

curl --interface tun0 https://ifconfig.me

Лучше перебрать tun0-tun9

Если в ответ пришёл адрес вашего VPN-сервера, значит приложение, которое по вашим же настройкам не должно ходить в туннель, только что сходило через него. Ни root, ни своего кода для этого не нужно. А пароль на локальный прокси, который весной добавили многие клиенты, от этой утечки не спасает.

С весны прошло полгода. Мы прошли по трекерам и релизам 28 клиентов и прочитали код тех, кто утечку закрыл. Проверку владельца соединения сделали двое. И у обоих, судя по коду, была одна и та же ошибка. Про исключённое приложение Android отвечает «владелец неизвестен». И именно такие соединения они пропускали. Один клиент исправил это в тот же день, как мы написали ему. Второй пока молчит. Ниже обзор: кто закрыл дыру, кто закрыл issue, и что можно сделать уже сейчас.

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