Mobile Development by AppTractor
11K subscribers
1.87K photos
38 videos
11 files
4.66K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Google меняет политики Android в Индии

В соответствии с требованиями местного регулятора:

1. OEM-производителям можно будет устанавливать только некоторые приложения Google, а пользователи смогут удалять их.

2. Пользователи смогут выбирать поисковую систему при настройке устройства.

3. Можно будет создавать свои несовместимые форки ОС.

4. Оплата по выбору пользователя в Google Play будет доступна для всех приложений и игр, начиная со следующего месяца.

5. Упрощает установка приложений и магазинов приложений из сторонних источников.

И что: сторонний биллинг и все прочее видимо скоро появится и на всех остальных рынках. Можно потренироваться на Индии с ее полумиллиардами пользователей.
🤯5👍3
Forwarded from addmeto (Grigory Bakunov)
Новость вчерашняя, но я вежливый и не стал писать, пока все не стало публичным. В общем, кто-то очень недобрый выложил в открытый доступ полное дерево исходных текстов всех сервисов из репозиториия Яндекса. Там и поиск, и Алиса, и даже Такси есть (по ссылке обзор контента).

Важно понимать: по сути это довольно бесполезно, подходит для изучения кода, но запустить из этого свой яндекс не выйдет. Во-первых, попробуйте хоть что-то оттуда собрать, это очень неочевидно и часто требует внутренней инфраструктуры Яндекса. Во-вторых, для ИИ-проектов нет самого главного — натренированных весов, т.е. модель, которая у вас получится после сборки, просто не обучена. Датасета для обучения тоже нет.

Это безусловно не взлом, а слив кого-то из сотрудников. И код не свежий, это срез репозитория на символическую дату 24 февраля прошлого года.

Тем не менее, 40+ гигабайт сорцов — прецедент серьезный и явно политический. И даже не спросишь «а что случилось».

https://arseniyshestakov.com/2023/01/26/yandex-services-source-code-leak/
🤡13👍3😱3😁2🔥1
На конференции Flutter Forward в Кении Google рассказал о будущем платформы. В отличие от закатывающегося React Native, планы на Flutter большие. Сейчас вступает в строй новый “гладкий и шелковистый” рантайм для рендеринга Impeller, в новых версиях Google улучшит “встраиваемость” фреймворка (будет проще использовать в приложении на другом языке), упростится работа с системными API, все будет компилится в WebAssembly, будет поддерживаться RISC-V и пр. В общем, Flutter, кажется, все больше становится реальной альтернативой и скоро будет способен вменяемо работать на “всех поверхностях”.

Разработка

Будущее платформы на Flutter Forward: новая графика, WebAssembly и RISC-V
20 советов для разработчиков игр от разработчиков игр
How to reduce the bloated testing process
TARS: A product metric game changer

iOS

SwiftUI Navigation: упрощение навигации в SwiftUI
ChatGPT in an iOS Shortcut — Worlds Smartest HomeKit Voice Assistant
Multi-select Filter in Swift
Prevent copy & paste into other iOS apps
Increase App Performance (Method Dispatch iOS)
Store an Array of Custom Data Types in Core Data With Transformable and NSSecureCoding
Big O notation in Swift

Android

Android 14 будет блокировать устаревшие приложения
Делаем Android-приложение Airbnb более доступным
Google меняет политики Android в Индии
5 Beginner Testing Mistakes
JWT Authentication and Refresh Token in Android with Retrofit Interceptor & Authenticator
Behavior Driven Mobile Testing
How to Make the Firebase Database SDK Work Better With Kotlin

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

Flutter 3.7 — Что нового во Flutter
Создание WEBGL приложения Вконтакте на Unity
Dart — What I Learned From (Re)Learning It
Adapting Wonderous for Landscape
👍8🔥4
Новый большой еженедельный дайджест - 105 материалов за неделю. Прочитайте, обсудите, поставьте, поделитесь, подпишитесь и все такое прочее. Моя благодарность вашей оценке не будет знать никаких границ 😀
10👍1
На прошлой неделе писал про "закат" React Native, сейчас в AppFigures в целом исследовали популярность кроссплатформенных фреймворков.

1. Количество приложений на двух платформах - на графике. На данный момент самым популярным ненативным фреймворком является Unity.

2. Удивительно, но веб-обертки занимают два места из пяти - Cordova и Ionic поверх нее.

3. Релизы по годам - на графике.

5. Видно, что веб-приложениям все-таки пришел конец, у них самое большое падение.

6. Flutter стал мейнстримом в еще в 2021 и у него самое маленькое падение в 2022.

7. Связано ли падение React Native с Flutter? Отчасти, однако, скорее всего, большая его часть обусловлена именно общей ситуацией на рынке - упрощением нативной разработки и соответствующим отходом от кроссплатформы.
👍4😁2
Используете сейчас какой-либо кроссплатформенный фреймворк?
Anonymous Poll
5%
Unity
1%
Cordova
7%
React Native
27%
Flutter
1%
Ionic
5%
Другой
23%
Не работаю
31%
Смотрю за опросом
Забавные новости из мира открытых лицензий. Оказывается, что правила Dungeons & Dragons а) кому-то принадлежали; б) теперь они стали Creative Commons. Если серьезно, с 2000 года существовала лицензия, которая позволяла сторонним создателям использовать игровую систему для продажи своих собственных книг заклинаний, модулей, виртуальных столов. И вот несколько недель назад Wizards of the Coast решила всех перевести на новую лицензию, которая бы сделал невозможной их работу. Пользователи и создатели малость офигели и намекнули WoTC, что они не правы. Удивительно, но владельцы признали, что сильно накосячили и сейчас талмуд правил в 403 страницы открыли по Creative Commons. Не уверен, что всем эти знания пригодятся, но добро победило. И можно (наверное) сделать что-нибудь в мире Dungeons & Dragons.

Разработка

Правила Dungeons & Dragons опубликованы в Creative Commons
Уязвимости Galaxy Store дают возможность установки любых приложений
55 млн установок за 3 года: бизнес на мобильных приложениях в нише фото/видео редакторов
Как стать разработчиком мобильных приложений: Профориентация
Podlodka #304: .NET, часть 2
У GitHub 100 миллионов активных пользователей
Should There Be a Developer Mental Health Day?
Maintainable No-Code UI Automation for Mobile with Maestro Studio

iOS

Поиск callback-ов кнопок в рантайме iOS
Native iOS Touch Events w/ Rust
SwiftUI — Using Frames To Align
Use Core ML To Build a Minority Report-Inspired User Interface in iOS
A Scalable Alternative to Switch-case: Abstract Factory in Swift
Infinite Scrolling Using SwiftUI and View Model (MVVM)

Android

WhatIf: синтаксический сахар Kotlin
Jetpack Compose Codelabs: практическое обучение Compose
Креативный кодинг с Kotlin и Compose
Библиотека Room для начинающего Android-разработчика
RuStore: разработка магазина приложений
What should you expect when migrating your Android project to Kotlin 1.7.0?
Kotlin Sealed Interfaces with KotlinX Serialization JSON
Operator overloading in Kotlin
Is the New Gradle Version Catalog Worth It for Your Android Projects?

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

Самые популярные кроссплатформенные фреймворки
Использование шейдеров во Flutter. Часть 1
Why follow “Clean Architecture” in Flutter?
Why You Should Use BLoC As Your State Management for Your Flutter App
👍72👌1
Если вам, как и мне, всегда казалось, что с концепцией MVP и “бережливого стартапа” что-то не так, то вот в статье рассказывают по пунктам что-же именно (моя любимая цитата - "для меня самое сложное в идее минимально жизнеспособного продукта заключается в том, что вы не знаете, что такое минимум, и вы не знаете, что такое жизнеспособный"). Стоит учесть, что автор “продает” свою методологию “осознанного стартапа”, но в целом его идеи и предлагаемые альтернативы кажутся очень здравыми. Так что если вы разрабатываете собственные продукты - посмотрите, может будет полезно.

Разработка

4 главные проблемы с методологией Бережливого стартапа
VK открывает набор на бесплатные курсы по ручному тестированию и углубленному Python
Приложение Rewind позволяет «путешествовать во времени» с помощью музыки
Складной iPad может появится в следующем году
Как устроена бесшовная авторизация в онлайн-кинотеатре
Что делать, если в начале спринта у тестировщика нет задач?
Оптимизация тестов для Continuous Integration
Victa — беговое приложение и шагомер для любителей игр и аниме
Five stars code reviews

iOS

Loop for iOS: шаблон приложения для приема инсулина
Recreating Apple Wallet Payment Ring with SwiftUI
Reusable Components for Scalable Projects with UIKit Programmatically Swift 5
Lazy NavigationLink for SwiftUI
Annotation Injection with compile-time safety in Swift
Mastering charts in SwiftUI. Custom Marks.

Android

Make your Android app a share target. Receive simple data from other applications with Hilt and Compose
Picture-in-picture (PiP) mode in Android
Protecting Project Integrity
Leveraging the Snapshot Mutation Policies of Jetpack Compose

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

12 методик, которые помогут создавать приложения на Flutter легко и просто
8 Flutter Widgets Every App Should Contain
Introducing Dart 3 alpha
KMP: A Use Case For Common UI Behavior
TensorFlow Lite Tutorial for Flutter: Image Classification
👍72🔥1🤡1
Трендинговые репозитории GitHub за январь для языка Swift:

1. IceCubesApp - клиент Mastodon на SwiftUI (+1411)
2. CodeEdit - открытый редактор кода для macOS (+805)
3. MochiDiffusion - Stable Diffusion на Mac (+439)
4. Swift Composable Architecture - целостная и понятная архитектура для создания приложений с учетом композиции, тестирования и эргономики (+310)
5. Swift CoreML Diffusers - приложение, демонстрирующее Stable Diffusion в Core ML (+268)
6. AltStore - альтернативный магазин приложений (+197)
7. Alamofire - HTTP-клиент (+184)
8. Clean Architecture SwiftUI - пример приложения на основе чистой архитектуры (+162)
9. Damus - клиент для социальной сети nostr (+143)
10. NetNewsWire - RSS ридер (+123)
11. Swift Async Algorithms - фирменные алгоритмы Apple (+113)
12. SwiftUI Navigation - простая навигация для SwiftUI (+110)
13. SwiftFormat - инструменты форматирование Swift-кода (+87)
14. SQLite.swift - обертка для SQLite3 (+86)
15. Sileo - менеджер пакетов (+79)
16. Nuke - загрузка изображений (+79)
17. TrollTools и TrollBox - кастомизация iOS (+76)
18. GRDB.swift - инструменты для работы с SQLite (+68)
19. DeviceKit - value-type замена для UIDevice (+64)
20. Swift Snapshot Testing - тестирование снепшотов (+48)
21. Moya - абстракция сетевого уровня (+46)
22. KeychainAccess - обертка для Keychain (+41)
23. Facebook* iOS SDK - SDK запрещенной сети (+34)
24. Stripe iOS - SDK платежной системы (+22)
👍4
Трендинговые репозитории GitHub за январь для языка Kotlin:

1. v2rayNG - клиент V2Ray для Android (+717)
2. ViMusic - стриминг музыки с YouTube Music (+709)
3. Now In Android - лучшие практики Android-разработки в новостном приложении Google (+671)
4. Tachiyomi - открытый ридер манга для Android (+539)
5. ChatGPT Android - чат с ИИ с использованием Stream Chat SDK для Compose (+442)
6. Сloudstream - стриминг и скачивание кино, сериалов и аниме (+410)
7. Seal -скачивание видео/аудио с YouTube (+385)
8. bv - приложение Android TV для Bilibili (+340)
9. Saikou - клиент Anilist с аниме и манга (+302)
10. BiliRoaming - клиент Bilibili с фишками и перками (+300)
11. Maestro - автоматизация тестирования UI (+258)
12. Matsuri - V2Ray/proxy toolchain для Android (+251)
13. Android Developer Roadmap - план развития Android-разработчика (+241)
14. Сompose JB - Compose Multiplatform от JetBrains (+232)
15. Balloon - всплывающие подсказки (+188)
16. Unciv - открытая «Цивилизация» (+186)
17. Ivy Wallet - приложение для управления деньгами с открытым исходным кодом (+163)
18. Anki Android - карточки для запоминания и повторения (+143)
19. Uhabits - открытое приложение для формирования привычек (+139)
20. Komga - медиасервер для комиксов и манга (+139)
21. Fenix - Firefox для Android (+116)
22. Sunflower - лучшие практики Android-разработки в приложении о растениях (+113)
23. Ktlint - линтер для Kotlin (+64)
24. TV bro - браузер, оптимизированный для ТВ (+55)
25. Purpur - сервер для Minecraft (+46)
👍3🔥2
Рыба потратила деньги владельца, играя в покемонов на Nintendo Switch

Положительно, в этой новости прекрасно все:

1. Японский ютубер создал специальную настройку, позволяющую его любимой рыбе играть в покемонов на его Nintendo Switch.

2. Бойцовая рыбка управляет игрой, плавая в разных частях своего аквариума, которые оснащены датчиками, а все это транслируется в прямом эфире на YouTube.

3. Во время игр сбой привел к тому, что Nintendo Switch вывалилась на домашний экран.

4. После этого движение рыбы привело к открытию Nintendo eShop, и домашнее животное потратило 4 доллара из денег своего владельца на покупку очков. Рыбе также удалось загрузить приложение для игр Nintendo 64, потратить виртуальную валюту на новый аватар, запросить электронное письмо с подтверждением от PayPal и изменить имя учетной записи.

5. Наконец, рыбка смогла выключить консоль Switch до того, как человек понял, что происходит.

И что: ИИ, ChatGPT... Вот к рыбам бы присмотреться 🐟
😁22👍1
Привет, это команда Тинькофф 💡

Наше большое комьюнити мобильных разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов. Мы экспериментируем и ищем новые решения. Приглашаем в команду mobile-разработчиков с опытом от трех лет!

Работать с нами значит:

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

А еще мы всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируем компании: от расширенного ДМС и юридической помощи до питания и разных активностей.

Откликнуться и узнать подробнее о команде mobile-разработчиков Тинькофф: https://l.tinkoff.ru/mobile.stream
🤡22🙈4👍3
Кажется, что User Choice Billing в Google Play за почти год наконец добрался до “прода”. Spotify в рамках тестирования с ноября уже развернул сторонний биллинг в 140+ странах, то есть практически на всех основных рынках. Когда его дадут всем разработчикам не совсем понятно, но видимо совсем скоро, так что можно уже готовится. У Google есть специальные рекомендации по UX сторонней оплаты, если планируете - надо ознакомиться

Разработка

Spotify внедрил сторонний биллинг на 140+ рынках
Основатели Instagram готовят приложение для чтения новостей
Зарплаты IT-специалистов в России сократились
В RuStore появились Сбер ID и оплата по SberPay
Рыба потратила деньги владельца, играя в покемонов на Nintendo Switch
Как определить размер выборки для бутстрэпа старым дедовским способом
Use Pocketbase — Open Source Backend
Automate Changelog Generation with GitLab
Developer-first open-source Zapier alternative

iOS

Лучшие репозитории Swift на GitHub за январь 2022
Quickly find retain cycles in your app with this one trick
The Coordinator Pattern: A Simple, Scalable Solution for iOS App Navigation
iOS Developer Interview: Questions and Tasks
How We Reduced Our iOS App Launch Time by 60%
Swift IOS Interview Questions And Answers
Mastering Error Handling in SwiftUI: A Guide to Presenting Errors

Android

Лучшее репозитории Kotlin на GitHub за январь 2022
Data Objects in Kotlin
Jetpack Compose clear back stack, popUpTo/popBackStack inclusive explained
Principles & Practice in Repository Layer
Stampeding Elephants

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

A pragmatic guide to BuildContext in Flutter
Как мы сократили время запуска нашего iOS-приложения на 60%

Время запуска приложения является важным показателем для пользователей, поскольку это их первое взаимодействие с приложением, и даже незначительные улучшения могут иметь значительное влияние на пользовательский опыт. Первые впечатления являются важным фактором конверсии потребителей, а время запуска часто указывает на общее качество приложения. Кроме того, как показывают исследования, увеличение задержки равнозначно снижению продаж.

В DoorDash мы очень серьезно относимся к скорости запуска приложений. Мы одержимы оптимизацией опыта наших клиентов и постоянными улучшениями. В этой статье мы рассмотрим три отдельные оптимизации, которые сократили время, необходимое для запуска нашего iOS-приложения, на 60%.

1. Изменили String(describing:) на ObjectIdentifier()
2. Прекратили преобразовывать ненужные объекты в AnyHashable
3. Проверили инициализации сторонних фреймворков

Статья: https://apptractor.ru/drdsh60
Платформа: iOS
😁8🔥2
Сегодня выплата денег из App Store, проверьте банковский счет 💶 Должны прийти все деньги за декабрь 2022. Если сравнить с декабрем прошлого года - как ваши успехи?

Разработка

Supercell представила новую игру Squad Busters
Our Company Fired the Best Developer and Project Manager
I Made $1000 From a Mobile Game I Designed in One Day, Without Coding
Neglecting Legacy Code? It’s a Potential Gold Mine of Learning

iOS

Как мы сократили время запуска нашего iOS-приложения на 60%
SyncKit: синхронизация Core Data или Realm
Соотношение сторон и масштабирование изображений в Image компоненте
Code a Snake Game With Button Controls Using SwiftUI
NSURLSession connection leak
Parsing in Swift: a DTO-based Approach

Android

Как настроить Gitlab CI/CD для Android и Firebase App Distribution для доставки сборок
Как мы проблемы UI в виджетах решали
5 Android Studio features you don’t want to miss
How We Kept Our App On a Diet
Jetpack Compose Tutorial: Replicating Dribbble Audio

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

12 методик, которые помогут создавать приложения на Flutter легко и просто
How it’s made: Holobooth
🔥2
Несущиеся слоны: опыт Square в улучшении системы сборки для Android

Это не техническое глубокое погружение. Наоборот, это высокоуровневый обзор того, что мы сделали, почему мы это сделали, что мы получили в результате усилий и почему мы считаем, что наш подход можно обобщить.

• Покажите мне данные
• Путешествие начинается
• Шардинг CI: особое примечание
• Серебряные пули
• Постепенные улучшения, накопление выгоды
buildSrc мертв. Да здравствует build-logic!
Будьте ленивыми
Удалите скрипты
Устраните межпроектную конфигурацию
Тестируйте свою сборку
Используйте кэш конфигурации
• Путешествие продолжается
• Шаблоны решений: серебряные пули и постепенная выгода

Статья: https://apptractor.ru/sqgrdl
Платформа: Android
6👨‍💻1
Новый большой еженедельный дайджест - 97 материалов за неделю. Прочитайте, обсудите, поставьте 👍, поделитесь, подпишитесь и все такое прочее, буду благодарен 😀
7👍2