iOS
• Поваренная книга SwiftUI: NavigationStack в SwiftUI
• BigUIPaging: страницы на SwiftUI
• Understanding Discardable Results in Swift
• Tackling Memory Limitations in iOS: A Deep Dive
• Data Flow & Data Sharing using SwiftUI
• @preconcurrency: Incremental migration to concurrency checking
• Design Patterns in Swift (Abstract Factory)
#ios
• Поваренная книга SwiftUI: NavigationStack в SwiftUI
• BigUIPaging: страницы на SwiftUI
• Understanding Discardable Results in Swift
• Tackling Memory Limitations in iOS: A Deep Dive
• Data Flow & Data Sharing using SwiftUI
• @preconcurrency: Incremental migration to concurrency checking
• Design Patterns in Swift (Abstract Factory)
#ios
AppTractor
Поваренная книга SwiftUI: NavigationStack в SwiftUI
В SwiftUI NavigationStack обеспечивает простой и интуитивно понятный способ навигации между представлениями.
❤3
Android
• Паттерн делегирования для написания многократно используемых компонентов Compose
• Инъекция зависимостей или локатор служб?
• Как сделать приложение для мобильного стриминга на Android с помощью опенсорс-инструментов и EdgeStreaming
• Migrate your Production app from Room to SQLDelight
• Shimmer & Shadow Loading Effect Animation with Jetpack Compose
• Creating Dynamic Background Blur with Jetpack Compose in Android
• Understanding Jetpack Compose Measuring: A Deep Dive
• Implementing Parallax Carousel from SwiftUI to Jetpack Compose
#android
• Паттерн делегирования для написания многократно используемых компонентов Compose
• Инъекция зависимостей или локатор служб?
• Как сделать приложение для мобильного стриминга на Android с помощью опенсорс-инструментов и EdgeStreaming
• Migrate your Production app from Room to SQLDelight
• Shimmer & Shadow Loading Effect Animation with Jetpack Compose
• Creating Dynamic Background Blur with Jetpack Compose in Android
• Understanding Jetpack Compose Measuring: A Deep Dive
• Implementing Parallax Carousel from SwiftUI to Jetpack Compose
#android
AppTractor
Паттерн делегирования для написания многократно используемых компонентов Compose
В этой статье я расскажу о решении, позволяющем писать составные функции, которые в большей степени пригодны для повторного использования.
❤2
Ну и еще немножко про ИИ - на самом деле заката OpenAI можно ждать еще долго, помимо гигантских инвестиций фирменное приложение ChatGPT ставит рекорды прибыли. Так, в сентябре она выросла на 20% и достигла $4.6 млн при более чем 15 миллионах новых установок. Темпы роста замедляются, но пока они далеко не однозначные. Однако, что примечательно, ChatGPT не является крупнейшим ИИ-приложением по объему выручки. Конкурент под названием Ask AI зарабатывает больше благодаря большим расходам на рекламу - его доходы выросли с $6.48 млн в мае, когда был запущен мобильный ChatGPT, до пика в $6.55 млн в августе. В сентябре этот показатель несколько снизился и составил 5.51 млн. долларов, но это все равно больше, чем у ChatGPT.
Разработка
• Всеобъемлющий Rust — бесплатный курс
• Визуализация данных с помощью Python — бесплатный курс от IBM
• Компании теряют деньги на ИИ
• Скользкий кусок мыла: контроллер из телефона
• Characteristics of Code Quality
• Forty Years Of Programming
Маркетинг
• Top 10 Hypercasual Games in Q3 2023
Кроссплатформа
• Что такое keys во Flutter?
• Что быстрее: Animated + useNativeDriver или Reanimated?
• Native App Passkeys: Native implementation vs WebView Implementation
• Flutter’s Event Loop and Microtask Queue: A Comprehensive Guide
Разработка
• Всеобъемлющий Rust — бесплатный курс
• Визуализация данных с помощью Python — бесплатный курс от IBM
• Компании теряют деньги на ИИ
• Скользкий кусок мыла: контроллер из телефона
• Characteristics of Code Quality
• Forty Years Of Programming
Маркетинг
• Top 10 Hypercasual Games in Q3 2023
Кроссплатформа
• Что такое keys во Flutter?
• Что быстрее: Animated + useNativeDriver или Reanimated?
• Native App Passkeys: Native implementation vs WebView Implementation
• Flutter’s Event Loop and Microtask Queue: A Comprehensive Guide
AppTractor
Всеобъемлющий Rust — бесплатный курс
Курс охватывает весь спектр Rust, от базового синтаксиса до таких продвинутых тем, как генерики и обработка ошибок.
👍4
40 лет программирования
Разработчик с 40-летним стажем начал испытывать боль в предплечьях и плечах при программировании. Вот какой "сетап" он собрал для улучшения своей работы:
• Magic Trackpad от Apple
• Клавиатура Ergodox EZ
• VIM
• Самодельный моторизованный стол
• Периодическая растяжка во время работы
• Медитация в движении
И что: задумайтесь о своих устройствах и здоровье сейчас, пока не слишком поздно 🤷🏻♂️
И поделитесь своим сетапом?
Разработчик с 40-летним стажем начал испытывать боль в предплечьях и плечах при программировании. Вот какой "сетап" он собрал для улучшения своей работы:
• Magic Trackpad от Apple
• Клавиатура Ergodox EZ
• VIM
• Самодельный моторизованный стол
• Периодическая растяжка во время работы
• Медитация в движении
И что: задумайтесь о своих устройствах и здоровье сейчас, пока не слишком поздно 🤷🏻♂️
И поделитесь своим сетапом?
🤡25👍7❤2🔥2🤔1
iOS
• Понимаем @discardableResult в Swift
• LLaMA 2, RWKV, Santacoder и другие LLM на iOS
• Unit Test the Observation Framework
• Destroy dependency injection in Swift
• Sensory feedback in SwiftUI
• SwiftUI: Multilevel MVVM
• 7 Spectacular Project-Based Tutorials for Learning Swift and SwiftUI
• Advanced Memory Management in iOS: Exploring ARC, Manual Retain-Release, and Memory Leaks
#ios
• Понимаем @discardableResult в Swift
• LLaMA 2, RWKV, Santacoder и другие LLM на iOS
• Unit Test the Observation Framework
• Destroy dependency injection in Swift
• Sensory feedback in SwiftUI
• SwiftUI: Multilevel MVVM
• 7 Spectacular Project-Based Tutorials for Learning Swift and SwiftUI
• Advanced Memory Management in iOS: Exploring ARC, Manual Retain-Release, and Memory Leaks
#ios
AppTractor
Понимаем @discardableResult в Swift
Атрибут @discardableResult в Swift является ценным инструментом для улучшения читаемости кода и управления функциями, возвращающими значения, которые не всегда нужно использовать.
Android
• Resaca: привязка ViewModel к Composable
• Как я осваивал Jetpack Compose
• Компиляция Record для Android
• Архитектура Android. Понятно и подробно
• Introducing Iris Mock: An easier way to mock network calls on Android
• Jetpack Compose Custom Hideable Bottom Sheet
• Kotlin asSequence: The Key to Efficient Collections
• Kotlin Illustrated - Data Classes and Destructuring
• Konsist and Conquer: Embracing the World of Dynamic Testing
#android
• Resaca: привязка ViewModel к Composable
• Как я осваивал Jetpack Compose
• Компиляция Record для Android
• Архитектура Android. Понятно и подробно
• Introducing Iris Mock: An easier way to mock network calls on Android
• Jetpack Compose Custom Hideable Bottom Sheet
• Kotlin asSequence: The Key to Efficient Collections
• Kotlin Illustrated - Data Classes and Destructuring
• Konsist and Conquer: Embracing the World of Dynamic Testing
#android
AppTractor
Resaca: привязка ViewModel к Composable
Resaca — правильная область видимости для объектов и вью-моделей в Android Compose. Resaca предоставляет простой способ сохранить Jetpack ViewModel (или любой другой объект) в памяти в течение жизненного цикла функции @Composable и автоматически очистить…
❤1👍1
Это уже какой-то новый уровень метаиронии - приложение с тренерами, занимающимися дейтингом. Вроде бы в основе лежит правильная концепция - «существует предположение, что каждый человек просто обязан знать, как ходить на свидания. Но свидания — это такой же навык, как и любой другой, а умение общаться — это навык, который необходимо постоянно оттачивать». Но маркетплейс коучей-пикаперов? Кажется, технологии свернули не туда 🙂
Разработка
• Приложение Keepler поможет улучшить навыки свиданий или отношений
• Яндекс выпустил NaviKit SDK для создания собственной навигации
• 40 лет программирования
• Research: Quantifying GitHub Copilot’s impact on code quality
• 2-Minute Rule to Become a Master at Coding — Atomic Habits
Маркетинг
• Clash of Clans и Clash Royale выходят на ПК
• How Duolingo designs product (and why)
Кроссплатформа
• Flutter: заказывать или не заказывать? Откровения разработчика
• Flutter Navigation and Routing: A Complete Guide
• Why We Never Manage State with Global Variable in Flutter
Разработка
• Приложение Keepler поможет улучшить навыки свиданий или отношений
• Яндекс выпустил NaviKit SDK для создания собственной навигации
• 40 лет программирования
• Research: Quantifying GitHub Copilot’s impact on code quality
• 2-Minute Rule to Become a Master at Coding — Atomic Habits
Маркетинг
• Clash of Clans и Clash Royale выходят на ПК
• How Duolingo designs product (and why)
Кроссплатформа
• Flutter: заказывать или не заказывать? Откровения разработчика
• Flutter Navigation and Routing: A Complete Guide
• Why We Never Manage State with Global Variable in Flutter
AppTractor
Приложение Keepler поможет улучшить навыки свиданий или отношений
Существует предположение, что каждый человек просто обязан знать, как ходить на свидания. Но свидания - это такой же навык, как и любой другой, а умение общаться - это навык, который необходимо постоянно оттачивать.
👌5👍1
Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
Легендарное интервью с Максимом Сидоровым, Android-разработчиком из SberDevices, который на весеннем Мобиусе представил свой первый доклад “Измеряем sequence”, по результатам которого JetBrains внесли изменения в язык. Поговорили про карьеру, Kotlin, разработку, Сбер, имеет ли смысл “обычному разработчику” ковыряться в функциях языка и многое другое.
Легендарное интервью с Максимом Сидоровым, Android-разработчиком из SberDevices, который на весеннем Мобиусе представил свой первый доклад “Измеряем sequence”, по результатам которого JetBrains внесли изменения в язык. Поговорили про карьеру, Kotlin, разработку, Сбер, имеет ли смысл “обычному разработчику” ковыряться в функциях языка и многое другое.
🔥8👍3
iOS
• Поваренная книга SwiftUI: List View в SwiftUI
• Nimble: метчер для Swift и Objective-C
• Smooth Moves: 🪄 Unleash the Magic of SwiftUI Animations
• How to Customize Toolbar and Navigation Bar in SwiftUI
• Harnessing The Power of Async/Await in SwiftUI: Revolutionizing Concurrency in iOS Development
• Designing for spatial computing: from iOS and iPadOS to visionOS
#ios
• Поваренная книга SwiftUI: List View в SwiftUI
• Nimble: метчер для Swift и Objective-C
• Smooth Moves: 🪄 Unleash the Magic of SwiftUI Animations
• How to Customize Toolbar and Navigation Bar in SwiftUI
• Harnessing The Power of Async/Await in SwiftUI: Revolutionizing Concurrency in iOS Development
• Designing for spatial computing: from iOS and iPadOS to visionOS
#ios
AppTractor
Поваренная книга SwiftUI: List View в SwiftUI
Представление List в SwiftUI — это мощный инструмент для отображения списка элементов в прокручиваемом виде. Он обычно используется для представления данных в организованном и удобном для чтения формате. В этой статье вы узнаете, как добавить представление…
👍4🔥1
Android
• Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
• Как мониторить здоровье вашей Gradle-сборки
• Android Interview Questions for Mid to Senior-Level Developers
• Building the Flappy Musk.eteer Arcade Game with Jetpack Compose
#android
• Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
• Как мониторить здоровье вашей Gradle-сборки
• Android Interview Questions for Mid to Senior-Level Developers
• Building the Flappy Musk.eteer Arcade Game with Jetpack Compose
#android
AppTractor
Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
Сначала это казалось мне каким то священнодействием. Как это, создать issue на доработку Kotlin?? Это же могут делать только небожители). Но нет, на самом деле любой может сделать это.
👍5
Character.AI, приложение с чат-ботами, поддерживаемое a16z и созданное бывшими исследователями искусственного интеллекта Google, сегодня открыло групповые чаты, в которых пользователи и их друзья могут общаться с несколькими ИИ-персонажами одновременно. Идея заключается в том, что пользователи смогут создавать социальные связи с друзьями, делиться идеями и сотрудничать в режиме реального времени, как и в любом другом групповом чате, но теперь к этому добавятся их ИИ-компаньоны. Крайне занятно, что Character.AI предлагает пользователям пообщаться с учеными и мыслителями, которых имитирует искусственный интеллект, например, такими как Альберт Эйнштейн, Мария Кюри, Никола Тесла и Стивен Хокинг, или создать групповой чат с мифологическими богами, такими как Зевс или Аид (напомню, бог смерти и подземного царства). Как к этому относятся Хогинг, Эйнштейн и Аид, пока неизвестно.
Разработка
• Microsoft отказывается от VBScript
• 8 вещей, которые я усвоил за 6 лет карьеры разработчика
• What is Design-Driven Development?
• AR for everyone: How to build accessible augmented reality UX
• How Giphy Delivers 10 Billion GIFs a Day to 1 Billion Users
Маркетинг
• Character.AI добавляет групповые чаты с ИИ
Кроссплатформа
• Реактивные формы во Flutter: как делать формы с меньшими трудозатратами
• Minimal Social App • Flutter x Firebase Tutorial
Разработка
• Microsoft отказывается от VBScript
• 8 вещей, которые я усвоил за 6 лет карьеры разработчика
• What is Design-Driven Development?
• AR for everyone: How to build accessible augmented reality UX
• How Giphy Delivers 10 Billion GIFs a Day to 1 Billion Users
Маркетинг
• Character.AI добавляет групповые чаты с ИИ
Кроссплатформа
• Реактивные формы во Flutter: как делать формы с меньшими трудозатратами
• Minimal Social App • Flutter x Firebase Tutorial
AppTractor
Microsoft отказывается от VBScript
Этот шаг является частью более широкой стратегии, направленной на снижение возможностей вредоносных кампаний, использующих для заражения различные функции Windows и Office.
❤6
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
•
(iOS Ru) Avito iOS meetup #10•
(iOS En) A Day in the Life of a SwiftUI View•
(iOS En) SwiftUI to destroy the Publishing Industry•
(iOS En) Create custom Bindings in SwiftUI•
(iOS En) How to use TimelineView in SwiftUI•
(iOS En) Updating Code to iOS 17•
(And Ru) Unit-тесты для галочки — как не надо делать и как исправить•
(And Ru) Compose Pathway #1: знакомство с фреймворком•
(And Ru) Оно само: используем плагины компиляции•
(And Ru) Compose, еще раз Compose и развитие сообщества•
(And En) Navigation Stack Interactive Pop Gesture - Full Swipe Pop•
(And En) Gestures in Jetpack Compose•
(And En) AI Landmark Recognition With Tensorflow Lite and CameraX on Android•
(And En) How to Build a Video Recorder With CameraX in Android•
(And En) New Component Activity’s Edge to Edge is Amazing•
(And En) Kotlin Extensions - Many developers forget THIS!•
(Crs En) Minimal Social App • Flutter x Firebase Tutorial•
(Dev Ru) Podlodka #340: зачем нужны ИТ-рекрутеры•
(Dev Ru) Podlodka #339: все про кодировки текстаПоставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
AppTractor
Avito iOS meetup #10
В докладах теория и реальные кейсы из опыта спикеров.
👍8🤡2
Как мониторить здоровье куска мыла
Новый еженедельный дайджест - 127 лучших новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была статья "Читаемость: храм инженерного превосходства Google" - про то, что такое читаемость, как она влияет на гуглеров, ее культурное значение в Google и имеет ли смысл воссоздавать ее за стенами Google.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Новый еженедельный дайджест - 127 лучших новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была статья "Читаемость: храм инженерного превосходства Google" - про то, что такое читаемость, как она влияет на гуглеров, ее культурное значение в Google и имеет ли смысл воссоздавать ее за стенами Google.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
👍8
Топ быстрорастущих приложений в России в октябре
По данным сервиса AppMagic, в России топ самых быстрорастущих по выручке приложений это:
1. EPIK - AI Photo Editor
2. Loopsie: AI Art Generator
3. Cloud: Video, photo storage
4. Barev — Armenian Dating
5. Busuu: Learn Languages
6. Маруся — голосовой помощник
7. Wallcraft – Wallpapers, live
8. O-KAM Pro
9. Memrise: speak a new language
10. Skyduck – Skydiving Logbook
В прошлом месяце в топ быстрорастущих попало несколько приложений для обучения, в этом сразу два приложения для изучения иностранных языков - Busuu и Memrise.
Рост двух ИИ-фоторедакторов, EPIK и Loopsie, обусловлен внедрением новых фич. Например, для EPIC прорывной функцией стал "Ежегодный альбом". EPIK сначала загружает серию селфи, а затем использует их для создания ретроспективных фотографий, на которых пользователь изображен в разных позах, с разными образами и прическами. В октябре EPIK уже стал №1 в американском App Store, когда инфлюэнсеры со всего мира начали делиться своими фотографиями, созданными искусственным интеллектом, в социальных сетях.
Интересен рост Skyduck - нишевого приложения для прыгающих с парашютом. По данным AppMagic, приложение в мире заработало всего более 13 тысяч долларов при примерно 12 тысячах установок. Из них в России примерно 7 тысяч и 2 тысячи соответственно. Почему оно начало расти именно сейчас не очень понятно - последнее обновление вышло еще летом. Если кто знает - поделитесь 😌
По данным сервиса AppMagic, в России топ самых быстрорастущих по выручке приложений это:
1. EPIK - AI Photo Editor
2. Loopsie: AI Art Generator
3. Cloud: Video, photo storage
4. Barev — Armenian Dating
5. Busuu: Learn Languages
6. Маруся — голосовой помощник
7. Wallcraft – Wallpapers, live
8. O-KAM Pro
9. Memrise: speak a new language
10. Skyduck – Skydiving Logbook
В прошлом месяце в топ быстрорастущих попало несколько приложений для обучения, в этом сразу два приложения для изучения иностранных языков - Busuu и Memrise.
Рост двух ИИ-фоторедакторов, EPIK и Loopsie, обусловлен внедрением новых фич. Например, для EPIC прорывной функцией стал "Ежегодный альбом". EPIK сначала загружает серию селфи, а затем использует их для создания ретроспективных фотографий, на которых пользователь изображен в разных позах, с разными образами и прическами. В октябре EPIK уже стал №1 в американском App Store, когда инфлюэнсеры со всего мира начали делиться своими фотографиями, созданными искусственным интеллектом, в социальных сетях.
Интересен рост Skyduck - нишевого приложения для прыгающих с парашютом. По данным AppMagic, приложение в мире заработало всего более 13 тысяч долларов при примерно 12 тысячах установок. Из них в России примерно 7 тысяч и 2 тысячи соответственно. Почему оно начало расти именно сейчас не очень понятно - последнее обновление вышло еще летом. Если кто знает - поделитесь 😌
🤡6👍1
iOS
• Avito iOS meetup #10
• Advanced SwiftUI Animations: CustomAnimation
• Adding an Info.plist file to a Swift executable
• How to dismiss Keyboard in SwiftUI
• Xcode Parallel Test Execution of XCUITest is a Joke
• Optimizing work in iOS runtime
• 8 Tips to Optimize your iOS App
#ios
• Avito iOS meetup #10
• Advanced SwiftUI Animations: CustomAnimation
• Adding an Info.plist file to a Swift executable
• How to dismiss Keyboard in SwiftUI
• Xcode Parallel Test Execution of XCUITest is a Joke
• Optimizing work in iOS runtime
• 8 Tips to Optimize your iOS App
#ios
AppTractor
Avito iOS meetup #10
В докладах теория и реальные кейсы из опыта спикеров.
👍4😁1
Android
Обратите внимание - вышли все видео droidcon NYC 2023, который прошел месяц назад.
• Unit-тесты для галочки — как не надо делать и как исправить
• Compose Pathway #1: знакомство с фреймворком
• Оно само: используем плагины компиляции
• Compose, еще раз Compose и развитие сообщества
• Миграция продакшен приложения из Room в SQLDelight
• Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ
• Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу
• Ломаем Android. Русификация китайских авто
• Achieve Compile-Time Safety with Koin in Record Time
• Handling Loading states of Android Paging 3
• Exploring Android 14: Screenshot Detection
• Publishing to F-Droid with Fastlane and Flavors
• Testing Android apps for flaky network situations with Flaker
• droidcon NYC 2023 videos
#android
Обратите внимание - вышли все видео droidcon NYC 2023, который прошел месяц назад.
• Unit-тесты для галочки — как не надо делать и как исправить
• Compose Pathway #1: знакомство с фреймворком
• Оно само: используем плагины компиляции
• Compose, еще раз Compose и развитие сообщества
• Миграция продакшен приложения из Room в SQLDelight
• Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ
• Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу
• Ломаем Android. Русификация китайских авто
• Achieve Compile-Time Safety with Koin in Record Time
• Handling Loading states of Android Paging 3
• Exploring Android 14: Screenshot Detection
• Publishing to F-Droid with Fastlane and Flavors
• Testing Android apps for flaky network situations with Flaker
• droidcon NYC 2023 videos
#android
AppTractor
Unit-тесты для галочки — как не надо делать и как исправить
Есть такая фраза — «тесты ради тестов». Это значит, что тесты ничего не тестируют. Зачастую и тесты эти невозможно читать (и уж тем более поддерживать), и смысла в них нет. При изменениях в коде эти тесты ничего не выявляют как и без изменений не отображают…
❤7
Apple придумала великолепную штуку - обновлять iPhone перед продажей не нарушая упаковки. Система в розничном магазине будет сама включать смартфон, заливать на него новую ОС и выключать - все это беспроводно и не нарушая упаковки. Как это будет сделано технологически я не представляю (надо же отдельную схему держать, которая будет ловить сигнал магазина?), но звучит очень футуристично.
Разработка
• Apple будет обновлять ПО iPhone перед продажей
• Flaker: симулятор нестабильной сети
• Tesla выпустила первый API для приложений сторонних разработчиков
• Podlodka #340: зачем нужны ИТ-рекрутеры
• Podlodka #339: все про кодировки текста
• Как у нас пока не получилось сделать голосовую соцсеть
• One Game, By One Man, On Six Platforms: The Good, The Bad and The Ugly
• Pull vs push architecture for Mobile
Маркетинг
• Топ быстрорастущих приложений в России в октябре
• Supercell анонсировала новую игру mo.co
• Crunchyroll вошел в клуб миллиардеров
• В 2023 году потребители проведут в Android-приложениях для покупок 50 млрд часов
• A checkout designed for impulse purchases
• GG: The Journey of Building and Marketing an App
Кроссплатформа
• FocusBloom: управление временем на Kotlin Multiplatform
• KMP Team Workflows with KMMBridge
• Konsist: Protect Kotlin Multiplatform projects from architecture guidelines violations
• Automate Flutter app delivery to AppCenter with GitHub Actions
• Mocking Bluetooth in Flutter: Updated
• Raising the Dead: How to Learn Flutter and Dart by Reviving Old Examples
Разработка
• Apple будет обновлять ПО iPhone перед продажей
• Flaker: симулятор нестабильной сети
• Tesla выпустила первый API для приложений сторонних разработчиков
• Podlodka #340: зачем нужны ИТ-рекрутеры
• Podlodka #339: все про кодировки текста
• Как у нас пока не получилось сделать голосовую соцсеть
• One Game, By One Man, On Six Platforms: The Good, The Bad and The Ugly
• Pull vs push architecture for Mobile
Маркетинг
• Топ быстрорастущих приложений в России в октябре
• Supercell анонсировала новую игру mo.co
• Crunchyroll вошел в клуб миллиардеров
• В 2023 году потребители проведут в Android-приложениях для покупок 50 млрд часов
• A checkout designed for impulse purchases
• GG: The Journey of Building and Marketing an App
Кроссплатформа
• FocusBloom: управление временем на Kotlin Multiplatform
• KMP Team Workflows with KMMBridge
• Konsist: Protect Kotlin Multiplatform projects from architecture guidelines violations
• Automate Flutter app delivery to AppCenter with GitHub Actions
• Mocking Bluetooth in Flutter: Updated
• Raising the Dead: How to Learn Flutter and Dart by Reviving Old Examples
AppTractor
Apple будет обновлять ПО iPhone перед продажей
Система по беспроводной связи включит смартфон, обновит его программное обеспечение, а затем отключит питание - и все это без вскрытия упаковки телефона.
👍12❤1
Apple разрешает сторонние платежи в России
В соответствии с решением суда разработчики из России теперь могут воспользоваться разрешением StoreKit External Purchase Link Entitlement в iOS и (или) iPadOS. Это разрешение позволяет отвечающим требованиям приложениям включать ссылку на веб-сайт разработчика, которая информирует пользователей о других способах покупки цифровых товаров или услуг.
1. Чтобы воспользоваться этим разрешением, необходимо отправить запрос, включить разрешение в Xcode и использовать необходимые API-интерфейсы StoreKit.
2. Для использования разрешения ваша учетная запись разработчика должна быть зарегистрирована в России. Кроме того, ваше приложение должно быть доступно в App Store для iPhone или iPad в России; не должно предлагать цифровые товары или услуги в приложении через систему встроенных покупок Apple; не должно участвовать в партнерской программе Apple Video, партнерской программе News или программе App Store для малого бизнеса, проводимой компанией Apple.
3. Комиссия Apple составит 27% от выручки. Вы должны будете каждый месяц предоставлять компании Apple Distribution International отчет по транзакциям за этот период.
4. Компания Apple имеет право на проведение аудита в соответствии с условиями использования разрешения. Это позволит компании проверить точность ваших записей о цифровых транзакциях, совершенных в результате предоставления разрешения, и обеспечить выплату соответствующей комиссии в адрес Apple Distribution International.
И что: сложно и (может быть) эффективно только для больших приложений. Для 99% разработчиков ничего не поменяется.
В соответствии с решением суда разработчики из России теперь могут воспользоваться разрешением StoreKit External Purchase Link Entitlement в iOS и (или) iPadOS. Это разрешение позволяет отвечающим требованиям приложениям включать ссылку на веб-сайт разработчика, которая информирует пользователей о других способах покупки цифровых товаров или услуг.
1. Чтобы воспользоваться этим разрешением, необходимо отправить запрос, включить разрешение в Xcode и использовать необходимые API-интерфейсы StoreKit.
2. Для использования разрешения ваша учетная запись разработчика должна быть зарегистрирована в России. Кроме того, ваше приложение должно быть доступно в App Store для iPhone или iPad в России; не должно предлагать цифровые товары или услуги в приложении через систему встроенных покупок Apple; не должно участвовать в партнерской программе Apple Video, партнерской программе News или программе App Store для малого бизнеса, проводимой компанией Apple.
3. Комиссия Apple составит 27% от выручки. Вы должны будете каждый месяц предоставлять компании Apple Distribution International отчет по транзакциям за этот период.
4. Компания Apple имеет право на проведение аудита в соответствии с условиями использования разрешения. Это позволит компании проверить точность ваших записей о цифровых транзакциях, совершенных в результате предоставления разрешения, и обеспечить выплату соответствующей комиссии в адрес Apple Distribution International.
И что: сложно и (может быть) эффективно только для больших приложений. Для 99% разработчиков ничего не поменяется.
🙈15👍5🤡2❤1
iOS
• Grape: визуализация графов
• Concurrent Programming in SwiftData
• Thread dispatching and Actors: understanding execution
• Being a good citizen in the land of SwiftSyntax
• Content Unavailable Views
• How to customize Enum Decoding in Swift with code samples
• Mastering Concurrency with Dispatch Groups in Swift
#ios
• Grape: визуализация графов
• Concurrent Programming in SwiftData
• Thread dispatching and Actors: understanding execution
• Being a good citizen in the land of SwiftSyntax
• Content Unavailable Views
• How to customize Enum Decoding in Swift with code samples
• Mastering Concurrency with Dispatch Groups in Swift
#ios
AppTractor
Grape: визуализация графов
Grape — библиотека Swift для моделирования сил и визуализации графов. Grape использует simd для расчета положения и скорости. В настоящее время на M1 Max требуется ~0.13 секунды для 120 итераций над примером графа (77 вершин, 254 ребра, с многогранными, центральными…
👍1
Android
• Building a search screen with Jetpack Compose
• Avoid return statements in Jetpack Compose!
• AndroidX moving to minSdkVersion 19
• Minimizing APK Size: Techniques for Shrinking Android App Size
• What Are the Differences Between KAPT and KSP in Android?
• Taking pictures using Jetpack Compose
#android
• Building a search screen with Jetpack Compose
• Avoid return statements in Jetpack Compose!
• AndroidX moving to minSdkVersion 19
• Minimizing APK Size: Techniques for Shrinking Android App Size
• What Are the Differences Between KAPT and KSP in Android?
• Taking pictures using Jetpack Compose
#android
Medium
Building a search screen with Jetpack Compose
In this article, we’ll be discussing the recommended approach for building a search screen in Jetpack Compose.
👍1
Xiaomi представила новую ОС взамен MIUI - HyperOS. Основана она, конечно, на “глубоко измененном Android" с добавлением самостоятельно разработанной системы Vela. В системе полностью переписана базовая архитектура и она готовит общедоступную базу для “Интернета всего”, для десятков миллиардов устройств и десятков миллиардов соединений в будущем. Как все это выглядит и работает, правда, пока непонятно. HyperOS впервые появится в Xiaomi 14-й серии, а пока нет даже представления о том, как будет выглядеть ОС, как нет и подробной информацией о новых функциях.
Разработка
• Одна игра, один человек, шесть платформ: хорошие, плохие, злые
• JetBrains запускает инструмент для работы с документацией Writerside
• Xiaomi представила новую HyperOS
• Stack Overflow проводит увольнения
• How Discord Stores Billions of Messages — Big Surprises in System Design
Маркетинг
• Apple разрешает сторонние платежи в России
• RuStore назвал самые популярные игры и приложения в регионах
Кроссплатформа
• Event Bus: пишем шину событий во Flutter-приложении
• How to Design an Effective Bloc State Management in Flutter Development
• XCode 15 React Native Troubleshooting Guides
Разработка
• Одна игра, один человек, шесть платформ: хорошие, плохие, злые
• JetBrains запускает инструмент для работы с документацией Writerside
• Xiaomi представила новую HyperOS
• Stack Overflow проводит увольнения
• How Discord Stores Billions of Messages — Big Surprises in System Design
Маркетинг
• Apple разрешает сторонние платежи в России
• RuStore назвал самые популярные игры и приложения в регионах
Кроссплатформа
• Event Bus: пишем шину событий во Flutter-приложении
• How to Design an Effective Bloc State Management in Flutter Development
• XCode 15 React Native Troubleshooting Guides
AppTractor
Одна игра, один человек, шесть платформ: хорошие, плохие, злые
Это практически идеальный сценарий, когда речь идет о кроссплатформенной поддержке. Тем не менее, меня постоянно удивляют и беспокоят проблемы, связанные с конкретными платформами.
👍2