Видео за неделю
• (iOS Ру)
Все о Combine за 45 мин с примерами кода
• (iOS En)
SwiftUI Dynamic Tab Indicators
• (iOS En)
watchOS: Complications
• (iOS En)
Swift 5.8: what will be the new features?
• (And Ru)
Автоматизации и инфраструктура вместо рутины и бойлерплейта
• (And Ru)
Как стать разработчиком в Южной Корее — инсайдерский взгляд
• (And En)
From data to UI: Compose phases - MAD Skills
• (And En)
The BEST Way to Implement a Search In Jetpack Compose
• (And En)
Kotlin Flow for Android Development Crash Course
• (Crs Ru)
Flutter Dev Podcast #39: Flutter и PWA
• (Dev Ru)
Podlodka #306: observability и логирование
• (Dev En)
When To Properly Leave Jobs So Your Career Doesn’t Get Punished
Пользуясь тем, что про самое интересное уже рассказал днем, хочу напомнить, что скоро заканчивается новый опрос Developer Nation - ключевой опрос разработчиков. Пройти просто, можно выиграть призы, заодно внести вклад в общее понимание IT-мира.
Разработка
• Спрос на iOS и Android разработчиков в 2022 упал на 20%
• Вышла Developer Preview версия Android 14
• Godot 4: Getting Started
• Accessibility Handoff: a guide for product designers
iOS
• Animated Tab Bar: панель вкладок на SwiftUI
• greenSyntax/ssl-pinning-in-ios-f508b5860ead">SSL Pinning in iOS
• I Stopped Using Third-Party Frameworks For My Swift Projects. Here’s What Happened
• Conquer Data Races with Swift Actors
• How to write README file for the iOS project
• jamesthang1996/unleash-your-creativity-with-custom-shapes-in-swiftui-c3c260865667">Unleash Your Creativity with Custom Shapes in SwiftUI
Android
• Как защитить ваш Android APK и внедрить меры безопасности
• Какие параметры компьютера влияют на скорость сборки Gradle проекта
• yahyalmh/coroutines-cancellation-d844a8000f9f">Coroutines cancellation
• Branch by Abstraction in Android project
• Compose phases
• benlue/advanced-forms-in-android-with-compose-form-154ee0bff65b">Advanced forms in Android with Compose Form
• Kotlin Arrow KT Monad: A Beginner’s Guide
Кроссплатформа
• Flutter Shaders: An Introduction
• Control your Flutter app on the fly with Firebase Remote Config
Google выпустил первую Developer Preview версию Android 14
1. Главные особенности этого релиза:
- Работа на разных устройствах и форм-факторах
- Оптимизация фоновой работы
- Дальнейшая кастомизация UI и работа с языками (появится, например, возможность делать гендерно зависимые переводы, my ass!)
- Безопасность и защита данных
- Совместимость приложений (поддержка OpenJDK 17, упрощение тестирования и отладки изменений)
2. Бета-версия ОС появится весной, стабильная версия летом, а выпуск традиционно назначен на начало осени.
3. Developer Preview уже есть в эмуляторах и образ можно скачать на Pixel, начиная с 4.
❗️С какими проблемами можно столкнуться при локализации iOS-приложений и как их решать?
Приглашаем 16 февраля в 20:00 на бесплатный вебинар «Поддержка многоязычности в приложениях iOS» в OTUS.
📚На занятии вы узнаете:
— Как обстоят дела со стандартной локализацией строк в типовом проекте под iOS
— Какие проблемы встречаются при разработке и тестирования приложения
— Как эти проблемы решаются инструментами кодогенерации SwiftGen, R.swift
— Что такое плюрализм и как его использовать, чтобы перевод строк был менее топорным
— Как автоматизировать ревью строковых констант с помощью Localinter
— Какие есть способы и платформы для профессиональных переводов строк
В результате занятия мы запустим в XCode проект.
🔴 Регистрация на вебинар: https://otus.pw/Z8nK/
Занятие пройдет в рамках онлайн-курса «iOS Developer. Professional».
Как в Dropbox сделали загрузку с камеры в Android быстрее и надежнее
До недавнего времени загрузка с камеры была основана на библиотеке C++, совместно используемой приложениями для Android и iOS. В 2019 году мы решили, что переписать эту функцию — лучший способ обеспечить надежный и заслуживающий доверия пользовательский опыт на долгие годы. Реализации для Android и iOS стали отдельными, используют собственные языки платформы (Kotlin и Swift) и собственные библиотеки (такие как WorkManager и Room для Android).
В этой статье рассказывается о некоторых решениях по дизайну, проверке реализации и релизу, которые мы приняли при создании новой функции загрузки камеры для Android, которую мы выпустили для всех пользователей летом 2021 года. Проект был успешно запущен, без сбоев или серьезных проблем. Частота ошибок снизилась, а производительность загрузки значительно улучшилась.
Статья: https://apptractor.ru/drpbxphoto
Платформа: Android
Android и предустановленное ПО на Galaxy S23 занимает до 60 Гб
Galaxy S23, кажется, поставил новый рекорд по распространению Bliatware Bloatware. Пишут, что из коробки новый смартфон использует около 60 Гб для системы. Если у телефона хранилище 128 Гб, то это означает, что почти половина его занята под Android и встроенные приложения. Это в 4 раза больше размера обычного системного раздела Pixel 7 Pro в 15 Гб. Или размер сразу 2 стоящих рядом Windows 11.
1. Это своя оболочка Samsung для Android, которая совсем не славится малыми объемами.
2. Собственные приложения Samsung, копирующие Google.
3. Предустановленные приложения от Samsung, вроде Netflix, Microsoft Office, Spotify, Linkedin и прочего.
4. Предустановленные приложения от оператора.
5. Что совсем прикольно, смартфон со всем этим уже не может использовать A/B системные разделы, представленные в Android 7.0, с помощью которых можно обновлять ОС в фоновом режиме.
И что: не надо так 🙃 С другой стороны, надо же кому-то свою же память продавать?
Домашняя автоматизация становится мейнстримом
1. Лидер в лице Samsung SmartThings в прошлом году получил 12 миллионов установок, но есть и меньшие конкуренты, которые показывают невероятный рост.
2. Home Assistant — еще одна популярная платформа домашней автоматизации. У нее открытый исходный код, большое сообщество пользователей и разработчиков, интеграция с различными устройствами и платформами.
3. Home Assistant закончил 4 квартал 2022 год с примерно 156 тысячами загрузок, что является самым высоким показателем среди всех кварталов. По сравнению с первым кварталом 2020 года, ежеквартальные загрузки выросли на 122%.
4. В 2022 году Home Assistant скачали почти полмиллиона человек. Для решения с открытым исходным кодом, которое требует “небольшой доработки напильником”, это отличная новость.
И что: для отрасли в целом это, наверное, означает, что Интернет вещей наконец становится обыденностью. Подумайте, может ли ваш продукт встроиться в домашнюю автоматизацию?
Видео за неделю
• (iOS En)
What's new for enterprise developers
• (iOS En)
Discover Metal Performance HUD
• (iOS En)
Add SharePlay to your multiplayer game with Game Center
• (iOS En)
Migrate custom intents to App Intents
• (iOS En)
Implement Apple Pay and order management
• (iOS En)
Integrating voice and video calling into iOS apps with CallKit
• (iOS En)
Lottie 4 SwiftUI
• (And Ру)
Jetpack Compose Battle: онлайн-собеседования Senior разработчика
• (And En)
How to Create an Animated Counter Text with Jetpack Compose
• (And En)
The Full Guide to ANNOTATIONS In Kotlin
• (And En)
Introduction to Compose Layouts and Modifiers - MAD Skills
• (And En)
Fundamentals of Compose Layouts and Modifiers - MAD Skills
• (Dev Ру)
Podlodka #305: цвета и цветовые пространства
• (Tst Ру)
Ozon Tech Community A/B-testing Meetup
Посмотрели какое-то другое видео? Скиньте мне -> 🧑🏻💻
Сегодня выплата денег из 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
Кажется, что 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
• paulwall_21/quickly-find-retain-cycles-in-your-app-with-this-one-trick-4c3caf243091">Quickly find retain cycles in your app with this one trick
• The Coordinator Pattern: A Simple, Scalable Solution for iOS App Navigation
• yatimistark/ios-developer-interview-questions-and-tasks-1939b6f4f0e0">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
• domen.lanisnik/data-objects-in-kotlin-1a549bfad657">Data Objects in Kotlin
• banmarkovic/jetpack-compose-clear-back-stack-popbackstack-inclusive-explained-14ee73a29df5">Jetpack Compose clear back stack, popUpTo/popBackStack inclusive explained
• Principles & Practice in Repository Layer
• Stampeding Elephants
Кроссплатформа
• A pragmatic guide to BuildContext in Flutter
Рыба потратила деньги владельца, играя в покемонов на Nintendo Switch
Положительно, в этой новости прекрасно все:
1. Японский ютубер создал специальную настройку, позволяющую его любимой рыбе играть в покемонов на его Nintendo Switch.
2. Бойцовая рыбка управляет игрой, плавая в разных частях своего аквариума, которые оснащены датчиками, а все это транслируется в прямом эфире на YouTube.
3. Во время игр сбой привел к тому, что Nintendo Switch вывалилась на домашний экран.
4. После этого движение рыбы привело к открытию Nintendo eShop, и домашнее животное потратило 4 доллара из денег своего владельца на покупку очков. Рыбе также удалось загрузить приложение для игр Nintendo 64, потратить виртуальную валюту на новый аватар, запросить электронное письмо с подтверждением от PayPal и изменить имя учетной записи.
5. Наконец, рыбка смогла выключить консоль Switch до того, как человек понял, что происходит.
И что: ИИ, ChatGPT... Вот к рыбам бы присмотреться 🐟
Трендинговые репозитории 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)
Забавные новости из мира открытых лицензий. Оказывается, что правила 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
На прошлой неделе писал про "закат" React Native, сейчас в AppFigures в целом исследовали популярность кроссплатформенных фреймворков.
1. Количество приложений на двух платформах - на графике. На данный момент самым популярным ненативным фреймворком является Unity.
2. Удивительно, но веб-обертки занимают два места из пяти - Cordova и Ionic поверх нее.
3. Релизы по годам - на графике.
5. Видно, что веб-приложениям все-таки пришел конец, у них самое большое падение.
6. Flutter стал мейнстримом в еще в 2021 и у него самое маленькое падение в 2022.
7. Связано ли падение React Native с Flutter? Отчасти, однако, скорее всего, большая его часть обусловлена именно общей ситуацией на рынке - упрощением нативной разработки и соответствующим отходом от кроссплатформы.
Видео за неделю
• (iOS)
Do iOS 2022 Conference Videos
• (iOS)
Exploring the DoorDash app internal API
• (iOS)
SwiftUI Collapsible Header Menu
• (iOS)
How to easily test InApp Purchases in an iOS app
• (And)
RuStore: разработка магазина приложений
• (And)
How to Create an Animated Counter Text with Jetpack Compose
• (And)
How to EASILY Download Any File in Android With DownloadManager
• (Crs)
Flutter Forward Videos
• (Dev)
55 млн установок за 3 года: бизнес на мобильных приложениях в нише фото/видео редакторов
• (Dev)
Как стать разработчиком мобильных приложений: Профориентация
• (Dev)
Podlodka #304: .NET, часть 2
Добавить еще -> 🧑🏻💻
GitHub, принадлежащий Microsoft, сегодня объявил, что уволит 10% своих работников
1. Это примерно 300 из 3000 работающих в GitHub человек.
2. GitHub также продлит мораторий на найм новых сотрудников.
3. Для сокращения затрат GitHub переходит на Teams для удовлетворения своих запросов на видеоконференции.
4. Цикл обновления ноутбуков увеличен с 3 до 4 лет.
5. Глобальная цель - чтобы компания стала "developer-first инженерной системой для мира завтрашнего дня с особым вниманием к искусственному интеллекту".
В 2022 году в России упал спрос на разработчиков приложений под операционные системы iOS и Android
1. За 2022 год по данным hh.ru количество вакансий в РФ для iOS-разработчиков упало на 20%, до 15.6 тыс. В январе снижение составило уже 40%.
2. По данным «Хабр Карьеры», в январе количество вакансий под iOS-разработчиков уменьшилось на 19%.
3. За 2022 год по данным hh количество вакансий в РФ для Android-разработчиков упало на 19%, до 17.3 тыс., в январе — на 36%.
4. По данным «Хабр Карьеры», число вакансий для разработчиков на Android в январе, наоборот, выросло на 18%.
5. Но растет число вакансий для разработчиков под российские мобильные ОС. Так, для разработчиков под ОС «Аврора» количество вакансий в 2022 году выросло на 53%, до 359 (по итогам 2021 года было опубликовано 235 вакансий). Число вакансий для разработчиков на Kaspersky OS выросло на 9% год к году, до 6.1 тыс.
Magic, еще один аналог Copilot от GitHub, получил 23 миллиона в Серии А от фонда CapitalG (Alphabet) и ряда инвесторов. Любопытно, что работающей версии у стартапа нет и работает над ИИ всего 6 человек. Зато в планах сделать ИИ, который будет программировать в компаниях, понимать legacy код и учить новичков. Недавно закрывшийся Kite свой product-market fit так и не нашел. Его автор на момент прекращения работы говорил, что создание инструмента, способного синтезировать продакшен код, может стоить более 100 миллионов долларов. Так что получится ли у Magic - большой вопрос.
Разработка
• $23 млн в Серии А: Magic — ИИ-платформа написания кода
• Пять примечательных функций Postman, которые мы используем в тестировании банковских систем
• All You Need Is Love-able Products
iOS
• Как ускорить Swift, упорядочив соответствия
• Apple Fired Me as a Software Engineer
• A Beginner’s Guide to Styling Components in SwiftUI
• Mastering charts in SwiftUI. Interactions.
• swvl/automating-ios-releases-using-github-actions-59ae879220d4">Automating iOS releases using GitHub Actions
• Our 1 Mistake in iOS App Modularization That Slows our Xcode Build process
Android
• Google унифицирует вход в приложения с Credential Manager API
• Tracker Go: отслеживание бега
• RuStore завершил бета-тестирование
• Как адаптировать Android-приложение под Huawei
• The K2 Compiler is going stable in Kotlin 2.0
• Kotlin Flow for Android Development Crash Course
• How to build a custom Facebook login button using Firebase Auth in Jetpack Compose
Кроссплатформа
• neetishsingh97/flutter-using-magic-container-2313588d063">Flutter: Using Magic Container
• alxlion/how-i-created-an-open-source-bereal-clone-with-flutter-b994493e062f">How I created an open-source BeReal clone with Flutter
По неподтвержденным данным, увольнения в Google в значительной степени коснулись команды, работавшей на Fuchsia. Пишут, что общая численность персонала Google должна быть сокращена примерно на 6%, а команда Fuchsia пострадала гораздо больше - было уволено не менее 16% . По тем же источникам внутренний инкубатора Area 120 вообще практически прекратил свое существование, что очень жаль, мне всегда нравились его проекты. Возвращаясь к Fuchsia - да, 16% от 400 работников не так уж и много, но сокращения еще больше подчеркивают туманность будущего ОС, кому и где она будет нужна, как будет развиваться.
Разработка
• Fuchsia и Area 120 пострадали от увольнений в Google
• Чит-лист функционального тестирования, памятка тестировщику
• The Value of Code Versus The Value Of A Product
• Optimistic UI and How It Makes the Web Feel Faster
• 2023: The Future Of Ui/Ux Design (and How You Can Prepare)
iOS
• Custom Slider Control: слайдер для iOS
• How I Built an Emoji Picker Library for iOS
• How to Add OAuth in iOS in Half an Hour
• peterdestasio/understanding-automatic-reference-counting-arc-in-ios-development-59233f7ca847">Understanding Automatic Reference Counting (ARC) in iOS Development
• How Abstractions Help Us Solve Tight Coupling
Android
• Как в Dropbox сделали загрузку с камеры в Android быстрее и надежнее
• Android и предустановленное ПО на Galaxy S23 занимает до 60 Гб
• Speed Up Your Jetpack Compose Development With the Compose Helper IDE plugin
• asmaeziani47/how-to-protect-your-android-apk-and-implement-security-measures-4372578286a0">How to Protect Your Android APK and Implement Security Measures
• Pattern Matching in Kotlin is Awesome
• Introduction to Class Delegation
Кроссплатформа
• Supporting Multiple Modals in React Native: A New Approach
SocialPeta опубликовала итоговое исследование по рынку мобильных игр и приложений за 2022 год
Отчет включает порядка 200 страниц аналитики. В ней содержатся маркетинговые данные о ситуации на глобальном рынке мобильных игр и приложений, обзор ситуации в регионах и в различных категориях, информация о чартах и трендах в создании креативов, а также прогнозы от Singular, Tenjin, Digital Turbine, Moloco, Storemaven, AdQuantum и других компаний.
Скачайте полный отчёт здесь:
https://www.socialpeta.com/academy/socialpeta-2022-mobile-marketing-whitepaper
Интересно, что в то время, как разработчики формируют целые экосистемы, Twitter закрывает бесплатный доступ к API. Сколько будет стоить полноценный доступ пока неизвестно, но Маск уже пошел на попятную - сказал для правильных ботов будет Write-only доступ бесплатно. Как будут измерять правильность тоже пока непонятно. В общем, колбасит человека знатно 🚬
Разработка
• Twitter закрывает бесплатный доступ к API
• Пренебрегаете Legacy кодом? Зря, потенциально это настоящая золотая жила для обучения
• Flutter Dev Podcast #39: Flutter и PWA
• Домашняя автоматизация растет — загрузки Home Assistant выросли на 122% за год
• Почему EA закрыла Apex Legends Mobile
• Ozon Tech Community A/B-testing Meetup
• Podlodka #305: цвета и цветовые пространства
• Slack Machine: боты для Slack
• В чем разница между unit и компонентным тестированием
• The ultimate guide to proper use of animation in UX
iOS
• Google готовит новый браузер для iOS на собственном движке
• Выручка Apple в 1 квартале 2023 снизилась на 5%
• Swift-код в качестве пользовательских команд LLDB
• Styling Components in SwiftUI
• A path of pain with URLCache eviction and subclassing
• Observing the content offset of a SwiftUI ScrollView
• How to cancel a background task in Swift
• From Zero to App Store With ChatGPT
• The Adapter Design Pattern in Swift
• A comprehensive guide to Coordinator Pattern in Swift
Android
• Несущиеся слоны: опыт Square в улучшении системы сборки для Android
• Dashlane Android Apps: открытые менеджеры паролей
• Jetpack Compose Battle: онлайн-собеседования Senior разработчика
• Introducing the Kotlin Playground
• Fundamentals of Compose layouts and modifiers
• Leveraging the Snapshot Mutation Policies of Jetpack Compose
• Composing the desktop
• Scheduling notifications in Android
• Provider Pattern in Jetpack Compose
• Building a Video Chat App: WebRTC on Android
Кроссплатформа
• Использование шейдеров во Flutter. Часть 2
• Animated Icons: The Missing Piece to Your Bottom Nav in Flutter & Rive
• felixdavid12/top-7-best-practices-in-flutter-1dc3ebd2a55">Top 7 best practices in Flutter
Новый большой еженедельный дайджест - 97 материалов за неделю. Прочитайте, обсудите, поставьте 👍, поделитесь, подпишитесь и все такое прочее, буду благодарен 😀
Читать полностью…Несущиеся слоны: опыт Square в улучшении системы сборки для Android
Это не техническое глубокое погружение. Наоборот, это высокоуровневый обзор того, что мы сделали, почему мы это сделали, что мы получили в результате усилий и почему мы считаем, что наш подход можно обобщить.
• Покажите мне данные
• Путешествие начинается
• Шардинг CI: особое примечание
• Серебряные пули
• Постепенные улучшения, накопление выгоды
buildSrc мертв. Да здравствует build-logic!
Будьте ленивыми
Удалите скрипты
Устраните межпроектную конфигурацию
Тестируйте свою сборку
Используйте кэш конфигурации
• Путешествие продолжается
• Шаблоны решений: серебряные пули и постепенная выгода
Статья: https://apptractor.ru/sqgrdl
Платформа: Android
Как мы сократили время запуска нашего iOS-приложения на 60%
Время запуска приложения является важным показателем для пользователей, поскольку это их первое взаимодействие с приложением, и даже незначительные улучшения могут иметь значительное влияние на пользовательский опыт. Первые впечатления являются важным фактором конверсии потребителей, а время запуска часто указывает на общее качество приложения. Кроме того, как показывают исследования, увеличение задержки равнозначно снижению продаж.
В DoorDash мы очень серьезно относимся к скорости запуска приложений. Мы одержимы оптимизацией опыта наших клиентов и постоянными улучшениями. В этой статье мы рассмотрим три отдельные оптимизации, которые сократили время, необходимое для запуска нашего iOS-приложения, на 60%.
1. Изменили String(describing:) на ObjectIdentifier()
2. Прекратили преобразовывать ненужные объекты в AnyHashable
3. Проверили инициализации сторонних фреймворков
Статья: https://apptractor.ru/drdsh60
Платформа: iOS
Привет, это команда Тинькофф 💡
Наше большое комьюнити мобильных разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов. Мы экспериментируем и ищем новые решения. Приглашаем в команду mobile-разработчиков с опытом от трех лет!
Работать с нами значит:
— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити мобильных разработчиков.
А еще мы всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируем компании: от расширенного ДМС и юридической помощи до питания и разных активностей.
Откликнуться и узнать подробнее о команде mobile-разработчиков Тинькофф: https://l.tinkoff.ru/mobile.stream
Трендинговые репозитории 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)
Если вам, как и мне, всегда казалось, что с концепцией 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
• arash.good93/annotation-injection-with-compile-time-safety-in-swift-d9866b91ebb7">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
Приглашаем мобильных разработчиков выступить на конференции Mobius 2023 Spring!
Конференция будет идти четыре дня: 12–13 мая в онлайне и 19–20 мая в офлайне в Москве. Приглашаем вас выступить на ней.
Стать спикером Mobius — это возможность:
👉 Развить личный бренд и улучшить навык публичных выступлений.
👉 Обсудить рабочие задачи в неформальной обстановке.
👉 Попасть на все конференции весны от JUG Ru Group бесплатно.
👉 Пообщаться с комьюнити и Программным комитетом.
Выбирайте любой формат — доклад, воркшоп, дискуссию или что-то свое. Вам помогут подготовиться, проведут репетиции, а после конференции вы получите запись в 4K на YouTube, чтобы поделиться ей с друзьями и коллегами.
Выбирайте тему на сайте или предлагайте свои идеи и подавайте заявку до 20 февраля.
Билеты на Mobius 2023 Spring уже в продаже.
Новый большой еженедельный дайджест - 105 материалов за неделю. Прочитайте, обсудите, поставьте, поделитесь, подпишитесь и все такое прочее. Моя благодарность вашей оценке не будет знать никаких границ 😀
Читать полностью…На конференции Flutter Forward в Кении Google рассказал о будущем платформы. В отличие от закатывающегося React Native, планы на Flutter большие. Сейчас вступает в строй новый “гладкий и шелковистый” рантайм для рендеринга Impeller, в новых версиях Google улучшит “встраиваемость” фреймворка (будет проще использовать в приложении на другом языке), упростится работа с системными API, все будет компилится в WebAssembly, будет поддерживаться RISC-V и пр. В общем, Flutter, кажется, все больше становится реальной альтернативой и скоро будет способен вменяемо работать на “всех поверхностях”.
Разработка
• Будущее платформы на Flutter Forward: новая графика, WebAssembly и RISC-V
• 20 советов для разработчиков игр от разработчиков игр
• FunCorp/how-to-reduce-the-bloated-testing-process-1a64e8585321">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
• mina.a.ghalii/increase-app-performance-method-dispatch-ios-f577f9152e55">Increase App Performance (Method Dispatch iOS)
• Store an Array of Custom Data Types in Core Data With Transformable and NSSecureCoding
• dinozavr2005/big-o-notation-in-swift-a05afc36dc3d">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