
Если вы активно работаете с консолями разработчика Google Play и App Store, вам нужно это знать! Без лишних слов: рандомная подборка неочевидных вещей в сторах и не только, которые сделают метрики лучше, жизнь проще, а работу веселее.
Android, iOS, Windows Phone и прочие
Если вы активно работаете с консолями разработчика Google Play и App Store, вам нужно это знать! Без лишних слов: рандомная подборка неочевидных вещей в сторах и не только, которые сделают метрики лучше, жизнь проще, а работу веселее.
На этом Google IO google показал новый инструмент разработки - https://jules.google.com
В чем плюсы: пока бесплатный, работает на gemini, и это AI Agent.
Что это значит (пример):
Часто бывает проблема, что кол-во модулей в проекте или библиотек которые хотелось бы сделать, превышает кол-во которое можно поддерживать. Особенно если ведешь open source библиотеку.
Background агенты позволяют взять часть работы - нашел полезными для документации, легкого рефакторинг и имплементирования небольших фич.
Чтобы начать, обычно можно использовать небольшой промпт чтобы предсоздать план по которому Jules будет частично следовать (на самом деле она пересоздаст план, но имея рефренсы ей будет проще):
Как упаковать веб-приложение в нативную обёртку, пройти модерацию и снова стать доступным в App Store и Google Play — без дублирования разработки.
В какой-то момент всё становится серьёзным — даже в приложениях про любовь. Команда Redspell, создатели игры Senses (интерактивные романтические истории), решили стать одними из первых, кто интегрировал новую платёжку от RuStore — Pay SDK. И встроили — с нуля, но в итоге с ростом метрик.
Вот честный рассказ о том, как ребята внедряли RuStore Pay SDK, что пошло не так, как с этим справились и какие результаты в итоге получили. Если вы тоже раздумываете, стоит ли связываться — читайте до конца. Там есть приятные цифры.
Расширяем кругозор. Слышали про парадигму функционального программирования? Если вы iOS-разработчик, то, наверное, да, а если вы Android-разработчик, то, скорее всего, нет. Пришло время это исправить.
Привет! Меня зовут Женя Бондарев. И сегодня мы поговорим о теории функционального программирования, её особенностях и о том, что она может дать вашему Android-приложению. А ещё начнём писать pet-проект на функциональной архитектуре. Поехали!
Вместе с Самиром, Flutter-разработчиком в Surf, мы разберём, что за зверь этот Flutter Web. Посмотрим, что происходит у него «под капотом», какие трудности возникают в проде, как адаптировать UX под веб и какие виджеты помогут сделать интерфейс удобным.
Привет, Хабр! Анимации – это та самая вишенка на торте, которая превращает просто работающее приложение в нечто, чем приятно пользоваться, что хочется «потрогать». Но как сделать так, чтобы эта вишенка не превратилась в тыкву, тормозящую весь UI и съедающую батарейку?
За годы практики я перепробовал, кажется, всё: от простейших AnimatedContainer
до замороченных кастомных решений с физикой и глубокой интеграцией с Rive. И сегодня я хочу поделиться с вами этим опытом, собрав в одном месте всё, что нужно знать о создании анимаций во Flutter в 2025 году. Это будет настоящий лонгрид-энциклопедия, так что заварите кофейку или что покрепче!
Мы пройдемся по основам, заглянем под капот продвинутых техник, разберем популярные пакеты и, конечно же, поговорим о том, как не убить производительность и добиться заветных 60+ FPS. Вся информация и ссылки тщательно проверены и актуальны (насколько это возможно предсказать) на июнь 2025 года. Поехали!
Когда речь заходит о локализации приложений, многие представляют себе просто перевод текста на другие языки. Но на самом деле — это адаптация интерфейса и контента под конкретную культуру и привычки пользователей в разных странах. Здесь важно все: формат даты, стиль кнопок, длина фраз и даже выбор слов.
В мобильных приложениях весь текст, который видит пользователь, разработчики хранят в виде строк — strings. Когда приложение работает только на одном языке, процесс относительно простой: дизайнер обновляет тексты в макетах, разработчики — в strings.
Но как только в проекте появляется вторая, третья, а затем и пятая локализация — начинается настоящий текстовый хаос. Каждая платформа требует своего формата строк, переводчики работают с разрозненными файлами, а менеджеру проекта сложно понять, какие тексты уже переведены, а какие нет. Попытка «собрать переводы» с разных мест приводит к ошибкам и потере контекста.
В этой статье дизайнер интерфейсов CleverPumpkin Фёдор Миронов, расскажет, как наша команда справляется со сложностями локализации — путь от макета в Figma до финальной сборки на Android и iOS. Как синхронизироваться с разработчиками и переводчиками? Почему Crowdin стал нашим незаменимым инструментом и как с его помощью команда избегает хаоса, экономит время и ресурсы, повышает качество перевода и ускоряет релизы.
Часть 2: Загрузка данных and Improving или "Хождение по промтам"
Цель этой публикации — показать процесс взаимодействия с ИИ при написании мобильного приложения. Обычно в таких историях публикуют исходный промт, а затем готовый результат. Здесь же хотелось показать более подробно именно сам процесс «Хождения по промтам», как по ходу выстраиваются «взаимоотношения» и происходит взаимообучение ИИ и разработчика. Думаю это будет полезно как уже работающим с ИИ для написания кода, так и тем, кто только начинает входить в этот сегодняшний main stream.
Статья написана в продолжение поста, в котором рассказывалось как с помощью Claude Sonnet 3.7 было написано небольшое мобильное приложение на SwiftUI. Это пользовательский список фильмов. И да, я знаю, что таких приложений вагон и маленькая тележка, но как любому разработчику не нравится брать что‑то навороченное и непонятное, а хочется, как всегда, сделать что‑то «простое и удобное».
Загрузка данных
После того как приложение заработало, захотелось внести туда данные. Начал делать это вручную, записывая один фильм за другим и получая известное удовольствие, когда видишь как программа работает, как удобно вносить данные, как приятно выглядит интерфейс и т. д.
Но текстовый файл, куда ранее вносил заметки о фильмах, получился очень большой. И по прикидкам вручную пришлось бы их вносить где‑то с месяц. Что, конечно же, надоест через несколько дней. И тогда появилась идея — а почему бы не использовать все тот же ИИ и для этой задачи?
С хорошей отказоустойчивостью интерфейс остаётся стабильным и понятным, пользователь получает предсказуемый и комфортный опыт, а сбои отдельных компонентов не приводят к сбоям всей системы.
Хорошая отказоустойчивость начинается с мышления.
Важно не просто латать ошибки по мере их появления, а комплексно подходить к решению — формировать правильное понимание, разрабатывать устойчивые подходы и строить систему, способную адекватно реагировать на возможные сбои.
Принципы описанные ниже в большинстве своем универсальные и подойдут к большому количеству сфер, даже вне области информационных технологий. Но моя основная опора будет на сферу веб-разработки
Современные Android-приложения почти всегда взаимодействуют с сервером: получают данные, отправляют формы, синхронизируют информацию в реальном времени. Производительность этих сетевых операций напрямую влияет на пользовательский опыт — особенно в условиях нестабильного или медленного интернета.
Расскажем, как использовать библиотеки OkHttp и Retrofit — инструменты, ставшие стандартом де-факто в Android-разработке, — для построения надёжной и быстрой сетевой прослойки. Статья ориентирована на мобильных разработчиков, особенно тех, кто работает с Kotlin и Coroutines.
Всем привет! Сегодня хочу поговорить о проблеме, с которой я столкнулась, изучая тему анкетирования и опросов в мобильных приложениях - никто не хочет заполнять скучные опросы. В статье расскажу про геймификацию опросов на примере бигтехов
Всем известно, что мобильные приложения люди используют больше и чаще, чем веб-приложения. Они заранее адаптированы дизайном под мобильные устройства (что логично) и заведомо предоставят весь нужный функционал.
Именно поэтому у нас, как у будущих и нынешних программистов, в университете есть дисциплина по созданию мобильных приложений - обучение идёт созданию Java-приложений. Но в рамках дисциплины можно не идти простым путём - просто выполняя практики по методичке на Java - можно выбрать сложный путь, путь ниндзя - создать собственное мобильное приложение в команде. И мы пошли именно этим путём.
Как выстроить работу с фичами в мобильной разработке и не сойти с ума — простое руководство, чтобы наконец перестать бегать за командой и начать создавать рабочие продукты без хаоса и выгорания.
У вас есть мобильное устройство с процессором RISC-V? Вопрос странноватый, но ответ может быть сложнее, чем кажется. Например, архитектуру RISC-V использует чип безопасности в Google Pixel 6. Конечно, процессоры смартфонов в основном задействуют архитектуру ARM — созданную, кстати, по принципам архитектуры сокращенного набора команд (RISC, Reduced Instruction Set Computer). Зачем же здесь RISC-V? Далее мы рассмотрим этот вопрос и оценим, насколько сама архитектура готова к такому применению.
Все началось с того что к нам в офис приехал директор иногороднего филиала.
Он подошел ко мне и сказал примерно следующее:
«Я переписываюсь с генеральным директором с помощью mail.ru.
В переписке мы обсуждаем весьма щекотливые вопросы, связанные, например, с …, ну тебе лучше не знать…. Я бы не хотел чтобы эта переписка была доступна третьим лицам.»
Все говорят про вчерашнюю Apple Keynote, а вы не успели ее посмотреть и теперь не понимаете, что за «жидкое стекло» и причем тут число 26?
Вместе с Surf iOS Team подготовили небольшой обзор прошедшей конференции — го смотреть!
Многие компании сталкиваются с необходимостью создания кастомных навигационных решений, ведь качественно реализованная карта может стать ключевым конкурентным преимуществом — особенно для логистических сервисов, служб доставки и транспортных приложений.
В этой статье мы расскажем, как использовать Google Maps для создания удобного навигатора, и поделимся практическими советами по работе с картами во Flutter.
Автор статьи — мобильный разработчик, который сам поднял инфраструктуру для стартапа на одной небольшой виртуалке. Вы узнаете, как он выбрал и внедрил werf, какие проблемы решал с помощью SOPS, как организовал хранение и шифрование секретов, и почему GitOps стал для него спасением.