Мобильная разработка
前往频道在 Telegram
Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/oVBP
显示更多13 956
订阅者
-424 小时
-367 天
-14330 天
帖子存档
Опенсорс-библиотека Implicits от Яндекс Браузера: новый шаг в передаче зависимостей Swift
Когда iOS‑приложение вырастает до сотен тысяч строк, появляется проблема: добавление зависимости в глубокий компонент требует изменений во всех промежуточных функциях. Эти функции зависимость не используют — они просто передают её дальше. Сигнатуры разбухают, рефакторинг превращается в массовую правку файлов, и значительная часть кода становится техническим шумом.
Проблема известна. Scala использует implicit parameters на уровне языка, Kotlin экспериментирует с context receivers, Android полагается на Dagger. А Swift не предлагает встроенного решения. Поэтому мы в команде Яндекс Браузера создали библиотеку Implicits — механизм неявной передачи зависимостей с compile‑time‑проверками. Она успешно работает в продакшне Браузера на полутора миллионах строк Swift‑кода, а ещё доступна в опенсорсе.
В этой статье я расскажу о поиске собственного подхода для передачи зависимостей в коде на Swift, о том, как внедрение Implicits позволяет существенно сократить boilerplate, ускорить рефакторинг и улучшить читаемость кода благодаря локальному объявлению только реально используемых зависимостей, а также покажу реальные примеры из продакшн‑кода мобильной версии Яндекс Браузера.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/976898/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
Скандалы, интриги, продуктовые метрики: что нам дало ускорение загрузки экрана в приложении hh
Привет! Меня зовут Саша Тотилас и я руковожу командой разработки в hh.ru. Хочу поделиться с Хабром результатами A/B-эксперимента: при оптимизации одного из экранов нашего приложения мы ускорили загрузку контента и выяснили, как это влияет на продуктовые метрики, а также собрали интересные инсайты.
Я не буду глубоко погружаться в технические детали, а сосредоточусь на подготовке эксперимента и интерпретации результатов. Статья будет полезна не только для мобильных разработчиков, но и для аналитиков и продактов.
Читать далее
Читать: https://habr.com/ru/companies/hh/articles/977376/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
Танцы с бубном, душевные терзания и комплекс супергероя: как мы новый редактор в «Заметках» разрабатывали
Привет, Хабр! Меня зовут Антон Макарычев, я ведущий инженер-программист в команде мобильной разработки kvadraOS. Сейчас мы с коллегами работаем над приложением «Заметки»: уже реализовали Drag-and-Drop между разными экранами в Compose, рисование на холсте, экспорт заметок в PDF или TXT и другие полезные функции. И сегодня я хочу рассказать, как рождалась наша ключевая функциональность — редактор.
Спойлер: в этой истории будет много боли, падений, преодолений и взлетов (без последнего у меня не осталось бы сил на статью). А еще расскажу про главную ошибку в выборе архитектурных решений, которую мы допустили и которая завела нас в тупик. Так что сможете научиться на нашем опыте!
Читать далее
Читать: https://habr.com/ru/companies/yadro/articles/974944/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
Flutter Twin — живые интерфейсы, отражающие и изменяющие реальность
Flutter давно перестал быть просто инструментом для создания мобильных приложений. Сегодня он уже работает на стыке цифрового и физического мира: управляет устройствами, визуализирует телеметрию и строит интерфейсы, которые реагируют на реальность в лайф-режиме. Хотите увидеть, как это работает на практике?
На открытом уроке вы разберёте архитектуру цифрового двойника, научитесь связывать Flutter с BLE, MQTT, WebSocket и RTOS, увидите, как интерфейс может получать данные от устройства, отображать их и отправлять команды обратно. Это тот функционал, который делает разработчика востребованным в IoT, логистике, автоматизации и сложных бизнес-системах.
Вы увидите, как рождается живой интерфейс, работающий в потоке событий, научитесь строить реактивные модели состояния и получите open-source шаблон flutter_twin, который ускорит разработку собственных проектов.
Встречаемся 18 декабря в 20:00 МСК в преддверии старта курса «Flutter Mobile Developer».
Регистрация открыта
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Р-ФОН: пишем, запускаем и отлаживаем для него программы на Raspberry Pi с установленной ОС «РОСА Фреш»
Это самый простой способ создания программ для Р-ФОН.
Традиционно программы для мобильных телефонов собираются в специализированных средах разработки, включающих эмуляторы.
Уникальность телефона Р-ФОН заключается в том, что на нём можно сразу запускать программы, работающие на компьютерах с процессорами ARM и операционными системами «РОСА Фреш» и «РОСА Хром». Это существенно облегчает разработку. И написание, и запуск, и отладку, и работу в программе можно сначала обкатать на компьютере, и лишь на последнем этапе скопировать программу на телефон и протестировать уже на нём.
Естественно, для работы со специфическими для телефона компонентами, такими как GPS-приёмник и GSM-модем, требуется отдельный подход. Но для создания пользовательского интерфейса и, например, кода для работы по сети - компьютер более чем удобен.
Какой же компьютер с процессором ARM подойдёт? Неплох компьютер на процессоре Байкал-М, но он дороговат, и его ещё нужно поискать. А вот компьютер на основе Raspberry Pi можно назвать народным. Подойдёт 64-разрядный, то есть, начиная с версии Raspberry Pi 4. Мне достался Pi 400, и всё описанное ниже было опробовано именно на нём.
Ниже описан мой опыт написания простых тестовых программ для Р-ФОН, использующих различные графические инструментарии (Qt, PyQt, GTK3, GTK4, SDL2).
Читать далее
Читать: https://habr.com/ru/articles/976428/
@mobi_dev | Другие наши каналы
🙉 4🤷 2🌚 1
Ученые научили крыс бегать и стрелять внутри DOOM
Ученые обновили эксперимент с DOOM II: теперь крысы не только бегают по уровню, но и стреляют, управляя персонажем без имплантов и нейроинтерфейсов
— Читать дальше «Ученые научили крыс бегать и стрелять внутри DOOM»
❤ 1
照片不可用在 Telegram 中显示
Мобильная разработка за неделю #612 (8 — 14 декабря)
В этом выпуске особенности Struct в Swift и RemoteCompose в Android, знакомство с Frida и новые умные очки Google, сломанное ценообразование приложений с подпиской, навигация на SwiftUI, создание анимированных полос и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/976470/
@mobi_dev | Другие наши каналы
[Перевод] Как мы использовали Codex, чтобы запустить приложение Sora под Android за 28 дней четырьмя инженерами
Это статья из официального блога OpenAI, но подход меня так зацепил, что решил перевести для всех. Я тоже часто переношу веб-приложения на мобилки примерно таким же способом и было очень здорово увидеть такой же подход (архитектура+рабочее_приложение-как-пример) у по сути создателей сильного AI. Пишу про разные похожие интересные вещи тут
В ноябре мы представили миру приложение Sora для Android, предоставив любому пользователю с Android-устройством возможность превращать короткие текстовые промпты в живые видео. В день запуска приложение заняло 1-е место в Play Store. За первые 24 часа пользователи Android сгенерировали более миллиона видеороликов.
За этим запуском стоит история: первая версия продакшн-приложения Sora для Android была создана всего за 28 дней благодаря тому же агенту, который доступен любой команде или разработчику – Codex.
С 8 октября по 5 ноября 2025 года небольшая команда инженеров, работая бок о бок с Codex и израсходовав примерно 5 миллиардов токенов (вау), провела Sora для Android от прототипа до глобального запуска. Несмотря на скорость разработки и масштаб, приложение демонстрирует показатель стабильности (crash-free) 99,9% и архитектуру, которой мы гордимся. Если вам интересно, использовали ли мы какую-то секретную модель – нет, мы использовали раннюю версию модели GPT-5.1-Codex, ту самую, которую любой разработчик или компания могут использовать уже сегодня через CLI, расширение для IDE или веб-приложение.
Читать далее
Читать: https://habr.com/ru/articles/976330/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
[Перевод] Создание приложения с меню на Flutter, которое не занимает много памяти
Расскажу вам в этой статье, как я снизил потребление памяти моего macOS-приложения на Flutter более чем на 90%. Это потребовало неожиданно много усилий и включало создание собственного хоста для Flutter, разработку пользовательского плагина для перетаскивания и отладку кучи кода на Rust.
Некоторое время назад я создал приложение со строкой меню для macOS под названием Quickgif. Оно удовлетворило мою давнюю потребность — иметь инструмент для выборки GIF-картинок, который можно использовать в любом приложении, не загружая GIF-ки вручную и не имея дела с разными реализациями, используемыми в других программах.
Читать далее
Читать: https://habr.com/ru/companies/piter/articles/976000/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
Не просто WebView: Строим движок на Flutter для конвертации сайтов в приложения с Server-Driven UI
Привет, Хабр.
WebView-приложения — это боль. Тормоза, убогий UX, мгновенный реджект от Apple по пункту 4.2 («Minimum Functionality»). Обычно это просто браузер без адресной строки, за который стыдно брать деньги.
Я решил не делать очередную "обертку", а подойти к задаче инженерно. Моя цель: платформа, где WebView — лишь контентный слот, обернутый в полноценный нативный UI на Flutter.
В этой статье:
Читать далее
Читать: https://habr.com/ru/articles/975950/
@mobi_dev | Другие наши каналы
🙈 1
照片不可用在 Telegram 中显示
Как прикрутить AI к табуретке
Последние несколько месяцев я занимаюсь продуктом, который работает почти полностью за счет ИИ — около 90% функционала. Еще пару лет назад для создания похожего по возможностям продукта понадобилась бы целая команда бэкенд-разработчиков. Сейчас же мой бэкенд — это просто набор промптов к LLM.
Не спешите закидывать помидорами. Это новый тип AI-based продуктов, которых будет становиться все больше. И для некоторых задач такой подход действительно отлично подходит.
В этой статье попробуем разобрать архитектуру такого продукта на минималках и посмотреть, как прикрутить AI к существующему приложению.
Читать далее
Читать: https://habr.com/ru/articles/975512/
@mobi_dev | Другие наши каналы
照片不可用在 Telegram 中显示
Тестировщики станут не нужны, если вы пройдете этот бесплатный курс
Начните уверенно тестировать мобильные приложения на Android и iOS с бесплатным курсом от экспертов Selectel, Ozon и Спортс’’.
После прохождения курса вы:
▫️ Поймете специфику мобильного тестирования: отличия от веб или десктоп, влияние устройств, ОС и сетей.
▫️ Освоите популярные инструменты: эмуляторы, симуляторы, Postman, Appium, Android Studio, Xcode и другие.
▫️ Научитесь тестировать ключевые аспекты: UI/UX, API, производительность, безопасность, локализацию и автоматизацию.
👉Смотрите полную программу и начинайте обучение: https://slc.tl/8awed
Реклама. АО "Селектел". erid:2W5zFJ76824
🙈 1🗿 1💊 1
照片不可用在 Telegram 中显示
Flutter MethodChannel: как подружить Dart с нативным Android (и iOS)
Привет, Хабр! Сегодня поговорим о том, как Flutter-приложению выйти за пределы чисто Dart-мирка и воспользоваться возможностями родной платформы, например, вызвать API Android или iOS напрямую. Например, есть какая-нибудь классная фича в Android SDK, а в Flutter её нет. Как быть? Ответ — писать собственный плагин и использовать MethodChannel.
Читать далее
Читать: https://habr.com/ru/companies/otus/articles/970094/
@mobi_dev | Другие наши каналы
👍 1
照片不可用在 Telegram 中显示
Асинхронность и многопоточность в Dart/Flutter: Future, Stream и Isolates
При разработке Flutter-приложений быстро возникает необходимость выполнять долгие операции: загрузку данных из сети, обращение к базе, работу с файлами, вычисления и т.п. Если делать это синхронно, основной поток блокируется, интерфейс «зависает», а пользователь видит «замороженный» экран. Асинхронное программирование в Dart позволяет вынести такие операции из UI-потока, не блокируя интерфейс и сохраняя приложение плавным и отзывчивым.
В данной статье мы расскажем, как во Flutter использовать ключевые инструменты асинхронности Dart — Future, async/await, Stream, а также многопоточность через Isolate — и покажем, как применять их на практике в реальных приложениях.
Читать далее
Читать: https://habr.com/ru/articles/974846/
@mobi_dev | Другие наши каналы
👍 3❤ 1
00:06
视频不可用在 Telegram 中显示
Flutter + Telegram: создаём полноценное веб-приложение с ботом и интерфейсом
Мир mini-apps в Telegram растёт, и теперь вы можете стать частью этого тренда.
На открытом уроке вы узнаете, как соединить Flutter Web и Telegram Bot API, создать интерактивный интерфейс и развернуть приложение на Firebase Hosting. Также разберётесь, как использовать dart:js_interop, связать Flutter Web-приложение с Telegram-ботом и настроить всё так, чтобы ваше приложение заработало прямо в мессенджере.
Занятие будет полезно Flutter- и Fullstack-разработчикам, которые хотят выйти за рамки мобильной разработки и использовать Flutter для современных Telegram-мини-приложений.
Дата: 11 декабря в 20:00 МСК. Открытый урок проходит в преддверии старта курса «Flutter Mobile Developer».
Регистрация открыта по ссылке.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
social_otus_onlainobrazovanie_httpss_mj_runnQ5sRIFjAvc_glowing_lines.mp49.23 MB
👍 1
照片不可用在 Telegram 中显示
Гид по Git — глазами бывшего джуна
Привет, на связи Ксюша, миддл-разработчик Surf. Миддлом я стала недавно. Когда я пришла в компанию, я, конечно, знала, что такое Git. Ну, по крайне мере, я так говорила.
Как-то я, по чистейшей случайности, разумеется, перезаписала чужую ветку. А потом потратила часов 6, чтобы вернуть всё «как было». Благо, помог наш лид, который показал, что делать.
Так я и поняла, что Git — совсем не плохое слово из трёх букв. И теперь несу для всех, кто точно так же начинает свой путь в Git, подробную и понятную инструкцию работы с ним. Го разбираться.
Читать дальше
Читать: https://habr.com/ru/companies/surfstudio/articles/973304/
@mobi_dev | Другие наши каналы
👍 1
