Рубрика: Хабр Мобильная разработка

Как врач на пенсии создал AI‑приложение для определения биологического возраста на Flutter + TFLite

Я врач с более чем 30-летним стажем, последнее время работал доцентом медицинского вуза. Недавно вышел на пенсию и получил то, о чем мечтал всю трудовую жизнь — много свободного времени, и часть его желательно тратить с пользой (а не только играть на ПК, что я, конечно, тоже люблю). Я давно, со студенчества, интересовался проблемами старения...

Навигация в Jetpack Compose без магии: что на самом деле делают библиотеки навигации

Вы когда-нибудь задумывались, зачем нужны библиотеки для навигации в Jetpack Compose? Почему мы не можем просто взять mutableStateOf со списком экранов и переключаться между ними? Оказывается, если мы попробуем реализовать такой наивный подход, то столкнёмся с рядом проблем: rememberSaveable не работает, ViewModel не очищаются после ухода с экрана, Lifecycle не работает корректно и многое другое. В статье разберём, как работают библиотеки навигации в...

Продолжаем рассказывать о создании продолжения DogPlanner…

Ну что же…, на дворе 2026 год, первый DogPlanner живёт своей жизнью, доступен на многих площадках мобильных приложений, мы о нём много писали в соцсетях и различных блогах. С тех пор как мы сделали его, а опубликовали мы его аж в июне 2020 года, вы прислали нам много различных идей по его доработке, написали множество...

Нейросети не сделали игру за меня. Но без них я бы не взялся за эту RPG

Когда говорят про нейросети в разработке игр, разговор почти всегда уходит в одну из двух крайностей. Первая: «это всё ерунда, игрушка для ленивых».Вторая: «теперь один человек может нажать пару кнопок и сделать новый Fallout». Обе версии удобные. И обе, по моему опыту, довольно далеки от реальности. Я уже довольно давно (третий год) в одиночку делаю Sunarius — большую постапокалиптическую RPG (представьте игру как Fallout 2,...

XCUI, Tests & Robots. Разбираем нативную автоматизацию iOS на винтики. Часть 1

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

Анатомия SQLite-провайдера: уходим от EF Core — типизированное хранилище для десктопа, мобайла и Blazor WASM

Серия: redb ecosystem (инженерный разбор после анонса 3.2.1) Когда вышел SQLite-провайдер 3.2.1, анонс был на пару абзацев: «тот же LINQ, одна строка в DI». Эта статья — противоположность анонса. Здесь не «что вышло», а как оно устроено и где у нас потекло. Конкретно: как движок запросов redb переехал в нативное C-расширение там, где у базы нет хранимок;...

Лента роликов на iOS: опыт работы с AVPlayer

Привет, Хабр! На связи Дмитрий Андриянов, iOS-разработчик команды Медиа Платформы в Т-Банке. Одна из наших ключевых задач — разработка видеоплеера для стриминговых видео, в том числе для приложения T-Инвестиций, где есть лента тематических роликов и обучающие видео в Академии. В T-Инвестициях на iOS лента коротких роликов — это 90% трафика, именно ее оптимизации мы уделяем...