Как стать автором
Поиск
Написать публикацию
Обновить
145.39

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

В чем разница между китайским ТСД и «сделанным в Китае»?

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

ТСД, он же терминал сбора данных — это мобильный компьютер со встроенным сканером штрихкодов, RFID-меток и прочего. Используется на складах для учета товаров. Бывает двух видов: сделанный в Китае и китайский.

Читать далее

Уведомляй. Уведомляй меня полностью (коротко про push'и)

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

Добавление красной иконки-счетчика уведомлений у ярлыка Duolingo дало рост DAU на 1.5%. Это кажется очевидным улучшением, но только на первый взгляд. Уведомления — мощный инструмент для повышения вовлеченности, однако они же способны раздражать пользователей, если используются без должного контекста или слишком агрессивно.

Читать далее

Как превратить монолитную архитектуру в микросервисную — и зачем

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

Привет, Хабр! Я Расим Сулейманов, инженер-программист в ПСБ. Микросервисная архитектура приложений становится все более популярной, особенно среди крупных команд разработчиков. У этого подхода есть много преимуществ по сравнению с монолитом, но перейти на него получается не у каждого проекта. В этой статье разбираю на примерах, как превратить монолитную архитектуру в микросервисную, и рассказываю, зачем это делать.

Читать далее

Нюансы разработки PWA для Банка Санкт-Петербург от первого лица

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

Классический мобильный банкинг для физлиц - это нативные приложения под iOS и Android. В силу санкционного давления и стремления к оптимизации процесса разработки наш клиент переходил на PWA (Progressive Web Application). Логичный шаг - так делают многие компании, попавшие под ограничения магазинов приложений.

Мы уже подходили к идее создать PWA около двух лет назад и уперлись в огромное количество проблем. Если верить презентациям, все нужные технологии доступны и должны работать очень гладко. Но взаимодействуя с API, на каждому углу мы обо что-то спотыкались. Поддержка PWA зависит от платформы (iOS / Android) и версии браузера. В Android Google Chrome поддерживает большинство нативных функций для PWA, а вот в iOS ограничений в самой системе, связанных с безопасностью, больше.

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

Читать далее

7 вещей, которые больше всего волнуют аудиторов в модуле критических данных Flutter-приложения

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

Привет, Хабр! Меня зовут Анна Ахлестова, я Flutter Team Lead в компании Friflex. Сегодня расскажу про защиту критических данных в приложении на Flutter — это один из модулей, которые аудиторы проверяют очень часто. Утечка таких данных может привести к серьезным потерям, от материальных до репутационных (рассказывала об этом на CrossConf).

Здесь разберу семь основных аспектов, на которые обращают внимание аудиторы при проверке:

Читать далее

Мобильная разработка за неделю #572 (20 — 26 января)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K
В новом выпуске распознавание номеров телефонов для пикника и первая бета Android 16, не всеобъемлющее руководство по тестированию пуш-уведомлений и 5 лет React Native в Shopify, технический гайд по сторис, годовой отчет “Состояние мобильного рынка в 2024 году” от Sensor Tower и многое другое. Подключайтесь!

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

YPay & YPay Inventory для Flutter приложений

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

Всем привет, на связи Василий Боровой и Иван Козловский – Flutter-разработчики из The Head. В этой статье хотим поделиться с вами опытом работы над YPay и YPay inventory для Flutter, рассказать про возможности библиотек и как их использовать, а также о проблемах, с которыми столкнулись.

Читать далее

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

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

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

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

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

Встает классический вопрос: какое разрабатывать приложение — нативное, под каждую ОС или единую кроссплатформу?

Привет, я Android-разработчик IT-компании SimbirSoft Владислав. В этой статье расскажу, с какими трудностями мы столкнулись на одном из проектов кроссплатформенной разработки Kotlin Multiplatform (KMP), как команда SimbirSoft с ними справилась и почему кроссплатформа не всегда лучший выбор. Данная статья будет полезна как для разработчиков, так и для предпринимателей, которые решили создать мобильное приложение для своего бизнеса и думают над выбором технологии. 

Читать далее ▶️

Технический гайд по сторис или как мы повысили конверсию в мобильном приложении в 9 раз

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

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает одноименное приложение - онлайн-платформа для решения вопросов с недвижимостью. Мы помогаем проводить сделки проще, быстрее и безопаснее. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — технический гайд для android-разработчиков, которые хотят реализовать и внедрить полный цикл сторис у себя в приложении с использованием: Compose, MVVM, Coroutines flow и правил чистой архитектуры. 

Читать далее

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

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

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

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

Читать далее

Как чужая ошибка в коде сожгла $100,000 на Firebase: спасаем стартап и разбираемся, какой сервер вам реально нужен

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

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

Читать далее

Погружение в мир Lint'a в Android-проекте (часть 2)

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

Продолжим рассматривать различные нюансы статического анализа с помощью Lint. Опираться будем на предыдущую статью. С момента её публикации прошло много времени, за которое вышло несколько значимых обновлений Android Gradle Plugin (а с ним и всех артефактов линтера), а также вторая версия Kotlin с новым компилятором. Вкратце рассмотрим наиболее заметные для нас изменения с небольшими примерами. Кроме того, удалось найти что-то похожее на полноценную документацию по lint (правда, редко обновляющуюся), наиболее интересные моменты оттуда тоже рассмотрим.

Читать далее

«Дебаггинг» резюме или как покорить сердце рекрутера

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

Поговорили с Денисом Хахалкиным, QA Lead — Wallarm, ex. Ozon — о том, как подготовить резюме для прохождения первичного отбора ресёрчерами и HR‑специалистами на российском рынке труда. Обсудили, как правильно выбрать опыт для включения в резюме, чтобы он был актуален для желаемой должности, почему не стоит врать в резюме и как и когда стоит упоминать о пройденных курсах и полученных сертификатах, чтобы не отпугнуть потенциальных работодателей.

Читать далее

Большое обновление CV-возможностей для фреймворка Simple

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

Добрый день! Представляю большое обновление CV-возможностей (ActiveCV 2.0) андроид-фреймворка Simple, о котором писал тут https://habr.com/ru/articles/720610/. Теперь ActveCV существует не параллельно разработке на обычных экранах, а является элементом экрана, таким как кнопка или надпись. Это не просто подход к дизайну, а совершенно другие возможности работы – совмещение логики экранов и обработки видеопотока.

Читать далее

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