Android
• Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
• Gemini в Android Studio для предприятий
• Adaptive Camera: Smooth Tabletop Mode with Animations
• Dynamic Language Switching in Android: Real-World Lessons From Google Play Bundles
• Top 3 Android Use Cases for Every SOLID Principle (with Code)
• What's the best open source app written in Kotlin?
• 6 steps to make a “Slide to unlock” button in Jetpack Compose
• Creating and Publishing an Android SDK: A Simple Step-by-Step Guide That Actually Works
• Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
• Gemini в Android Studio для предприятий
• Adaptive Camera: Smooth Tabletop Mode with Animations
• Dynamic Language Switching in Android: Real-World Lessons From Google Play Bundles
• Top 3 Android Use Cases for Every SOLID Principle (with Code)
• What's the best open source app written in Kotlin?
• 6 steps to make a “Slide to unlock” button in Jetpack Compose
• Creating and Publishing an Android SDK: A Simple Step-by-Step Guide That Actually Works
AppTractor
Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений
В этой статье мы рассмотрим процесс разработки многоцветных и градиентных иконок. Узнаем, как создавать адаптивные и тематические иконки для Android-приложений.
👍2❤1
Если вы не знали, то несколько лет назад один программист под ником t0st совершил нечто выдающееся: он исправил 8-летнюю ошибку в GTA Online, которая сводила с ума игроков. Ужасно долгая загрузка, иногда до 20 минут. В то время как однопользовательский режим загружался за считанные секунды. Его решение было элегантным: 13-строчный твик кода, который сократил время загрузки на 70%. Студия Rockstar Games, стоящая за GTA, вознаградила его 10,000 долларов и выпустила патч для игры. Проблема решена, да? Нет. На самом деле проблема здесь не в ленивых разработчиках или технической некомпетентности. Речь идет о том, как даже самые простые решения теряются в лабиринте корпоративных приоритетов. В этой статье автор выдвигает 4 причины того, что компании не исправляют баги: 1) Тирания «Запросов» - нужно разрабатывать новое; 2) Владение кодом - старый код никто не знает; 3) Миф о быстрых решениях - исправишь одно, посыпется в другом месте; 4) Невидимый ROI - на исправлении денег не заработаешь. Ну и вывод: система рассматривает пользовательский опыт как нечто второстепенное. Пока кто-то посторонний не вынудит им заняться.
Разработка
• Почему компании не исправляют ошибки
• Конец продуктовой разработки в том виде, в котором мы ее знаем
• Staying productive as an indie developer
Кроссплатформа
• Flutter + Supabase + Metabase - The Best Tech Stack Combo
• Deep Dive into Background Processing in React Native
Разработка
• Почему компании не исправляют ошибки
• Конец продуктовой разработки в том виде, в котором мы ее знаем
• Staying productive as an indie developer
Кроссплатформа
• Flutter + Supabase + Metabase - The Best Tech Stack Combo
• Deep Dive into Background Processing in React Native
AppTractor
Почему компании не исправляют ошибки
Главный вывод здесь не в том, что компании не заботятся об ошибках. Дело в том, что их часто парализуют конкурирующие приоритеты, бюрократическая инертность и холодный расчет прибыли.
❤3
Какой "возраст" у вашего самого старого тикета?
Anonymous Poll
6%
Меньше месяца
8%
Меньше полугода
6%
Меньше года
53%
Больше года
7%
У нас нет нерешенных проблем
20%
Посмотреть
❤1
📲 Перенос онбординга и пейволла из приложения на веб
👨💻 Боль каждого мобайл-разработчика:
• продакт хочет быстрый A/B тест
• маркетинг требует новую локализацию
• дизайнер накидал ещё одну версию пейволла
• и всё это - "сделайте к следующему спринту"
Если у вас подписочное приложение, встречайте тренд, который снимает половину головной боли - web2app-воронки.
С ними всё проще:
• онбординг на вебе = быстрые итерации, меньше версий в стор
• оплата через Primer, Paddle, Stripe или PayPal = нет 30% комиссии
• все UTM-метки сохраняются = идеальная атрибуция
• подписка оформляется до установки = выше конверсия
• легко собирать имейлы, проводить A/B тесты, делать локализации
Пользователь видит квиз → проходит его на вебе → оплачивает → получает диплинк → открывает приложение уже подписанным.
🎯 Всё это можно собрать через web2wave - топовый конструктор web2app-воронок.
Недавно они зарелизили SDK под все популярные платформы: iOS, Android, Kotlin, Java, Flutter. API гибкий. Всё документировано. Можно создавать любые кастомные воронки и подключать внешние системы - от RevenueCat до собственной биллинг-логики.
💬 Хотите потестить? Зарегистрируйтесь на сайте для бесплатного демо. Или напишите напрямую @igor_lyu - он в теме и расскажет, как это работает на реальных кейсах.
👨💻 Боль каждого мобайл-разработчика:
• продакт хочет быстрый A/B тест
• маркетинг требует новую локализацию
• дизайнер накидал ещё одну версию пейволла
• и всё это - "сделайте к следующему спринту"
Если у вас подписочное приложение, встречайте тренд, который снимает половину головной боли - web2app-воронки.
С ними всё проще:
• онбординг на вебе = быстрые итерации, меньше версий в стор
• оплата через Primer, Paddle, Stripe или PayPal = нет 30% комиссии
• все UTM-метки сохраняются = идеальная атрибуция
• подписка оформляется до установки = выше конверсия
• легко собирать имейлы, проводить A/B тесты, делать локализации
Пользователь видит квиз → проходит его на вебе → оплачивает → получает диплинк → открывает приложение уже подписанным.
🎯 Всё это можно собрать через web2wave - топовый конструктор web2app-воронок.
Недавно они зарелизили SDK под все популярные платформы: iOS, Android, Kotlin, Java, Flutter. API гибкий. Всё документировано. Можно создавать любые кастомные воронки и подключать внешние системы - от RevenueCat до собственной биллинг-логики.
💬 Хотите потестить? Зарегистрируйтесь на сайте для бесплатного демо. Или напишите напрямую @igor_lyu - он в теме и расскажет, как это работает на реальных кейсах.
Web2Wave
web2wave - create web-to-app funnels that drive app subnoscriptions
Build no-code, personalized Web2App quiz funnels that engage users and generate revenue before the app install. Cut app store fees, boost conversions, restore attribution, A/B test, and optimize with built-in analytics.
🤔4❤3👍3🔥1
P.S. А картинка к Google представил Firebase Studio 😃 Не ну реально, сколько можно.
Разработка
• Google представил Firebase Studio — комплексную платформу для создания приложений
Кроссплатформа
• У нас в проекте был Compose Multiplatform, но снова я бы так не делал
• Flutter vs React Native - My Highly Opinionated Experience
• Deep Dive into Background Processing in React Native
iOS
• Расширяем Text в SwiftUI с помощью динамической стилизации содержимого
• Integrating TimelineView in a SwiftUI app
• Keeping your Swift apps' sensitive data secret
Android
• Лучшие приложения с открытым исходным на Kotlin
• Kyoku — музыкальный стриминг с 70 тысячами песен
• A/B-тестирование в Android-разработке: гайд для middle+ разрабов
• Stop using Dispatchers.IO
• System Design of an Atlassian Android App
• Clean Permission Management in Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤡3❤1😁1
Forwarded from AppFiles - Mobile Development
•
(iOS Ru) Нервное смузи из Swift Package Registry•
(iOS Ru) Альтернативы XCUITest, или Как и зачем разработчику писать автотесты•
(iOS En) Set Up a Local Test Server with Swift in Under 5 Minutes + iOS app SwiftUI•
(iOS En) Expandable Header with Hero Effect - Slack Header Animation | SwiftUI •
(iOS En) SwiftUI - Scratch to Reveal animation•
(iOS En) What's new in Swift 6.1?•
(iOS En) SwiftUI Micro-interactions - Slide To Confirm•
(iOS En) Xcode 16.3 is Available Today (What's New?)•
(And Ru) Modo в действии: быстрая и гибкая навигация для Jetpack Compose•
(And Ru) Как сделать своп движка звонков в легаси-коде и не выгореть•
(And Ru) Backup в Android, или Как сэкономить бизнесу миллионы•
(And En) Linting on the Side of Caution: Safety & Security - Android Developers Backstage•
(And En) Google Play PolicyBytes - April 2025 policy updates•
(And En) Kotlin 2.1.20 - Atomics, UUIDs, and more! - TypeAlias Show•
(Crs Ru) Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS•
(Crs Ru) Accessibility Flutter-приложений, или Как увеличить трафик на 20•
(Crs En) Lynx Tutorial – JS Framework for Cross Platform Development•
(Crs En) Hot Reload For Flutter Web is Finally in Beta•
(Dev En) Top 5 Mobile System Design Concepts Explained•
(Dev En) Freelancing as Mobile Dev vs. Full-time Job - Which Path Is Best For YOU?•
(Dev En) Introducing Agent Development Kit•
(Dev En) Train Your Own LLM – TutorialЧто было год назад:
•
(And Ru) Экзоскелет для ExoPlayer•
(Crs Ru) Как мы сделали ставку на KMP•
(Crs Ru) Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!•
(Dev Ru) Как дизайнить доступность для скринридера•
(Dev Ru) Проблемы маленьких приложений при увеличении нагрузки по данным•
(Dev Ru) Как выжать все соки из Jenkins•
(Dev Ru) Убиваем Lottie? Тащим Rive?•
(Dev Ru) Вся правда про удаленку•
(Dev Ru) Зачем нужен Zig, и чем он отличается от других языковPlease open Telegram to view this post
VIEW IN TELEGRAM
Telegram
AppFiles - Mobile Development
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
👍1
Расширяем Metro
Все новости и статьи за неделю - рассказываем как банки живут в заблокированном App Store, как создать UI-конструктор с помощью Compose Multiplatform, исследуем новый фреймворк внедрения зависимостей для Android и портируем кроссплатформенную С++ игру на iOS, изучаем Google Firebase Studio и многое другое. Заходите!
Все новости и статьи за неделю - рассказываем как банки живут в заблокированном App Store, как создать UI-конструктор с помощью Compose Multiplatform, исследуем новый фреймворк внедрения зависимостей для Android и портируем кроссплатформенную С++ игру на iOS, изучаем Google Firebase Studio и многое другое. Заходите!
👍6
iOS
• Интегрируем TimelineView в SwiftUI-приложение
• StorySDK — истории для приложения
• Нервное смузи из Swift Package Registry
• Альтернативы XCUITest, или Как и зачем разработчику писать автотесты
• Как работать с запросами разрешений в Appium: распознаём, что от нас хочет iOS
• Showing What's New Screens using @AppStorage
• Plurals with SwiftUI
• Make your app content show on Spotlight
• How to inspect .ipa files and secure your iOS app from common mistakes
• SwiftUI Alert Guide + Code Examples
• SwiftUI Colors – Exploring Overlooked Features
• Интегрируем TimelineView в SwiftUI-приложение
• StorySDK — истории для приложения
• Нервное смузи из Swift Package Registry
• Альтернативы XCUITest, или Как и зачем разработчику писать автотесты
• Как работать с запросами разрешений в Appium: распознаём, что от нас хочет iOS
• Showing What's New Screens using @AppStorage
• Plurals with SwiftUI
• Make your app content show on Spotlight
• How to inspect .ipa files and secure your iOS app from common mistakes
• SwiftUI Alert Guide + Code Examples
• SwiftUI Colors – Exploring Overlooked Features
AppTractor
Интегрируем TimelineView в SwiftUI-приложение
TimelineView позволяет обновлять информацию по определенному расписанию, что делает его идеальным для плавной, непрерывной анимации и создания интерактивных элементов, реагирующих на течение времени.
👍4
Android
• Как сделать своп движка звонков в легаси-коде и не выгореть
• Backup в Android, или Как сэкономить бизнесу миллионы
• Modo в действии: быстрая и гибкая навигация для Jetpack Compose
• Preloading Media: A Future-Forward Approach with ExoPlayer
• Debugging Coroutines in IntelliJ and Android Studio
• Enhancing Note-Taking with Jetpack Compose
• Adaptive Camera: Smooth Tabletop Mode with Animations
• Composition Over Inheritance: A Kotlin Perspective
• Performance Optimization in Jetpack Compose
• How I Cut My Gradle Build Time by 50%
• Как сделать своп движка звонков в легаси-коде и не выгореть
• Backup в Android, или Как сэкономить бизнесу миллионы
• Modo в действии: быстрая и гибкая навигация для Jetpack Compose
• Preloading Media: A Future-Forward Approach with ExoPlayer
• Debugging Coroutines in IntelliJ and Android Studio
• Enhancing Note-Taking with Jetpack Compose
• Adaptive Camera: Smooth Tabletop Mode with Animations
• Composition Over Inheritance: A Kotlin Perspective
• Performance Optimization in Jetpack Compose
• How I Cut My Gradle Build Time by 50%
AppTractor
Как сделать своп движка звонков в легаси-коде и не выгореть
Показал, с какими проблемами придется столкнуться. На какие этапы разбивать задачу и как решать накопившийся технический долг.
👍2
Нашел тут у Витя в АЙ-ТИ SDK для реализации в iOS-приложениях онбординга и историй, но разработчик законно хочет денег при MAU больше 1000. Я бы может и рад, но хрен сейчас что заплатишь - поэтому посоветуйте какой-нибудь красивый SDK для реализации онбординга? Можно без аналитики, веб-конструктора и прочей мишуры, но прямо чтобы красиво, с кнопочками и всем остальным необходимым. Хрен с ним, пусть под Android, использую как референс.
Разработка
• Copilot Code Review теперь доступен для всех
• Не подсматривай: защищаем данные пользователей от скриншотов
• GrapheneOS: Pixel, но не Google
• The Best Programmers I Know
• Overclocking dbt: Discord's Custom Solution in Processing Petabytes of Data
Маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в мире в марте 2025
Кроссплатформа
• Accessibility Flutter-приложений, или Как увеличить трафик на 20
• Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS
• Why did you choose Flutter instead of React Native?
• Flutter - Clean Architecture Repository Pattern
• Vibe Coding an Online Card Game with Flutter
Разработка
• Copilot Code Review теперь доступен для всех
• Не подсматривай: защищаем данные пользователей от скриншотов
• GrapheneOS: Pixel, но не Google
• The Best Programmers I Know
• Overclocking dbt: Discord's Custom Solution in Processing Petabytes of Data
Маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в мире в марте 2025
Кроссплатформа
• Accessibility Flutter-приложений, или Как увеличить трафик на 20
• Это вам не игрушки: портирование кроссплатформенной С++ игры на iOS
• Why did you choose Flutter instead of React Native?
• Flutter - Clean Architecture Repository Pattern
• Vibe Coding an Online Card Game with Flutter
AppTractor
StorySDK — истории для приложения
StorySDK — это платформа для создания и добавления историй в мобильные приложения (с веб-конструктором). Интегрировав StorySDK вы сможете сделать онбординг, отображение групп историй с помощью виджета, изменять настройки, например, включение полноэкранного…
👍6
Google прекратил поддержку Android 12
На прошлой неделе Google опубликовал бюллетень безопасности Android за апрель 2025 года. В бюллетене перечислены уязвимости, которые исправлены в сборках с уровнем исправления April 2025 Security Patch Level. В нем также указано, какие версии Android имеют доступ к исправлениям, и, что примечательно, исправления для Android 12 и 12L отсутствуют.
Хотя Google публично не подтвердил причину этого, скорее всего компания прекратила поддержку Android 12 и 12L с 31 марта 2025 года. По словам источника, Google прекратил выпуск бэкпортов патчей безопасности для Android 12 и 12L 31 марта 2025 года, а бюллетень безопасности Android за март 2025 года стал последним бюллетенем, в котором были перечислены патчи для этих двух релизов.
Google выпустил Android 12 4 октября 2021 года, а Android 12L - 7 марта 2022 года. Это означает, что с момента выхода Android 12 прошло почти 3.5 года, а с момента выхода Android 12L - 3 года. Обычно Google распространяет патчи безопасности в течение 3.5 лет после выхода новой версии Android, поэтому выход Android 12 и 12L соответствует графикам.
На прошлой неделе Google опубликовал бюллетень безопасности Android за апрель 2025 года. В бюллетене перечислены уязвимости, которые исправлены в сборках с уровнем исправления April 2025 Security Patch Level. В нем также указано, какие версии Android имеют доступ к исправлениям, и, что примечательно, исправления для Android 12 и 12L отсутствуют.
Хотя Google публично не подтвердил причину этого, скорее всего компания прекратила поддержку Android 12 и 12L с 31 марта 2025 года. По словам источника, Google прекратил выпуск бэкпортов патчей безопасности для Android 12 и 12L 31 марта 2025 года, а бюллетень безопасности Android за март 2025 года стал последним бюллетенем, в котором были перечислены патчи для этих двух релизов.
Google выпустил Android 12 4 октября 2021 года, а Android 12L - 7 марта 2022 года. Это означает, что с момента выхода Android 12 прошло почти 3.5 года, а с момента выхода Android 12L - 3 года. Обычно Google распространяет патчи безопасности в течение 3.5 лет после выхода новой версии Android, поэтому выход Android 12 и 12L соответствует графикам.
👍5😱3❤1
iOS
• В мобильной ферме Selectel появилось тестирование приложений для iOS
• Gojek’s Journey to 3x Faster iOS Builds with Bazel
• Swift Reduce: Combining elements into a single value
• How to Create a Custom Loading Spinner in SwiftUI
• Building an iOS Stickers App
• Mastering Debouncers in iOS with Swift
• В мобильной ферме Selectel появилось тестирование приложений для iOS
• Gojek’s Journey to 3x Faster iOS Builds with Bazel
• Swift Reduce: Combining elements into a single value
• How to Create a Custom Loading Spinner in SwiftUI
• Building an iOS Stickers App
• Mastering Debouncers in iOS with Swift
AppTractor
В мобильной ферме Selectel появилось тестирование приложений для iOS
Мобильная ферма помогает ускорить запуск приложений и повысить их качество: параллельное тестирование на множестве устройств сокращает время проверок, а доступ к редким моделям избавляет от сложностей с закупками.
❤3
Android
• Как я сократил время сборки Gradle на 50%
• Google прекратил поддержку Android 12
• WriteBuddy — помощник в ведении заметок на Compose
• XML vs Compose, не можете решить?
• runCatching vs. try-catch in Kotlin: A Comprehensive Error Handling Comparison
• Friendly Captcha 2.0 in Jetpack Compose with Hilt: A Ready-to-Use Solution
• From dashboards to deeper data: Improve app quality and performance with new Play Console insights
• Making Android Code Cleaner with Use Cases: A Practical Approach Using Kotlin Coroutines
• Как я сократил время сборки Gradle на 50%
• Google прекратил поддержку Android 12
• WriteBuddy — помощник в ведении заметок на Compose
• XML vs Compose, не можете решить?
• runCatching vs. try-catch in Kotlin: A Comprehensive Error Handling Comparison
• Friendly Captcha 2.0 in Jetpack Compose with Hilt: A Ready-to-Use Solution
• From dashboards to deeper data: Improve app quality and performance with new Play Console insights
• Making Android Code Cleaner with Use Cases: A Practical Approach Using Kotlin Coroutines
AppTractor
Как я сократил время сборки Gradle на 50%
Оптимизация времени сборки Gradle может показаться сложной задачей, но, как мы убедились, внесение небольших, целенаправленных изменений может привести к значительным улучшениям.
👍2
Разработка
• Новые модели ИИ GPT-4.1 от OpenAI сосредоточены на программировании
• Every Caching Strategy Explained in 5 Minutes
• Hacking a Smart Home Device
Маркетинг и монетизация
• Apple переименовала Search Ads в Apple Ads
Кроссплатформа
• ViewModel in Flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Новые модели ИИ GPT-4.1 от OpenAI сосредоточены на программировании
Целью многих технологических гигантов, в том числе и OpenAI, является обучение ИИ моделям програмирования, способным выполнять сложные задачи по разработке программного обеспечения.
👍6🤡3❤1🍌1
От дашбордов к более глубокому пониманию приложений: обновления Play Console
Google сообщает о нескольких улучшениях, которые позволят вам получить еще больше практической информации, начиная с обновленного дашборда, адаптированного к вашим ключевым рабочим процессам, и заканчивая новыми показателями, призванными помочь вам улучшить качество приложений.
• Обновленный дашборд - самые важные показатели находятся в центре внимания. Они сгруппированные по четырем основным целям: тестирование и выпуск, мониторинг и улучшение, увеличение числа пользователей, монетизация с помощью Play. В каждой цели выделены три наиболее важных для нее показателя, что позволяет быстро понять, как работает ваше приложение, а также как эти показатели меняются с течением времени.
• Действенные уведомления, когда и где они вам нужны - теперь уведомления об одной и той же проблеме в нескольких приложениях группируют, кроме того, уведомления, которые больше не актуальны, будут автоматически удалять.
• Новые метрики Play Console - предварительная проверка на некорректный edge-to-edg рендеринг, проверка проблем с компоновкой на больших экранах, централизованное представление проблем, влияющих на пользователей, а также четкие инструкции, которые помогут вам решить критические проблемы, новая метрика "убийства из-за низкого объема памяти" (Low Memory Kill) в Android Vitals и Reporting API, бета-версия метрики "чрезмерные блокировки при пробуждении" (Excessive Wake Locks).
Google сообщает о нескольких улучшениях, которые позволят вам получить еще больше практической информации, начиная с обновленного дашборда, адаптированного к вашим ключевым рабочим процессам, и заканчивая новыми показателями, призванными помочь вам улучшить качество приложений.
• Обновленный дашборд - самые важные показатели находятся в центре внимания. Они сгруппированные по четырем основным целям: тестирование и выпуск, мониторинг и улучшение, увеличение числа пользователей, монетизация с помощью Play. В каждой цели выделены три наиболее важных для нее показателя, что позволяет быстро понять, как работает ваше приложение, а также как эти показатели меняются с течением времени.
• Действенные уведомления, когда и где они вам нужны - теперь уведомления об одной и той же проблеме в нескольких приложениях группируют, кроме того, уведомления, которые больше не актуальны, будут автоматически удалять.
• Новые метрики Play Console - предварительная проверка на некорректный edge-to-edg рендеринг, проверка проблем с компоновкой на больших экранах, централизованное представление проблем, влияющих на пользователей, а также четкие инструкции, которые помогут вам решить критические проблемы, новая метрика "убийства из-за низкого объема памяти" (Low Memory Kill) в Android Vitals и Reporting API, бета-версия метрики "чрезмерные блокировки при пробуждении" (Excessive Wake Locks).
❤2
В последнем обновлении сервисов Google Play для Android появилась новая функция безопасности, которая автоматически перезагружает устройства, «заблокированные в течение 3 дней подряд». Под устройствами подразумеваются смартфоны и планшеты, а остальные категории устройств — авто, ПК (приложение Play Games Windows), ТВ и Wear — исключены. Перезагрузка устройства возвращает его в состояние Before First Unlock (BFU), в котором данные зашифрованы и биометрические логины еще не включены. Автоперезагрузка происходит, если вы не пользовались телефоном или планшетом более 72 часов. iPhone получил нечто подобное в iOS 18.1 (Inactivity Reboot) в прошлом году. Сервисы Google Play 25.14 будут распространяться в течение следующей недели.
Разработка
• OpenAI разрабатывает свою социальную сеть
• How to Avoid Massive Blows When Releasing New Features
• Your App Codebase is Slowly Turning Into a Monster
Маркетинг и монетизация
• 21 000+ установок и выход в топ RuStore: кейс продвижения мобильной игры от Rocket10
Кроссплатформа
• Telegram Web App: Интеграция с Flutter
• Persistent State Management in Flutter with hydrated_bloc
• Understanding the Flutter Widget Lifecycle: A Practical Guide
iOS
• Swift Reduce: объединение элементов в одно значение
• Kurozora — платформа аниме
• SOLID Principles in Swift
• Using .onAppear and .onDisappear in your SwiftUI
• Using Instruments to profile a SwiftUI app
• Introducing Swift Testing. Scoping.
• Tracking Screen Views in SwiftUI with a Custom ViewModifier
Android
• От дашбордов к более глубокому пониманию приложений: обновления Play Console
• Google внедряет функцию безопасности с автоперезагрузкой в Android
• IntelliJ IDEA 2025.1 Released
• Netflix App Testing At Scale
• Securing Android: Behind a few seconds of payment transaction…
Разработка
• OpenAI разрабатывает свою социальную сеть
• How to Avoid Massive Blows When Releasing New Features
• Your App Codebase is Slowly Turning Into a Monster
Маркетинг и монетизация
• 21 000+ установок и выход в топ RuStore: кейс продвижения мобильной игры от Rocket10
Кроссплатформа
• Telegram Web App: Интеграция с Flutter
• Persistent State Management in Flutter with hydrated_bloc
• Understanding the Flutter Widget Lifecycle: A Practical Guide
iOS
• Swift Reduce: объединение элементов в одно значение
• Kurozora — платформа аниме
• SOLID Principles in Swift
• Using .onAppear and .onDisappear in your SwiftUI
• Using Instruments to profile a SwiftUI app
• Introducing Swift Testing. Scoping.
• Tracking Screen Views in SwiftUI with a Custom ViewModifier
Android
• От дашбордов к более глубокому пониманию приложений: обновления Play Console
• Google внедряет функцию безопасности с автоперезагрузкой в Android
• IntelliJ IDEA 2025.1 Released
• Netflix App Testing At Scale
• Securing Android: Behind a few seconds of payment transaction…
AppTractor
Google внедряет функцию безопасности с автоперезагрузкой в Android
Перезагрузка устройства возвращает его в состояние Before First Unlock (BFU), в котором данные зашифрованы и к ним сложнее получить доступ, поскольку вам еще предстоит ввести пароль, а биометрические логины еще не включены.
👍5
Тестирование Android-приложений в масштабе Netflix
Перевел статью, в которой рассказывается о том, как команда Netflix тестирует своё Android-приложение, насчитывающее более миллиона строк кода и поддерживающее более 400 модулей.
• Текущий подход к тестированию
• Фреймворки для модульных тестов
• Нестабильность в модульных тестах
• Фреймворки для скриншот-тестирования
• Фреймворки для тестирования на устройствах
• PageObjects и шаги тестирования
• Инфраструктура автоматизации тестирования на устройствах
• Работа с нестабильностью тестов
• Конвейеры CI/тестирования
• Покрытие
• Будущее тестирования
Как говорит ChatGPT ☺️, в ней есть ценные инсайты о масштабировании тестирования в крупном Android-приложении и она может быть полезна как для инженеров по тестированию, так и для разработчиков.
Перевел статью, в которой рассказывается о том, как команда Netflix тестирует своё Android-приложение, насчитывающее более миллиона строк кода и поддерживающее более 400 модулей.
• Текущий подход к тестированию
• Фреймворки для модульных тестов
• Нестабильность в модульных тестах
• Фреймворки для скриншот-тестирования
• Фреймворки для тестирования на устройствах
• PageObjects и шаги тестирования
• Инфраструктура автоматизации тестирования на устройствах
• Работа с нестабильностью тестов
• Конвейеры CI/тестирования
• Покрытие
• Будущее тестирования
Как говорит ChatGPT ☺️, в ней есть ценные инсайты о масштабировании тестирования в крупном Android-приложении и она может быть полезна как для инженеров по тестированию, так и для разработчиков.
👍6
iOS
• Пишем свой дебаунсер на Swift
• Swift Charts: Animate Marks
• iOS 18.4 - dlsym considered harmful
• Advanced architectural rules in SwiftLint — just kidding
• Drawing graphics with Canvas
• Swift Measurements
• Пишем свой дебаунсер на Swift
• Swift Charts: Animate Marks
• iOS 18.4 - dlsym considered harmful
• Advanced architectural rules in SwiftLint — just kidding
• Drawing graphics with Canvas
• Swift Measurements
AppTractor
Пишем свой дебаунсер на Swift
Дебаунсинг - это небольшой паттерн с огромными преимуществами в плане UX и производительности.
Android
• Тестирование Android-приложений в масштабе Netflix
• Simple String Resources Obfuscation — пример обфускации константных строк
• Сканирование баркодов c помощью камеры и внешних устройств в Compose
• Understanding the Internals of Side-Effect Handlers in Jetpack Compose
• Avoid Redundant Network Checks in Android: Smart Offline-Aware API Handling
• Handling UI Actions the Right Way in Kotlin ViewModels
• Creating a Custom Observable Pattern with Lifecycle Awareness in Android
• Тестирование Android-приложений в масштабе Netflix
• Simple String Resources Obfuscation — пример обфускации константных строк
• Сканирование баркодов c помощью камеры и внешних устройств в Compose
• Understanding the Internals of Side-Effect Handlers in Jetpack Compose
• Avoid Redundant Network Checks in Android: Smart Offline-Aware API Handling
• Handling UI Actions the Right Way in Kotlin ViewModels
• Creating a Custom Observable Pattern with Lifecycle Awareness in Android
AppTractor
Тестирование Android-приложений в масштабе Netflix
Тестирование постоянно развивается по мере того, как вы узнаете, что работает, или появляются новые технологии и фреймворки.
18% загружаемой в Deezer музыки сейчас создается искусственным интеллектом. OpenAI создает свою социальную сеть - видимо для ИИ же. Истину вам говорю 4 мая 1925 года Земля налетит на небесную ось люди скоро станут не нужны. ИИ будем писать и слушать музыку, писать и использовать приложения, общаться в социальной сети. Запомните этот твит.
Разработка
• Copilot Studio теперь может «использовать компьютер» для запуска ИИ-агентов
• OpenAI представила Codex CLI — открытый программный агент для командной строки
Маркетинг и монетизация
• 18% музыки, загружаемой в Deezer, генерируется искусственным интеллектом
• Разработали мобильное приложение для криптобиржи EVEDEX — функциональное решение для быстрой и безопасной торговли
Кроссплатформа
• Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker
• React Native Isn't as Popular as You Think
Разработка
• Copilot Studio теперь может «использовать компьютер» для запуска ИИ-агентов
• OpenAI представила Codex CLI — открытый программный агент для командной строки
Маркетинг и монетизация
• 18% музыки, загружаемой в Deezer, генерируется искусственным интеллектом
• Разработали мобильное приложение для криптобиржи EVEDEX — функциональное решение для быстрой и безопасной торговли
Кроссплатформа
• Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker
• React Native Isn't as Popular as You Think
AppTractor
Copilot Studio теперь может «использовать компьютер» для запуска ИИ-агентов
В Copilot Studio можно будет создавать ИИ-агентов, которые смогут автоматизировать ввод данных, проводить маркетинговые исследования или даже обрабатывать счета.
👍2❤1
Forwarded from AppFiles - Mobile Development
•
(iOS Ru) От модуляризации к Clang и обратно•
(iOS Ru) Суперапп с чистого листа•
(iOS Ru) SwiftUI Network Observer - Network Monitor•
(iOS En) Animated Redacted Modifier - SwiftUI•
(iOS En) Crafting Effective SwiftUI ViewModifiers•
(iOS En) SwiftUI Skeleton View - Skeleton Loading Animations•
(And Ru) Универсальное демоприложение•
(And Ru) Не два байта переслать: эмуляция бесконтактных карт на мобильных устройствах•
(And Ru) Архитектурное собеседование Android разработчика (все собеседования)•
(And En) Clean Architecture: The ONE Change That Transforms Use Cases From Terrible to Super Useful•
(And En) Troubleshooting Gradle and Maven builds with Develocity•
(Crs Ru) Как Kotlin Multiplatform изменил наши процессы•
(Crs En) Build an agent-powered travel planning app with Generative AI•
(Crs En) React Native Isn't as Popular as You Think•
(Crs En) Vibe Coding an Online Card Game with Flutter•
(Dev Ru) Fusion, или Как мы реализовали нашу версию BDUI•
(Dev Ru) Что показали на АврораКонф?•
(Dev Ru) Crystal – это Ruby без недостатков•
(Dev En) Ktor vs. Spring Boot - Which Backend Framework Is Best For Mobile Developers?•
(Dev En) Getting started with Agent Development KitПрошлогодние видео:
•
(iOS Ru) А так ли нужна Swift Modern Concurrency?•
(iOS Ru) Мгновенный фидбэк: как оперативно получать отзывы о приложении в App Store•
(And Ru) Устройство Android Music SDK или как мы встроили музыку в суперапп-приложение•
(And Ru) Интеграция MediaPipe в Android-приложение видеоконференцсвязи•
(Dev Ru) Инженерная культура BigTech: работа мечты или испытание на прочность?•
(Dev Ru) Как устроена мобильная разработка в Кинопоиске•
(Dev Ru) Пробить стеклянный потолок и стать сеньоромPlease open Telegram to view this post
VIEW IN TELEGRAM
👍4