Все потоки
Поиск
Написать публикацию
Обновить
164.56

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

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

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

Мобильная разработка за неделю #574 (3 — 9 февраля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K
В этой подборке рисуем карты с помощью Swift Charts и графики сна с помощью Compose, разбираемся с Swift Concurrency и плагинами Android Studio, бесплатными инструменты для создания иконок, трендами мобильных приложений и многим другим. Подключайтесь!

Читать дальше →

Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#6)

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

«Сделай удобно» #1«Сделай удобно» #2«Сделай удобно» #3«Сделай удобно» #4, «Сделай удобно» #5.

Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.

Под катом: Яндекс.Лавка, Airbnb, Daylio, Waterllama.

Читать далее

Сравниваю ChatGPT-4o и ChatGPT-o3-mini-high

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

В прошлой статье многие подметили некорректность сравнения Deepseek и ChatGPT-4o. Изначально идея была сравнить максимально доступные пользователю версии.

Но сперва всё же хочется посмотреть как с одной и той же задачей справляются разные версии ChatGPT. Я в прошлом году делала анимацию (да, мне прям нравится по выходным, когда отдыхаю, кодить что-то максимально ненапряжное), так вот я её сделала в ChatGPT-4o.

Не сказать, что я прям получила удовольствие, скорее наоборот, выбесилась знатно. А на этой неделе решила её повторить уже с ChatGPT-o3-mini-high. Разница, конечно, колоссальная. Но обо всём по порядку.

Читать далее

Что мы делали в 2024-м? Видео — бесплатно и без регистрации

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


Что может быть лучше, чем оглянуться и вспомнить, как команды разработчиков, бизнес-аналитиков и тестировщиков Surf провели прошедший год? Предлагаем погрузиться в то, как мы творили, экспериментировали, добивались результатов и делились ими со всеми желающими.  

Будет много видео 😁

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

Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией

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

Хабр не раз выручал нашу команду, когда заказчик ставил задачу, которую мы никогда не делали. В недавнем кейсе по разработке демо-приложения PWA мы подсмотрели в статьях несколько полезных советов и тоже решили написать о своем опыте. Поговорим о PWA, развитие технологии и про то, кому это выгодно и не очень. Кстати, меня зовут Сергей Филатов и я веб-разработчик в R-Style Softlab. 

Читать далее

Современные подходы к управлению UI: low-сode & Backend-Driven UI

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

Привет, меня зовут Михаил Шевченко. В Авито я проектирую и разрабатываю backend low-code платформы Bricks. В этой статье рассказываю о том, почему в Авито было принято решение развивать собственные low-code-решения и Backend-Driven UI, объясняю их устройство и делюсь достигнутыми результатами.

Читать далее

Облегчаем разработку Flutter-приложений: Создание плагинов с помощью Kotlin Multiplatform

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

Будучи Flutter-разработчиками, мы часто сталкиваемся с необходимостью написания кода, ориентированного на конкретную платформу. Хоть Flutter и предоставляет полноценный фреймворк для создания кроссплатформенных приложений, интеграция нативного функционала иногда может быть весьма обременительной. Именно здесь на помощь приходит Kotlin Multiplatform (KMP). На мой взгляд, KMP — это не просто инструмент, который конкурирует с Flutter, скорее, он предлагает мощный способ рационализировать разработку плагинов, позволяя разработчикам экономить время, беречь силы и писать эффективный, легко сопровождаемый код.

В этой статье я поделюсь своим опытом использования KMP для создания библиотеки общих настроек (Shared Preferences) для Flutter под названием SharedPrefsKMP. Эта библиотека упрощает управление общими настройками в Android и iOS, демонстрируя, как KMP может улучшить процесс разработки на Flutter.

Читать далее

Пишем простой плагин для Android Studio

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

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

Читать далее

Обновление Capacitor приложений в обход сторов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров971

В данной статье я хочу затронуть такую интересную тему, как обновление бандла Capacitor-приложений (CodePush, live update и т.д).

Сталкивались ли Вы когда-нибудь с ситуацией, когда необходимо незначительно обновить мобильное приложение, написанное на Capacitor?

Предположим такую ситуацию: Вы выпустили релиз приложения, где все изменения не связаны с обновлением нативного кода, то есть Вы не добавляли новых библиотек в приложение, которые содержат нативный код (доступ к камере, NFC и т. д.). Или, допустим, Вы обновили пару строчек в спецификации. Даже ради таких, казалось бы, небольших изменений вам придется делать как минимум один релиз в магазин приложений (а их бывает много).

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

Читать далее

Обновления в Swift Concurrency: что нас ждёт в Swift 6

Время на прочтение20 мин
Количество просмотров6K

Привет, Хабр! Меня зовут Никита, я занимаюсь iOS-разработкой в Яндекс Диске. Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency.

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

Читать далее

Sheet с автоматическим подсчётом высоты и поддержкой iOS 15

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

В этой статье я расскажу о том, как создать нативный Sheet, который автоматически подсчитывает свою высоту в зависимости от котента (SwiftUI View). Задача была в том, чтобы решение было c минимумом костылей и сохраняло поддержку iOS 15. Готового похожего решения мне не удалось найти, поэтому решил создать свой вариант.

Читать далее

Все знают, где ты находишься

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров65K

Недавно я прочитал о масштабной утечке геолокационных данных из Gravy Analytics, благодаря которой стало известно, что более двух тысяч приложений из AppStore и Google Play тайно собирали геолокационные данные пользователей без их согласия. И часто об этом не знали даже разработчики.

Я изучил список (ссылка) и обнаружил как минимум три приложения, установленные на моём iPhone. Проверьте сами!

У меня возникла идея: попробовать отследить себя снаружи, то есть купить свои геолокационные данные, утёкшие через какое-нибудь приложение.
Читать дальше →

Книга: «Kubernetes для разработчиков»

Время на прочтение7 мин
Количество просмотров6.9K
Привет, Хаброжители!

Насколько досконально нужно изучить платформу Kubernetes профессиональному разработчику, чтобы произвести развёртывание в системе эксплуатационного уровня? Достаточно познакомиться с «Kubernetes для разработчиков».

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

Эта книга поможет вам начать свое путешествие с Kubernetes!
Читать дальше →

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

Где твои чаевые, дружище? No tip, no trip

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

Сервисы по доставке готовой еды и продуктов встроили блок с чаевыми прямо во флоу оформления заказа: Glovo, Яндекс.Еда, Snoonu, Wolt и другие.

На себе заметил, что такая схема создает две проблемы для меня, как пользователя.

Читать далее

Единицы измерения в web, или Сколько попугаев во viewport'е

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.4K

Всем привет! Меня зовут Вова я разработчик СБОЛа в web-канале.

Наверное, каждый фронтенд‑разработчик, по крайней мере на собеседовании, сталкивался с вопросами: «Какие единицы измерения существуют в CSS?» или «Какие единицы измерения ты использовал для CSS?», и т. п. Скорее всего, большинство интервьюеров удовлетворил бы ответ: «Абсолютные и относительные». И в целом, это, по‑своему, правильно. Но зададим себе вопрос: если разделить множество единиц измерения на два подмножества — абсолютные и относительные, — то будут ли внутри этих подмножеств единицы измерения действительно взаимозаменяемыми? Скорее нет, чем да. Тогда по какому признаку мы могли бы их разделить? По функциональному использованию.

Читать далее

Мобильная разработка за неделю #573 (27 января — 2 февраля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.2K
В новом дайджесте рассказываем о том, как Android управляет памятью, и смотрим под капот потокам, объясняем нюансы разработки PWA для Банка и программируем открытиями, исследуем удаление приложений в 2024 году, смешиваем цвета, ищем путь к стабильности и многое другое. Подключайтесь!

Читать дальше →

Потоки под капотом: как работают многопоточность и синхронизация в iOS

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

Привет! Я Александр Сычев, iOS‑эксперт в KTS. В этой статье поговорю о потоках.

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

В данной статье мы рассмотрим детали этой темы, а именно:

проанализируем работу потоков;

выявим скрытые механизмы, обеспечивающие их функционирование;

определим, какую пользу практикующим iOS‑разработчикам приносит понимание внутреннего устройства потоков.

Читать далее

Оптимизация 3D-текстурирования для мобильных игр при помощи градиентов

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

Градиентное текстурирование — это методика оптимизации 3D-текстурирования, в первую очередь предназначенная для мобильных видеоигр. В ней используются текстурные карты низкого разрешения и градиентные цвета, позволяющие снизить ресурсную нагрузку на игровые без ущерба качеству графики. Благодаря применению градиентов в низкополигональных 3D-моделях симулируются такие эффекты, как освещение, тени и глубина, позволяя избавиться от необходимости в текстурах высокого разрешения, потребляющих больше ресурсов.

Эта методика обеспечивает эффективный баланс между производительностью и визуальным качеством, оптимизирует время загрузки и улучшает игровой процесс. Кроме того, она позволяет гибко менять цветовые палитры и может адаптироваться под разные 3D-модели, снижая размеры файлов и оптимизируя использование памяти.

Читать далее

Сравнение кода от DeepSeek и ChatGPT

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

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

Я решила дать два задания. Начнём с первого: нужно написать игру "Змейка", вот мой промпт:

Если лень читать - в конце ссылка на короткое видео сравнения (в телеграм канале).

Читать далее

IT-продукт в 2025: как сэкономить минимум в 2 раза и запустить проект без классических ошибок — 7 проверенных шагов

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.7K

🔥 Дисклеймер: возможен нагрев пятой точки! 🔥

Если вы фрилансер или владелец/сотрудник классической IT-компании и при чтении почувствовали, что сейчас начнётся небольшое возгорание в районе кресла — дышите глубже! Это исключительно моё субъективное мнение, основанное на опыте работы в разных форматах — от фриланса до полноценной студии.

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

Читать далее

Вклад авторов