apptractor | Unsorted

Telegram-канал apptractor - Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

10992

Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov • Аудитория https://t.me/apptractor/1066 • Сайт https://apptractor.ru/ • Поощрения: https://boosty.to/apptractor

Subscribe to a channel

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Перевел интересную статью про то, почему разработчики не любят тесты. Автор декларирует, что тесты вредны для разработчиков. Прежде чем кидаться помидорами - вот его обоснование. Если ошибка обнаружена в процессе спринта, разработчикам необходимо написать исправление, и это время засчитывается как «время разработки». Их обвиняют в срыве сроков. Их спрашивают, почему все так долго делается. Как ни странно, их обвиняют в том, что они создают качественный код. А при обнаружении ошибок в готовом приложении могут быть добавлены специальные спринты для их исправления. Если ошибка обнаружена в проде, то это происходит в будущем, когда времена могут быть более счастливыми, а не сейчас, когда на разработчика оказывается давление. Его выход из ситуации - сделать тесты элементом культуры. Правда, как именно это сделать автор не особо уточняет.

Разработка

Тесты вредны для разработчиков
Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru
10 hard-to-swallow truths they won't tell you about software engineer job
Don't disable buttons

Маркетинг

Доходы X за год выросли на 829%
Summer, which helps customers buy — and rent out — vacation homes, raises $18M

Кроссплатформа

«Разгоняем» HashSet, HashMap и циклы на примере Dart
5 Best Under-The-Radar React Native Libraries in 2023: Dev Tested and Reviewed
gemechis/10-tips-to-optimization-your-flutter-app-b04beb074d2c">10 Tips for Optimizing Your Flutter App

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Делаем первый App Shortcut
Apple отложила работу над новыми ОС для исправления ошибок
daviddvd19/xcodegen-first-steps-%EF%B8%8F-a2d4655ced86">Xcodegen — First Steps
10 tips to increase your iOS code quality
B4k3R/mastering-swift-level-up-your-swift-enum-by-replacing-it-with-an-optionset-a8c3c46c6aca">Level up your Swift enum by… replacing it with an OptionSet?
NSSpain XI Videos
Swift Student Challenge 2024 is announced
Visual effects in SwiftUI
GeometryReader: Blessing or Curse?

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Корутины против потоков: тест потребления памяти
Вышла альфа-версия Telecom Jetpack
Управление сложностью состояния
Собеседование с Михаилом Левченко
njorogegwanjiru/picture-perfect-code-uploading-images-to-the-server-with-kotlin-and-jetpack-compose-using-a-restful-c1d30e1ff968">Picture-Perfect Code: Uploading Images to the Server with Kotlin and Jetpack Compose using a RESTful API
The Diffing Dilemma! All about diffing with LazyLists!
kamal.lakhani56/flowon-kotlin-4f404b0ea682">FlowOn | Kotlin. The Importance of Thread Safety
The Ultimate Guide to Android Splash Screen Animations – Splash API
The problem with Coroutines stateIn operator and how to solve it

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

📅 Date: November 8th
⏰ Time: 4:00 - 5:00 PM GMT+3
📝 Register now
: https://www.socialpeta.com/webinars/cultivating-success-exploring-the-opportunities-and-challenges-in-hybrid-casual-games

🎙 Meet Our experts:

Ms. Renata Ravilova - PR and Community at UGC Ninja
Mr. Tunahan Oduncu - Business Development Manager at SocialPeta
Ms. Ganbayar Bayaraa - Senior Account Executive at Tenjin
Mr. Alex Kozachenko - CEO at HyperBeard
Mr. Türker Karahan - CEO at Udo Games

🔑 Key Discussion Points:

✨ Unlock tips to captivate players and skyrocket your user base.
✨ Reveal the secrets to the masterful publishing of hybrid-casual games.
✨ Explore the trends in hybrid-casual gaming, and what's sizzling in the market.
✨ Dive deep into the challenges in the era of AI takeover.
✨ Compare marketing strategies between hyper-casual games and hybrid-casual games.

Linkedin Event: https://www.linkedin.com/events/7126100370258362368/about/

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

OpenAI запускает создание собственных GPT и магазин для них

OpenAI объявил об открытии GPTs — способа, с помощью которого любой желающий может создать собственную версию популярной системы разговорного ИИ.

1. Компания представила GPTs — «пользовательские версии ChatGPT, которые можно создавать для конкретных целей». GPTs могут быть созданы без опыта программирования и могут быть сколь угодно простыми или сложными.

2. «Фактически вы можете запрограммировать GPT с помощью языка, просто разговаривая с ним», — говорит Альтман. «Легко настроить поведение, чтобы он делал то, что вы хотите — это делает создание новых моделей очень доступными и дает возможность управлять ими всем».

3. Местом публикации GPTs стал магазин GPT Store. Модель App Store оказалась невероятно прибыльной для Apple, поэтому нет ничего удивительного в том, что OpenAI пытается повторить ее с ИИ.

4. OpenAI собирается платить людям, создающим наиболее используемые и полезные GPTs, часть своих доходов. Как будет происходить отбор или выплаты пока непонятно, но на конференции уже продемонстрировали GPTs, созданные Code.org, TripAdvisor и Canva, так что, возможно, поначалу это будут скорее официальные приложения, а не эксперименты частных лиц с GPT.

И что: OpenAI явно хочет стать Apple новой ИИ-революции, создать платформу, независимую от существующих магазинов приложений и методов распространения. Как и в случае с App Store, первые разработчики очевидно получат все преимущества "дивного нового мира". Впрочем, даже если попасть в магазин пока не удастся, простое создание GPT на собственных данных - большой шаг вперед.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю:

(iOS Ru) Кнопки красить — это вам не деревья вертеть
(iOS En) New SwiftUI Photo Picker - Single & Multiple Selection
(iOS En) SwiftData CRUD Operations
(iOS En) How to solve nested Observable Objects issue
(iOS En) Swift Connection 2023 Videos
(iOS En) Cleaner, Safer Code with Swift KeyPaths
(iOS En) A Tour of Xcode Cloud
(iOS En) An Easier Dev Life with Kaleidoscope
(And Ru) Собеседование с Михаилом Левченко
(And Ru) Управление сложностью состояния
(And En) Now in Android: 94 - #TheAndroidShow, Jetpack Glance, Google Play policy updates, and more
(And En) AndroidX, Gradle and Metalava - Android Developers Backstage
(And En) When Should You Migrate to Jetpack Compose?
(And En) 3 Clean Code Hacks I Bet You Didn't Know
(And En) What's new in Kotlin 1.9.20
(And En) Making Threads for Android
(And En) Kotlin & Android Development Course: Build a Quiz Application
(Crs En) A Complete Guide on “Login with WhatsApp” in Flutter Apps (w/ backend)
(Dev Ru) Backend Driven… Аналитика!
(Dev Ru) Podlodka #341: рендеринг текста проклят

Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻‍💻

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

ComposeNumericRoller: анимация цифр на Compose
Как сделать тесты на Espresso более читабельными и стабильными
Kotlin 1.9.20 Released
The Android Backstage of Mercado Libre Warehouses
Hilt Version 1.1.0
mukuljangir372/best-practises-for-writing-testable-code-in-kotlin-31761481ffd0">Best Practises For Writing Testable Code In Kotlin

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Самые скачиваемые и зарабатывающие приложения в России в октябре 2023

Маркетплейс Wildberries обогнал Telegram и стал самым скачиваемым приложением в октябре в России. OZON вырос на 6 позиций и занимает 3 место. Пятерочка так же выросла на 6 позиций, а игра «Crostic-Кроссворд Пазлы Дня» сразу дебютировала на 7 месте.

Четыре первые места в топе самых зарабатывающих остались неизменными — ВКонтакте, Телеграм, Royal Match и PUBG. В «хвосте» меняются местами Roblox, игры Playrix и Литрес.

1. VK: social network, messenger
2. Telegram
3. Royal Match
4. PUBG MOBILE
5. Roblox
6. Tanks Blitz PVP битвы
7. Gardenscapes
8. Homescapes
9. Litres: Books and audiobooks
10. FaceApp: Perfect Face Editor

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Match (Tinder, Hinge, OKCupid, Match.com и другие) и Google заключили досудебное соглашение и теперь дейтинг-приложения первой компании смогут иметь альтернативные платежи даже распространяясь в магазине второй. На всех это по-прежнему не распространяется да и выгода очевидна для больших игроков, вроде Match. Google User Choice Billing позволит снизить комиссионные выплаты с 15% и 30% до 11% и 26% соответственно. То есть “налог Google” уменьшится на 4% (в Apple - на 3). В общем, ни шатко ни валко, но сторонние платежи внедряются. Как и прогнозировалось - для небольших разработчиков это абсолютно бессмысленно.

Разработка

10 уроков успеха от стартапов, созданных одним человеком
Вопросы с собеседований: чем MVVM отличается от MVP
Local AI Stack: создание локальных ИИ-приложений
Открыта регистрация на олимпиаду по программированию для школьников «Технокубок»
Poe от Quora запускает партнерскую программу для создателей чат-ботов
Apple M3 Pro медленнее в работе с памятью, чем M1/M2 Pro
Tech Interview Handbook

Маркетинг

Google и Match Group достигли мирового соглашения по антимонопольному делу о магазине приложений

Кроссплатформа

Как использовать нативный платежный сервис SberPay в кроссплатформенном приложении на Flutter
12 Image Tips and Best Practices for the Best UX Performance in Flutter
Networking in Kotlin Multiplatform Mobile Using Ktor
How to create a Flutter plugin step by step
Flutter: State Management with pure MVVM

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Поваренная книга SwiftUI: тени для представлений
Moya: сетевые абстракции для Swift
drewalth/server-side-swift-why-not-b04de4251f32">Server-side Swift? Why not?
omar.h.sebaa/builder-design-pattern-in-ios-73d23720ab76">Builder Design Pattern in iOS
omar.h.sebaa/singleton-pattern-in-ios-2bf6969ec6c7">Singleton Design Pattern in iOS
The Future of Accessing User Location in SwiftUI
The curious case of ShareLink with plain text strings
SwiftData CRUD Operations

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

FlorisBoard: открытая клавиатура для Android
Google опубликовал новые данные по распространению версий Android
A step-by-step tutorial in codelab format for Android UI testing
Kotlin 101: Unit Tests Cheat Sheet for Paging Library and Room Database
Finding the Right Balance in Gradle Dependency Strategy
Avoid Primitive Obsession in Kotlin with zero-cost abstractions
Simple and secure sign-in on Android with Credential Manager and passkeys
Making Threads for Android

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Google опубликовал новые данные по распространению версий Android

Вот как изменился % устройств (GMS Android) с 30 мая 2023 г., когда статистика была обновлена в последний раз.

• Android 13: 15% -> 22.4%
• Android 12: 16.3% -> 15.8%
• Android 11: 23.1% -> 21.6%
• Android 10: 17.8% -> 16.1%
• Android 9: 11.9% -> 10.5%
• Android 8.1: 6.1% -> 5.4%
• Android 8: 2.2% -> 1.9%
• Android 7.1: 1.5% -> 1.3%
• Android 7: 1.5% -> 1.3%
• Android 6: 2.3% -> 1.9%
• Android 5.1: 1.5% -> 1.2%
• Android 5: 0.3% -> 0.2%
• Android 4.4: 0.5% -> 0.4%

Доля Android 13 в общем числе устройств выросла с 15% до 22.4%. Второй по количеству установок версией ОС Android стал Android 11 - 21.6%, за ним следует Android 10 - 16.1%. Android 12 установлен на 15.8% всех устройств.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Вопросы с собеседований: для чего нужен Data class в Kotlin
Собеседование в Яндекс: платформа Android
По ту сторону EditText. Программная клавиатура в Android
Kodein в Android. Что за зверь и как его готовить
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
Twine: мультиплатформенный RSS-ридер на Kotlin и Compose
Что будет если команда, не видавшая Compose, решила делать новую сложную фичу на нём?
ActivityResult API и Compose
CatGPT - or How to Position Elements on Overlays
Building a Speedometer with Compose Canvas API
Harmonizing Modifiers in Jetpack Compose: A Tale of Flexibility and Usability
Material Design Components for Android 1.10.0
Regional Preferences in Android 14
cgaisl/beyond-mvvm-hierarchical-state-management-with-molecule-and-compose-660648eeb88e">Beyond MVVM: Hierarchical State Management with Molecule and Compose
How to create list sections with animated shapes

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Community Day Mobius 2023 Autumn 🔥

Осенний Mobius совсем скоро, и у вас еще есть возможность купить билет со скидкой по промокоду APPTRACTOR.

Но если вы не готовы купить билет на конференцию, то присоединяйтесь к бесплатному Community Day 2 ноября.

Этот день такой же насыщенный, как и другие дни конференции:
✔️ Доклады о UI/UX, трендах мобильной разработки, технологиях под капотом и не только.
✔️ Дискуссии со спикерами и участниками после докладов.
✔️ Чат с коллегами со всего мира.

➡️ Для участия достаточно зарегистрироваться — по 2 ноября включительно.

Увидимся на Community Day Mobius 2023 Autumn 💚

Реклама, ООО «Джуг Ру Груп», ИНН 7801341446, erid 2Ranym7fKvg

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю:

(iOS Ru) Автоматизация ревью ресурсных картинок в iOS
(iOS Ru) ChatGPT в мобильной разработке: как использовать, чтобы получить пользу
(iOS Ru) Реальное iOS собеседование в Яндекс
(iOS En) Mastering TipKit in iOS 17
(iOS En) SwiftUI: Building Notes App + SwiftData + CRUD
(iOS En) Build a Twitch-Like Live Streaming App With SwiftUI
(iOS En) Resizable Custom Tab Bar for macOS
(iOS En) Lock SwiftUI View With Biometric/Custom Number Lock - Local Authentication
(And Ru) Собеседование в Яндекс: платформа Android
(And Ru) Kodein в Android. Что за зверь и как его готовить
(And Ru) Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
(And En) #TheAndroidShow: faster and easier to build excellent apps, across devices!
(And En) Play PolicyBytes
(And En) 95% Don't Understand THIS About Coroutines (Main-Safety)
(And En) Which Compile Options Should You Choose? (Java & Kotlin Version)
(Crs En) Building a Spotify Music Player with Real-Time Lyrics using Flutter
(Dev Ru) Avito Platform engineering meetup #2
(Dev Ru) Ozon Tech Community ML&DS Meetup
(Tst Ru) Полный курс по QA. Как правильно писать тесты?
(Tst Ru) Как изменились подходы к автоматизированному тестированию в Тинькофф
(Tst En) Beginner Guide to Mutation Testing in Kotlin

Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻‍💻

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

BeepBeep: платформа доставки еды и заказа такси на Kotlin
How to show a PDF with Jetpack Compose
Creating an iPhone-Like Glassy Blur Effect with Jetpack Compose on Android
domen.lanisnik/screenshot-testing-with-compose-9a84bd28b6fb">Screenshot Testing with Compose
Kotlin Type Aliases: Enhancing Code Clarity
meetjanani47/mvi-architecture-implementation-with-kotlin-flow-android-ae094fa83bff">MVI architecture implementation with Kotlin Flow, Android
taimur149/from-stetho-to-flipper-logging-network-calls-with-facebooks-flipper-sdk-in-android-afac86cfe7bc">From Stetho to Flipper: Logging Network Calls with Facebook’s Flipper SDK in Android

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Еще OpenAI анонсировала новый Assistants API, который она характеризует как шаг к тому, чтобы помочь разработчикам создавать в своих приложениях «агентоподобный опыт». Варианты использования могут быть самыми разнообразными: от приложения для анализа данных на естественном языке до помощника по программированию или даже планировщика отпусков на базе ИИ. В основе нового Assistants API лежит Code Interpreter — инструмент OpenAI, позволяющий писать и выполнять код на языке Python в изолированной среде исполнения. Assistants API также может подключать компонент поиска, который дополняет созданных разработчиками ассистентов знаниями из внешних источников, например, информацией о продукте или документами, предоставленными сотрудниками компании. Кроме того, поддерживается вызов функций, что позволяет ассистентам вызывать функции программирования, заданные разработчиком, и включать ответы в свои сообщения. Assistants API находится в стадии бета-версии и доступен для всех разработчиков с сегодняшнего дня.

Разработка

Assistants API от OpenAI помогает создавать собственных агентов
OpenAI запускает создание собственных GPT и магазин для них
$5 млн в посевном раунде: Factory — автоматизация жизненного цикла разработки с помощью ИИ
Backend Driven… Аналитика!
Podlodka #341: рендеринг текста проклят
Real-Time Analytics for Mobile App Crashes using Apache Pinot
The Architecture Behind A One-Person Tech Startup
How We Reduced our Google Cloud Bills by 50 Percent

Маркетинг

Flavrs с помощью ИИ хочет стать главной платформой для едоков во всем мире
How to Boost Any Mobile Screen Usage with this simple analytics trick

Кроссплатформа

Skip: транспилятор Swift/SwiftUI в Kotlin/Compose
Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1
Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt
flutterdynasty/advanced-dart-in-flutter-elevating-your-development-skills-1c8ec309266f">Advanced Dart in Flutter: Elevating Your Development Skills
How to Test Native Features in Flutter Apps with Patrol and Codemagic
Why Kotlin Multiplatform Won’t Succeed

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Кнопки красить — это вам не деревья вертеть
Вопросы с собеседований: что такое reference типы в Swift
Tabman: мощный Page View Controller
Creating your first app shortcut
Understanding Text Case And Capitalization In SwiftUI
iOS App Modularization: Strategies for Large-Scale Applications and Dependency Management
Custom Traits and SwiftUI
Calculating a Smooth Clock Hands Animation
Distributing Work Between Actors
Programmatic Navigation with SwiftUI
Structure Oriented Programming VS Protocol Oriented Programming in Swift

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Приходите на Yet Another Mobile Party!

Yet Another Mobile Party (YAMP) пятичасовой стрим Яндекса, на котором мобильные разработчики и тимлиды обсуждают новости, актуальные вопросы в индустрии и карьеру. Всё обсуждение пройдёт в формате живого разговора — поэтому будет много импровизации, шуток и откровенных мыслей.

В этот раз на YAMP обсудим, зачем нужна ОС «Аврора», как бороться с уязвимостью приложений, что сложного в разработке под нестандартные устройства, как формировать хорошие команды и выходить в опенсорс. Наши разработчики будут общаться с чатом — так что готовьте интересные вопросы.

📎 Стрим начнётся 18 ноября в 12:00 мск YandexforMobile">на YouTube-канале Yandex for Mobile. Ссылку выложим в телеграм-канале Yandex for Mobile — подписывайтесь, чтобы ничего не потерять.

Почитать про участников марафона (которых, к слову, очень много — и они классные!), посмотреть программу и зарегистрироваться можно тут.

✔️ Бронируйте субботу и готовьте вопросы — встретимся на стриме!

Реклама. ООО "Яндекс". erid: 2VtzquY8awq

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Команда, не видавшая задач

Нерабочий понедельник - самое время обозреть, что же там понаписали за прошлую неделю. Вот и новый еженедельный дайджест - 132 статьи и новости. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была ссылка на новый ИИ-поисковик и напарника по программированию Phind - интересный инструмент, который (вполне возможно) вам сильно пригодится.

💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Не моргу не сослаться на прекрасные страшилки, которые опубликовали на Хабре:

Белые тапочки

Один разработчик решил купить себе на работу тапочки, чтобы не потеть весь день в ботинках. «Сынок, только не покупай белые тапочки!» — попросила его мама.

Но разработчик не послушался и купил белые тапки. Принес их на работу и стал носить.

Вечером убрал он тапочки под стол и ушёл домой. Утром приходит — а тапочки на его стуле стоят! Надел разработчик тапочки на ноги, открыл ноутбук, а в коде куча ошибок. «Странно» — подумал он, сел и стал работать в тапочках дальше. А на следующее утро ситуация повторилась: тапочки стоят на стуле, в коде куча ошибок. Но опять разработчик надел тапки и стал работать.

На третий день опять тапки на стуле были. Не выдержал разработчик и выкинул тапки.

На следующее утро приходит он пораньше и видит, что в офисе уборщица пол моет и всё с пола на стулья ставит.

Выдохнул разработчик с облегчением, сел на свое место, открыл ноутбук. А в коде всё равно куча ошибок 😱

Разработка

Чёрная рука, красные глаза и другие страшилки
Sheet, dialog, or snackbar — what should a designer go for?
Redesigning Swiggy’s new user onboarding — A product design case study
How Discord Stores Trillions of Messages — Curious Case of System Design
The Worst Code I Ever Wrote, And Why I’m Still Happy About It

Маркетинг

Click, Download, Play! Как использовать геймплей в создании перформящих креативов: часть первая
Самые скачиваемые и зарабатывающие приложения в России в октябре 2023
3Q23 Mobile Ad Network Trends

Кроссплатформа

Kotlin Multiplatform стал стабильным
KMP перешёл в stable. Что это значит?
Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN?
Kotlin Multiplatform by Tutorials
yasir.ameen/ahead-of-the-curve-rubikkubes-kotlin-multiplatform-journey-bc1099cfa376">Ahead of the Curve: Rubikkube’s Kotlin Multiplatform Journey
A Complete Guide on "Login with WhatsApp" in Flutter Apps (w/ backend)

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

touchHLE: высокоуровневый эмулятор iPhone OS
Как создать интерактивные виджеты на iOS 17
Modular Navigation in SwiftUI: A Comprehensive Guide
Using Real-World Analogies to Demystify Creational Design Patterns in Swift
How to Observe Data Changes in SwiftData Using Persistent History Tracking
Mastering iOS Debugging with User Defaults

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Kotlin Multiplatform стал стабильным

Kotlin Multiplatform получил статус Stable и теперь на 100% готов к использованию в проде, заявляет JetBrains.

1. Благодаря тому, что KMP широко используется в производстве с момента выхода Alpha-версии, компания JetBrains смогла собрать большое количество отзывов и доработать технологию, чтобы обеспечить лучшие возможности мультиплатформенной разработки в Stable-версии.

2. С момента выхода бета-версии количество библиотек KMP увеличилось в несколько раз, предлагая разнообразные инструменты для работы с сетями, хранения данных, арифметики, аналитики и т.д., обеспечивая быструю и уверенную разработку приложений.

3. Команда Android в Google продолжает поддерживать пользователей KMP, предоставляя экспериментальные мультиплатформенные версии библиотек Jetpack, и уже обеспечила совместимость библиотек Collections, DataStore, Annotations и Paging с Kotlin Multiplatform.

4. Compose Multiplatform для Android и настольных систем (JVM) уже стабилен, поддержка iOS находится в стадии Alpha, а поддержка web (Wasm) - в стадии Experimental.

И что: мечта об одном коде для всех платформ все ближе :)

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Байт-код — это просто! Как сделать DI по-настоящему быстрым
В помощь тем, кто погружается в Smali
How to Use Render Effects in Jetpack Compose for Stunning Visuals
Kotlin Coroutines vs Threads Memory Benchmark
The Syntax Chronicles: Implementing Google Sheets API in your Android app

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Вчера Apple представила новые процессоры M3 и заодно MacBook Pro и iMac с ними. Быстродействие почему-то сравнивают с M1, но в целом упор сделан на GPU - в них завезли трассировку лучей, сеточные шейдеры и тому подобные вещи. То есть упорно хотят сделать из Mac игровую платформу. При том, что самый дешевый MacBook с “обычным” M3 будет стоить $1599 (а максимум - что-то в районе $8K), затея, прямо скажем, не очевидная.

Разработка

Apple представила процессоры серии M3
Делаем многократно используемые компоненты не делая их многократно используемыми
Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти
6 Software Engineering Templates I Wish I Had Sooner
Advice to a novice programmer
10 Mobile App Projects to Elevate Your Skills to Senior Developer Level

Маркетинг

The creative testing blueprint: Strategies for high-impact ad campaigns
Mastering search engine optimization for your mobile app

Кроссплатформа

Flutter и работа с нативным кодом на примере библиотеки для работы с NFC
State Management With Provider
akhmat-s/flutter-integration-testing-and-ci-cd-593a0656fb74">Flutter Integration Testing and CI/CD
nitheeshag/building-a-compose-multiplatform-app-with-an-architectural-pattern-e31a85e82927">Building a Compose Multiplatform app with an Architectural pattern
Exploring Flutter’s new Sliver API: A Comprehensive Guide

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Подходы к верстке в UIKit
How to get a SwiftData model container and context in SwiftUI
Packaging Libraries in iOS: A Comprehensive Guide v2
Seamless Flow: Streamlining iOS Projects with CI/CD Tools and Tactics
How to setup your Xcode project for testing with Unit and UI Tests in 4 simple steps
SwiftUI: Introducing MVI How to Easily Implement MVI in SwiftUI
How to solve nested Observable Objects issue

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Опубликовал второе интервью с Максимом Сидоровым - на этот раз про то, как проводятся собеседования в SberDevices. Получился прямо гайд - и не только о том, как разработчикам готовиться к интервью, но и как компаниям (собеседователям) к нему готовится. В общем, очень рекомендую.

Разработка

Как устроены собеседования в SberDevices — Максим Сидоров
Как изменились подходы к автоматизированному тестированию в Тинькофф
ChatGPT в мобильной разработке: как использовать, чтобы получить пользу
Avito Platform engineering meetup #2
Ozon Tech Community ML&DS Meetup
Полный курс по QA. Как правильно писать тесты?
Fixing the Volume on my Bluetooth Earbuds
Use Abstraction to Improve Function Readability
The most valuable trait of top software engineers

Маркетинг

Luminar Neo упрощает использование ИИ в обработке фотографий
Unity's Runtime Fee debacle caused 15% of its US advertisers to jump ship

Кроссплатформа

Writing Swift-Friendly Kotlin Multiplatform APIs
Embrace Functional Programming with /Dart 3.1/
Build SwiftUI apps for iOS and Android with Skip

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Все видео Swift Connection 2023
Aidoku: открытый ридер манги для iOS
Автоматизация ревью ресурсных картинок в iOS
Реальное iOS собеседование в Яндекс
Show Callers in Xcode 15
Automerge for Swift
Combine charts to create stunning designs with Swift Charts
illescasDaniel/hacking-ios-alerts-with-swift-61aefce9736a">Hacking iOS Alerts in Swift
Deliver reusable components without making them reusable
SwiftUI Tutorial: Keyframe Animations for iOS 17

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Автоматизация воспоминаний про Android

Воскресенье - самое время обозреть, что же там понаписали за неделю. Вот и новый еженедельный дайджест - 124 лучшие новости и статьи. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была ссылка на статью "Пример системного дизайна: как GitHub индексирует код для молниеносного поиска и извлечения информации" - про поиска кода, самый большой кластер GitHub, состоящий из 5184 виртуальных процессоров, 40 ТБ оперативной памяти и 1.25 ПБ резервного хранилища, поддерживающий в среднем 200 запросов в секунду и индексирующий более 53 млрд исходных файлов.

💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Вчера было про тренд идентичности, а сегодня вот еще новый подъехал - на приложения для людей “в возрасте” ака пожилых. Wyzr Friends - это как Bumble Friends, только для 40+. В нем есть поиск друзей по интересам, планирование встреч и даже карпулинг (на что, почему-то, особенно упирают создатели). Wyzr Friends далеко не первые в этой области и пока у них всего 400 пользователей. Вряд ли будет сильно больше, но сам тренд, как и в случае мгновенных фото, занятный. Добавил его в генератор идей для приложений :)

Разработка

$30.5 млн в посевном раунде: CentML — оптимизация обучения и работы ИИ-моделей
Что такое Идемпотентность
Where are all the laid-off software developers going?
UK games jobs vacancies reaches three-year low

Маркетинг

Wyzr Friends — приложение поиска друзей для взрослых
India Festive Report 2023

Кроссплатформа

Flutter Yandex Mapkit: как внедрить основные инструменты Яндекс Карт в проект на Flutter. Часть 2
The Flutter Forest — Demystifying Flutter trees
mohammadjoumani/error-handling-in-flutter-a1dfe81a2e0">Mastering Error Handling in Flutter with Dio

Читать полностью…
Subscribe to a channel