🤖 Ты Android разработчик? - Проверь себя, пройди тест!
Хочешь расти дальше и создавать быстрые, оптимизированные приложения для Android - тогда наш курс для тебя!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене.
Возможна оплата курса в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/a9Ma/
Хочешь протестировать учебный процесс заранее? Тогда приходи на открытый урок курса!
▶️ 30 августа в 20:00 открытый урок «Android Internals».Нативная интеграция. Информация о продукте www.otus.ru
Android
• Как повысить яркость экрана в Android-приложении без запроса разрешения
• Ivy Wallet: открытый трекер финансов
• Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics
• Recreating UseCase: Embracing a Fluent and Fun Approach
• khater/dark-mode-on-android-with-jetpack-compose-using-datastore-bb2a1eff5565">Dark mode on android with Jetpack Compose using dataStore with Hilt
• summitkumar/kotlins-reactive-tools-a-deep-dive-into-rxkotlin-and-flow-part-i-ce9c28db4840">Kotlin’s Reactive Tools: A Deep Dive into RxKotlin and Flow
• Seeing your composable in shades of grey
• mmbialas/become-more-senior-android-developer-with-these-15-android-studio-tips-tricks-part-1-3abbe762e0a9">Become More Senior Android Developer with these 15 Android Studio Tips & Tricks
#android
Опрос про архитектуры
Вопрос применения разных шаблонов меня не оставляет и потому затеял новое исследование:
• Какие архитектурные шаблоны вы используете на работе
• Какие знаете
• Какие используете в пет-проектах
• С какими сложностями сталкиваетесь
Опрос займет несколько минут. Доступен здесь. Результаты будут в канале.
Android
• Konsist: тестирование архитектуры и соглашений языка Kotlin
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Ускоряем сборку за счёт миграции с kapt на ksp
• Запускаем IDEA и CLion на Android
• Empowering Code with High-Order Functions
• An update on Jetpack Compose Accompanist libraries
• Set Activity Screen Brightness without Permission
• A World Beyond Libraries: Cross-Library screenshot tests on Android
• Using the Gradle Version Catalog in Android projects
#android
• Building a widget using Jetpack Glance
⚡️Пройдите тест по Swift и проверьте свои знания.
Ответьте на 20 вопросов и узнайте, насколько вы готовы к обучению на курсе — «iOS Developer. Professional» от OTUS. Курс доступен в рассрочку!
👉🏻 ПРОЙТИ ТЕСТ — https://otus.pw/EXDi/
❗️На курсе вы освоите ключевые особенности Swift 5, сможете определять целесообразность применения паттернов и погрузитесь в нюансы использования Rx.
🎁 Сможете пройти успешно тест — получите доступ к записям прошлых открытых уроков курса!
Нативная интеграция. Информация о продукте www.otus.ru
Доход Gmail вырос в 179 раз с 2021
Вы когда-нибудь видели пейвол в Gmail? Наверняка нет. А он есть!
1. По оценкам AppFigures, в июле чистый доход Gmail только от App Store составил 7.3 млн долл. И это чистый доход, то есть то, что Google получает после того, как Apple забирает свою долю.
2. В январе 2023 эта сумма составляла 5.1 млн. долл., а в январе 2022 — всего 1 млн. долл. Это означает, что чистый доход Gmail за последние полтора года вырос на 630%! А с 2021 года - в 179 раз.
3. Что же продает Gmail? Пространство для хранения. Gmail на iOS предлагает несколько подписок для увеличения объема хранящихся сообщений, причем наиболее популярной сейчас является подписка на 100 ГБ. На Android они работают через приложение Google One, которое уже долгое время является самым высокодоходным приложением в Google Play.
И что: вместо того, чтобы показывать пользователей пейвол в тот момент, когда вы этого хотите, найдите функции, которые нужны вашим пользователям, и убедитесь, что они просто оплачиваются, когда они им действительно нужны. Так вы превратите своих пользователей в платящих клиентов.
Приглашаем на Red Hot Chili Apples — бесплатный митап ЮMoney для iOS-разработчиков
⏰ Митап пройдёт в Санкт-Петербурге и онлайн 29 августа в 18:30 (мск).
Разработчики ЮMoney, Сбера и ВКонтакте поделятся своим опытом, а после докладов вы сможете задать им вопросы.
Темы докладов:
– Кодогенерация из OpenAPI
Узнаем с Дмитрием Шаколо из ЮMoney, как перестать писать код для работы с API и подружиться с кодогенератором.
– Команда Платформы — Сердце Большого Проекта
Как держать пульс технологий, управлять ростом и обеспечивать бесперебойность — откроем для себя роль команды платформы в большой современной разработке. Взгляд изнутри от заядлого платформера Сбера, Миши Харитончика.
– Автоверсионирование и как сделать его правильно
Максим Холявкин из ВКонтакте расскажет зачем нужно автоверсионирование, как сделать так, чтобы было удобно пользоваться, и как делать нельзя.
– Разработка платёжного SDK
Илья Фёдоров расскажет про mSDK ЮMoney, его архитектуру и устройство: как быстро встроить mSDK в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜
Совершенно в тему вчерашнего опроса - совершенно запрещенная Meta выпустила свою модель для генерации кода Code Llama. Умеет генерировать, дополнять, отлаживать код. Отдельно есть LLM для Python и отдельно же есть модель Instrct, которая понимает инструкции на естественном языке. Собственно, теперь из больших остался только Google, который пока так и не выпустил AlphaCode, и Apple, которой все вообще по барабану.
Разработка
• Meta* запускает собственный инструмент для написания кода на основе искусственного интеллекта: Code Llama
• Как продолжать разработку, если бэкенд еще не готов
• В рамках программы First Run Epic предлагает издателям 100% прибыли
• Introducing Code Llama, a state-of-the-art large language model for coding
• Text Rendering Hates You
Маркетинг
• How to Fuel Your Startup’s Growth Engine
Кроссплатформа
• 3 Flutter Open Source Projects That Improve Your Skills
• Simplify Your iOS Brownfield Integration with React Native Host
iOS
• Проверяем ваш код на API, использование которых нужно будет объяснять
• English Pronunciation App: изучение английских слов и их произношения
• Swift и Objective-C в одном SDK. Стерпится, слюбится
• How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini
• Mastering StoreKit 2. SubscriptionStoreView in SwiftUI
• SwiftUI - Circular Loader Animation
• Stop prefixing your UserDefaults keys
#ios
Ребята из Rocket10 во главе со своим арт-директором разобрали как ИИ можно применять для дизайна рекламных креативов. Не знаю как в графике, а ChatGPT для написания статей просто огонь. Как и в случае с графикой, “нейросети позволяют автоматизировать некоторые процессы, но не могут полностью решать сложные и многоуровневые задачи”, но все же процентов 90 в работе над текстами они делают. А как у вас с использованием ИИ?
Разработка
• В Excel появляется Python
• IBM предлагает ИИ для перевода кода COBOL в Java
• Design With Me — Flight Tracker App
• Fitting AI models in your pocket with quantization
• How to unblock your mobile app development while the backend isn’t ready
• The Quest for Reliable Code
Маркетинг
• Нейросети vs дизайнеры: может ли ИИ выполнять работу креативного продакшна?
• Command & Conquer is getting another mobile game
• Dynamic Pricing with Multi-Armed Bandit: Learning by Doing
Кроссплатформа
• Flutter 3.13. Что нового?
• Creating Custom Dropdowns with OverlayPortal in Flutter
• seg.veenstra/better-with-bloc-429db28352df">Better with bloc
• onuaugustine07/hive-database-in-flutter-building-a-simple-movie-app-20ad88b11d87">Hive Database in Flutter: Building a Simple Movie App
iOS
• Подводные камни тестирования кода в Swift Concurrency
• Xcode Breakpoints 101
• mihail_salari/mastering-ios-code-quality-12-essential-strategies-for-developers-%EF%B8%8F-69b6830caa8e">Mastering iOS Code Quality: 12 Essential Strategies for Developers
• How to check if you use a required reason API
• Use Periphery to find unused code
#ios
Совет на остаток лета 2023 год: углубитесь в мобильную разработку. Тот, кто разбирается в тонкостях создания приложений — сможет что угодно и сорвёт куш.
А если вы не хотите терять последние недели лета на бесполезные материалы и гайды — читайте канал: @mobdevelop
Там просто и доступно объясняют какие шаблоны проектирования заставят ваш код летать, почему следует избегать использования Swift Concurrency Instrument, способы ускорения приложения, которые не знают 90% разработчиков и многое другое.
Подписывайтесь, потом сами себе спасибо скажете: @mobdevelop
В разработке ничего не происходит, даже Хабр второй день ничего не постит, все в AI ударились. А вот разве что, оказывается, в iOS 17 завезли анимированные SF-символы, но это так, больше для удовольствия. И еще в Excel скоро Python появится к всеобщей радости. Но в остальном тишь. Накидайте музыки какой интересной в комментарии!
Разработка
• Мобильное приложение для сотрудников: спорт, игрушечное казино и собственный Twitter
• Slack’s Migration to a Cellular Architecture
• The Future is Now: Integrating AI in Software Development
• Why Scrum Fails
• Discover the Magic Working Behind our New Mobile App Rebranding
Маркетинг
• Кейс SB-Games: как увеличить APRU 18 приложений на 40%
• Разработчики используют ИИ для создания text-to-music приложений
Кроссплатформа
• Demystifying Code Splitting in React: Improving Performance and User Experience
• A new way of listening to the app lifecycle events in Flutter
• Building a Chrome Extension with Flutter: A Step-by-Step Guide
• Home Automation in Flutter
iOS
• Примеры анимированных SF-символов в SwiftUI
• Анализ производительности для ускорения сборок в Xcode
• Braze: криптовалюты с SwiftUI и MVVM
• Swift 6: Preparing your Xcode projects for the future
• Add Live Activities to your iOS app in 4 steps
• Elm architecture in iOS
• Developing Apps for iOS - Stanford course CS193p
• Learn how to utilize the Scan and Reduce operators in SwiftUI with Combine
#ios
Долой экономику приложений, даешь экономику “белого шума”! И это совсем не шутка - подкасты такого рода (шум, волны, дождь и т.п. - вообще без слов) зарабатывают на рекламе в Spotify до 38 миллионов долларов в год. В январе 2023 «белый шум» прослушивался на Spotify 3 млн часов ежедневного. Оценки, конечно, косвенные, но почему-то вызвали всеобщее возмущение. Но раз люди слушают - наверное им надо. В целом же мораль простая - ниш на рынках дофигища, надо искать и не сдаваться :)
Разработка
• Developer Speaking Club #0: как правильно обучаться, загрузка файлов и как войти в IT
• Как выйти из IT: опасный бизнес
• Podlodka #333: делаем бизнес на опенсорсе
• $25 млн в Серии А: ProjectDiscovery — открытая платформа поиска уязвимостей
• The Next Next Job, a framework for making big career decisions
• Fuzz Testing Is the Best Thing To Happen to Our Application Tests
Маркетинг
• «Белый шум» на Spotify стоит $38 млн в год
• Глобальный охват китайских приложений: исследование прибыльных рынков и вертикалей
• Сколько приложений в App Store предлагают подписку?
Кроссплатформа
• Фишки React Native для реализации личного кабинета
• Ой, всё! Или как мы ошибаемся в Dart и Flutter
• Как заставить Flutter глитчевать?
• Flutter Dev Podcast #41: FlutterFlow
• Одно PWA, чтоб править всеми
• Building Offline-First React Native Apps with React Query and TypeScript
• How I became a Google Developer Expert in Flutter
Я то все гадал, как тот же Google Pay повышает яркость на одном экране, а оказывается это делается одним оператором. Из других новостей - RuStore обязали предустанавливать, даже если производитель ОС против. Раньше это вроде как не касалось параллельного импорта, а теперь магазин стал обязательным для всех (aka как убить хорошую идею обязаловкой). Ну и Google открыл ряд новых интересных картографических API. Есть, например, про пыльцу.
Разработка
• Где платят больше всего в Big Tech: исследование Blind
• Бесплатный курс «LangChain: чат с вашими данными»
• Google открывает API о солнечных возможностях, качестве воздуха и уровне пыльцы
• iPhone 14 Pro Max стал самым продаваемым телефоном в мире
• The Unexpected Find That Freed 20GB of Unused Index Space
Маркетинг
• RuStore станет обязательным для всех
• $6 млн: Kiki — аренда жилья для «друзей»
• Realy — приложение для людей, которым не хватает других людей
Кроссплатформа
• 4.0 Асинхронность. Isolates, потоки, процессы
• dtejaswini.06/hydrated-bloc-in-flutter-simplifying-state-management-258542723a6c">Hydrated Bloc in Flutter: Simplifying State Management
• Top 10 Flutter Apps You Must Make as a Beginner
• alexandersnotes/never-pass-textstyle-to-widgets-56808860085b">Don’t pass TextStyle to Widgets
• Compose Multiplatform 1.5.0 Release
iOS
• Овладеваем StoreKit 2
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Park API — Server-Side Swift With Hummingbird
• Transitioning from MVVM to MV: A Journey of Simplifying App Architecture
• Jump 🐒 SwiftUI Coordinator with Router
• walfandi/a-beginners-guide-to-clean-architecture-in-ios-building-better-apps-step-by-step-53e6ec8b3abd">A Beginner’s Guide to Clean Architecture in SwiftUI: Building Better Apps Step by Step
• shiny.shubham/10-lesser-known-lldb-commands-7d9a1d1070d5">10 Lesser Known LLDB Commands used in iOS App development
• Swift’s Secret: Using @_exported attribute for Simplified Module Imports
#ios
Еще в середине 90-ых я учил С++ как раз по учебнику Бьёрна Страуструпа. За прошедшие 30 лет я он получил множество премий, выпустил еще несколько книг, я потерял волосы и стал чем-то на него похожим, и вот выходит его новое видео, в котором он делится советами. О жизни, разработке, карьере. Всего 3 минуты и несколько ключевых советов, так что, наверное, каждый осилит. Как пример: «Вы не можете просто писать код. Вам нужно что-то сделать с культурой и тем, как выражать идеи. Я ни разу не пожалел о времени, потраченном на историю и математику. Математика обостряет ваш ум, а история даёт некоторое представление о ваших ограничениях и о том, что происходит в мире».
Разработка
• (Life) Advice From The Creator of C++
• $235 млн в Серии D: Hugging Face — ИИ-сообщество и инструменты MLOps
• Что такое MLOps
• Монетал — Учет расходов: разбор приложения
• Рецепт юзабилити-тестирования
• Как отдать технический долг
• Trunk based development в мобильной разработке
• How Grab uses Graph Databases to Reduce Fraud
• Ask HN: Where do I find good code to read?
• 8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers
Маркетинг
• Доход Gmail вырос в 179 раз с 2021
Кроссплатформа
• alexandersnotes/flutter-chopper-authentication-retry-on-401-unauthorized-e0128fb0a7d">Flutter Chopper Authentication + Retry on 401 Unauthorized
• serhiihulenko/kmp-work-with-existing-project-6e7efbcd3a78">KMP: Work with existing project
iOS
• GRDB: удобная работа с SQLite
• Эластичная анимация
• Декларативная навигация в iOS-приложении
• История «Сбербанк Онлайн» на iOS
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Расширенное управление памятью с помощью Unsafe Swift
• Making your SwiftData models Codable
• Introducing ObservableConverter
• Scrollable lists using Protocol-Oriented Programming and UICollectionViewCompositionalLayout
#ios
• GRDB – A toolkit for SQLite databases, with a focus on application development
• SwiftData Background Tasks
• Mastering SwiftUI’s zIndex: A Comprehensive Guide
• Swift High Performance: Dictionary Keys
Монетал — Учет расходов: разбор приложения
Разбираю приложение @kruil: Монетал - бесплатный и без рекламы трекер расходов
TLDR: Как пет-проект - превосходно. Но приложение не монетизируется и бизнеса “не ведет”. А тогда для чего оно?
Статья: https://apptractor.ru/info/apps/monetal.html
Если хотите принять участие - оставьте ссылку в форме или напишите в комменты.
Как не забросить построение инфраструктуры
Новый еженедельный дайджест - ровно 111 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, есть "Как работает компьютер - глубокое погружение (на примере Linux)".
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Видео и подкасты за неделю:
• (iOS Ru)
Эластичная анимация
• (iOS Ru)
Декларативная навигация в iOS-приложении
• (iOS Ru)
История «Сбербанк Онлайн» на iOS
• (iOS En)
Beyond Basics: Can SwiftUI Handle the Challenge of Complex macOS Apps?
• (iOS En)
Debugging Macros in Swift with the AST Explorer
• (iOS En)
Accessibility in Swift: Dynamic Colors
• (iOS En)
Creating Bottom Sheets like in the "Find My" app using SwiftUI
• (iOS En)
Parallax Carousel Scroll Animation Using SwiftUI
• (iOS En)
iOS 17 Data Flow with Observation Framework
• (And Ru)
Ускоряем сборку за счёт миграции с kapt на ksp
• (And Ru)
Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• (And Ru)
Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• (And En)
Now in Android: 89 - Android 14 Beta 5, Compose for Wear OS, WebGPU, and more!
• (And En)
Full Guide to Bottom Sheets - UX With Material3
• (Dev Ru)
Рецепт юзабилити-тестирования
• (Dev Ru)
Как отдать технический долг
• (Dev Ru)
Trunk based development в мобильной разработке
• (Dev En)
Project IDX: Full-stack application development with generative AI
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
Android
• Implementing Advanced RecyclerView Techniques for Efficient List Rendering
• mkcode0323/solid-design-principles-with-kotlin-android-69e75a566c41">SOLID Design Principles with Kotlin Android
• Best practices for error handling in Kotlin
• dawinderapps/floatingactionbutton-with-sub-floating-items-in-jetpack-compose-734fac0c9116">FloatingActionButton with Sub Floating Items in Jetpack Compose
• Profile your build
#android
🔥 Разработчик на Android? Прокачай свои знания бесплатно!
Стань более экспертным и востребованным в своей нише вместе с OTUS – приходи на открытый урок «Android Internals» в рамках курса «Android Developer. Professional».
🎙 На уроке рассмотрим:
- различные аспекты Android, включая устройство ядра Linux;
- систему компонентов Android;
- механизмы безопасности;
- меж процессное взаимодействие;
- управление памятью и многое другое.
🟠Вы узнаете о взаимодействии между аппаратным и программным обеспечением, а также о том, как Android обеспечивает безопасность и управление ресурсами.
🔵Не упустите возможность подробнее разобраться в операционной системе вместе с преподавателем-практиком!
Когда: 30 августа в 20:00 мск
Сколько стоит: бесплатно
Как попасть: зарегистрироваться здесь: https://otus.pw/3Qqc/ Нативная интеграция. Информация о продукте www.otus.ru
Android
• Добавляем анимации встряхивания в Composable
• Appyx: навигация + UI компоненты для Compose Multiplatform
• NetMock: простой подход к тестированию HTTP-запросов в Java, Android и Kotlin Multiplatform
• Ускоряем сборку за счёт миграции с kapt на ksp
• Introducing Konsist: A Cutting-Edge Kotlin Linter
• Unleashing Creativity with Custom Modifiers in Android Jetpack Compose
#android
А еще у Александра Горного запускается почти бесплатный курс по Unit-экономике, на который я хочу сходить: /channel/startupoftheday/3220
Если вы делаете свои приложения, стартапы, маркетинг, то просто рекомендую, потому что это основа основ. А если нет, то доступ дают за репост, так что просто пролистните :)
IBM предлагает ИИ для перевода кода COBOL в Java
Генеративный ИИ для кода сделан не только для того, чтобы пугать Junior-разработчиков. Иногда у него очень практическое применение.
1. COBOL, или Common Business Oriented Language, — один из старейших языков программирования, появившийся примерно в 1959 году. По данным исследования 2022 года, в производственных системах используется более 800 млрд строк кода на COBOL, в то время как в 2017 году их было около 220 млрд. Сегодня около 84% заказчиков мэйнфреймов IBM используют COBOL — в основном это заказчики из финансового и государственного секторов.
2. Однако COBOL имеет репутацию сложного в освоении и неэффективного языка. Почему бы не перейти на более современный? Для крупных организаций это, как правило, сложное и дорогостоящее занятие, учитывая небольшое количество специалистов по COBOL в мире.
3. IBM запустила Code Assistant для преобразования приложений на COBOL в приложения на Java.
4. В его основе лежит модель генерации кода CodeNet, способная понимать не только COBOL и Java, но и около 80 различных языков.
5. Помимо преобразования кода, Code Assistant поддерживает полный жизненный цикл модернизации приложений и помогает разработчикам понимать, рефакторить, преобразовывать и валидировать транслированный код.
6. Впрочем, сами авторы говорят, что полностью автоматизировать процесс рефакторинга невозможно. В COBOL-приложениях предприятия могут существовать уникальные шаблоны использования, которые Code Assistant, возможно, еще не освоил, а для обеспечения безопасности кода необходимо сканировать его с помощью современных сканеров и обрабатывать живыми разработчиками.
И что: старые языки до сих пор востребованы, пусть и в меньшем объеме. А перевод приложений новые платформы - вообще постоянный и, видимо, хороший бизнес.
Android
• Jetpack Compose Tricks: Conditionally Applying Modifiers for Dynamic UIs
• atiurin/ultron-simple-stable-maintainable-android-ui-tests-8445b2a6ac1c">Ultron — simple, stable, maintainable Android UI tests
• onuremrekaradag/walkthrough-kotlin-flows-and-channels-with-message-bubbles-2fd5cd462d5">Walkthrough Kotlin Flows and Channels with Message Bubbles
• Latest ARTwork on hundreds of millions of devices
#android
Я.Субботник по мобильной разработке — 16 сентября!
Привет! 16 сентября Яндекс проводит большой митап по мобильной разработке, где разработчики расскажут о своих сервисах и технологиях, с которыми работают. Вас ждёт:
— 5 технических докладов от разработчиков Яндекса;
— Нетворкинг как в офлайне, так и для онлайн-зрителей;
— Видеотрансляция и доклады в открытом доступе сразу же после выступлений.
В этот раз мы собираем сообщество сразу в двух городах — в Москве и в Белграде! Выбирайте подходящий для вас город участия, оставляйте заявку, а мы рассмотрим все анкеты и пришлём приглашение на очную встречу или на онлайн-трансляцию😉
Ждём ваши заявки!
Программа и регистрация
Android
• Миграция приложения на Jetpack Compose
• JsonTree: красивый Json в Compose
• Organic Maps — открытые оффлайн карты
• Аналитика многомодульных проектов
• Kotlin and Java interoperability: Useful annotations
• Let Kotlin do the code for you — Part II: Retrofit and Proxy
• Unleashing Creativity with Custom Modifiers in Android Jetpack Compose
• Kotlin Exhaustive when
• Migrate your Android Build from Groovy to Version Catalog
• norphyra/script-for-auto-build-android-applications-efbb8b7e1bae">Script for auto-build Android applications
• Solving the mystery of recompositions in Compose's LazyList
#android