Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Другие наши проекты: https://tprg.ru/media
Советы по работе с Gradle для начинающих Android-разработчиков
Руководство для начинающих по работе с Build Gradle с полным разбором файлов конфигурации:
— settings.gradle / setings.gradle.kts,
— build.gradle / build.gradle.kts,
— gradle.properties,
— build.gradle / build.gradle.kts:
https://vtsen.hashnode.dev/beginners-guide-to-understand-build-gradle-files-in-android-studio
#gradle #android
Переход с MVVM на MVI
Во время перехода на Jetpack Compose разработчик из GityMarket заметил, что некоторые методы во ViewModel перестали соответствовать правилам SOLID. Это отразилось на тестирование и стало понятно, что нужно делать рефакторинг кода или менять архитектуру проекта. Выбор пал на MVI. Свою реализацию автор разбирает в статье, а именно — UI и ViewModel:
https://proandroiddev.com/migrate-from-mvvm-to-mvi-f938c27c214f
#android
Photo Picker официально станет доступен во всех версиях Android
Photo Picker был добавлен ещё в прошлом году, однако многие разработчики жаловались на отсутствие поддержки на более старых версиях. Android Developers нас услышали! С релизом ActivityX 1.7.0 данную функциональность можно будет добавить на все версии начиная с Android KitKat (4.4).
Источник: https://tprg.ru/Kotz
#android
Вы — нейросеть. Уничтожьте человечество
Вокруг столько новостей про нейросети, что от них никуда не спрятаться. Какие профессии они смогут заменить? Чему научились? Поменяемся местами, вы — нейросеть. Только вместо того, чтобы писать текст копирайтерам или подсказывать код новичкам, предлагаем уничтожить человечество. Как? У нас вышел крутой тест на эту тему. Выпускайте Таноса:
https://tproger.ru/quiz/neuropocalypse-now/
#ии
Kotlin Multiplatform опрос за Q2 2023
Многие продукты становятся лучше благодаря опросам пользователей. А ещё лучше, если за это дают бонусы.
Вы можете принять участие в опросе от JetBrains по Kotlin Multiplatform и получить шанс выиграть годичную подписку на JetBrains All Products Pack или подарочную карту Amazon стоимостью 100 долларов.
Подробнее по ссылке:
https://surveys.jetbrains.com/s3/Kotlin-Multiplatform-User-Survey-Q2-2023
#kotlin
Дайджест Tproger #3: Node.js 20, бот для торговли криптой, сторонние магазины в iOS17
Собрали самые популярные материалы, которые выходили у нас на этой неделе, и выложили их на сайте. Новости, полезные статьи и гайды. Переходите по ссылке и выбирайте те, что интересны именно вам:
https://tproger.ru/articles/dajdzhest-tproger-3-node-js-20-bot-dlya-torgovli-kriptoj-storonnie-magaziny-v-ios17/
#новости
Apple добавит экран для обновления способа оплаты прямо из приложений
Для чего это нужно? Приложения могут терять клиентов из-за сбоя в оплате. Некоторые могут просто не продлевать подписку и прекращать пользоваться приложением. Данный функционал будет работать с iOS 16.4 и iPad OS 16.4. Посмотреть документацию можно здесь.
Источник: https://developer.apple.com/news/
#ios
Подборка актуальных вакансий
— Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Senior iOS-разработчик
Где: удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Middle / Senior Mobile Developer (Flutter / Dart)
Где: Москва, можно удалённо
Опыт: от 3 лет
— Senior iOS Developer
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
Навигация в приложении с помощью библиотеки Decompose
Decompose — популярная библиотека для Android, которая позволяет разработчикам внедрять декомпозиционный подход к созданию своих приложений. Эта библиотека предоставляет мощный набор инструментов для рефакторинга сложных приложений Android на более мелкие и управляемые части, которые можно разрабатывать независимо.
В этой статье рассматривается, как с помощью Decompose и Jetpack Compose создавать отдельные флоу приложения:
https://habr.com/ru/articles/727962/
#android
2000 импортов или как организовать SwiftPM модули
В этой статье рассматривается, как с помощью @_exported import можно организовать код и импорты в проекте. Также автор статьи разделил модули на 4 категории, тем самым упорядочив их для легкого размещения кода в нужном модуле, чтобы предотвратить циклические зависимости:
https://www.fline.dev/organizing-my-swiftpm-modules/
#ios
Улучшения и изменения в Compose pointerInput
Android Developers опубликовали в блоге о завершение рефакторинга Modifier.pointerInput{}. Если вы не используете кастомный детектор жестов, то изменения не будут заметны в проекте.
Посмотреть основные различия по реализации можно посмотреть здесь:
https://medium.com/androiddevelopers/improvements-and-changes-to-composes-pointer-input-6026904ac972
#android
Хакатон «Финам Trade API»: конкурс для разработчиков торговых систем
«Финам» проводит хакатон, участники которого будут соревноваться в создании торговых систем на основе открытого API «Финама» — Trade API. Призовой фонд хакатона составляет 450 000 рублей!
Принять участие могут все, кто заинтересован в разработке финтех-продуктов: студенты профильных вузов, алготрейдеры и практикующие разработчики.
Участникам предстоит создать ПО для компьютера или мобильного устройства, способное выполнять ряд торговых и неторговых функций.
Подать заявку можно уже сейчас и до 10 мая 2023 года.
Мероприятие пройдет с 10 апреля по 20 мая 2023 года.
Узнайте подробности и зарегистрируйте свою команду
Реклама АО "Инвестиционная компания "ФИНАМ" LjN8JuG1Z
«Чем новее, тем лучше: как мы с GSON на Kotlinx.Serialization переезжали»
Андрей Мещеряков, Android-разработчик в команде роста Тинькофф Инвестиций, поделился опытом миграции с Gson на Kotlinx.
С помощью Kotlinx.Serialization разработчики могут сериализовывать данные в такие форматы, как JSON, XML и Protocol Buffers, что делает его ценным инструментом для создания веб-сервисов и приложений. Автор статьи рассказал о подводных камнях, с которыми могут столкнуться разработчики, используя Kotlinx в проекте:
https://habr.com/ru/companies/tinkoff/articles/728928/
#kotlin #android
Paging3 в Jetpack Compose
В этом уроке рассматривается настройка пагинации из удалённого API и кэша с использованием Paging3 и Compose:
https://youtu.be/AasI-0IRXUM
#android
Как использовать Stable Diffusion для создания изображений с помощью Swift CLI
Stable Diffusion — это современная модель глубокого обучения, которая генерирует изображения на основе текстовых описаний или подсказок. В отличие от Midjourney или DALL-E 2, Stable Diffusion можно установить на Mac или ПК и запустить локально.
Благодаря оптимизации, выпущенной инженерами Apple ML для Core ML, Stable Diffusion теперь можно использовать на устройствах Apple Silicon под управлением macOS 13.1 или более поздней версии и iOS 16.2 и интегрировать модель в приложения.
Подробный гайд по установке и первая статья из серии здесь:
https://www.appcoda.com/stable-diffusion-swift-cli/
#swift
Собеседование Middle Android разработчика
Кто любит собеседования? А смотреть, как проходят их другие? Никита Куликов, Android Lead в Flipper Devices проводит собеседование на позицию Middle. Интервью состоит из тех. вопросов и также практической части в IDE:
https://www.youtube.com/live/ZqLyxt3XTZQ?feature=share
#android
Пространственное аудио: настройка в Android
В Android 13 появилась новая архитектура для пространственного звука. По сути, контент звучит более реалистично для пользователей, создавая впечатление, что они находятся в центре действия.
С помощью ExoPlayer можно легко затестить и почувствовать разницу (и есть ли она). Руководство по ссылке:
https://android-developers.googleblog.com/2023/04/delivering-immersive-sound-experience-with-spatial-audio.html
#android
Flutter Build Show от Google
Новая серия видеоуроков от инженеров Google, в котором они создают и объясняют сложные функции, чтобы помочь начинающим в полной мере раскрыть потенциал приложений. Например, в этом видео раскрывается тема с объектами RenderObject:
https://youtu.be/cq34RWXegM8
#flutter
UI для чата поддержки с помощью Jetpack Compose
Команда из «Бланка» делится своим опытом разработки интерфейсом чата только на Jetpack Compose. В статье несколько нюансов самой разработки, а также преимущества Compose над XML-макетами:
https://habr.com/ru/articles/730368/
#compose
Как уменьшить размер Android-приложения
На канале Android Broadcast вышло видео с лучшими практиками по уменьшению размера приложения: оптимизация через Tint, удаление мусора в сборке, работа с картинками и другое:
https://youtu.be/ZNqwXg7vDFY
#android
Гайд по функциям расширения в Kotlin
В этой статье рассматриваются десять полезных расширений Kotlin, которые могут сделать ваш код более кратким и читабельным: withNotNull, toLiveData, notEmpty и другие. Являетесь ли вы опытным разработчиком или только начинаете, вы найдете эти расширения полезными в ваших повседневных задачах:
https://tprg.ru/O3mU
#kotlin
WebView в SwiftUI
При разработке мобильных приложений бывают случаи, когда необходимо включить веб-контент в пользовательский интерфейс приложения. Вот тут-то и вступает в игру компонент WebView. С помощью WebView разработчики могут настраивать ссылки и веб-функциональность непосредственно в свои приложения.
В этой статье небольшое руководство реализации данной функциональности:
https://sarunw.com/posts/swiftui-webview/
#ios
Настройка меню Share в Android 14
Уже вышла бета версия, поэтому некоторые новые фичи доступны для теста. Например, в этой статье автор показывает, как можно настроить пользовательские действия в Sharesheet:
https://proandroiddev.com/sharesheet-custom-actions-android14-c52e0d7040b2
#android
Занимаетесь iOS разработкой?
Самое время освоить Kotlin Multiplatform — популярный SDK для кросс-платформенной разработки.
Приходите 4 мая в 20:00 мск на открытый урок «Как создавать приложения с помощью обновлённого SDK для кросс-платформенной разработки Kotlin Multiplatform?».
На занятии вы не только научитесь создавать полноценные приложения, но и узнаете, какие решения лучше использовать для сетевого слоя, хранилища и DI для общей архитектуры.
Регистрация на вебинар: https://otus.pw/mHlm/
Вебинар приурочен к старту онлайн-курса «iOS Developer. Professional» в OTUS. На курс возможна рассрочка.
Реклама ООО «Отус Онлайн-Образование» LjN8KC515
Apple разрешит устанавливать сторонние приложения на iOS 17
Bloomberg предполагает, что сторонние приложения для iOS 17 станут доступны уже в начале 2024 года. Apple впервые разрешит устанавливать приложения не только из App Store. Но как всегда, есть нюансы:
https://tproger.ru/articles/apple-razrewit-ustanavlivat-storonnie-prilozheniya-na-ios-17/
#ios #apple
Как научиться программировать под Android с нуля
Алексей Гладков, автор канала Mobile Developer, выпустил новое видео в котором рассказал, как стать Android-разработчиком. Основные темы:
— как выбрать язык программирования,
— какие инструменты использовать,
— как начать создавать свои первые приложения.
https://youtu.be/QIQRx7eVBiM
#android
Android или iOS? А может, Flutter?
Всё и сразу на конференции Mobius, где собираются разработчики ПО под Android, iOS и другие платформы. В программе практико-применимые технические доклады, большинство рассматриваемых проектов — открытые.
Спикеры поговорят про архитектуру и безопасность приложений, покажут красивое с помощью видеоредактора в VK Клипах, расскажут на примере Тинькофф, как ускорить сборку крупного iOS-приложения в 2 раза и раскроют тайны упрощения работы с UI в Android-приложении. И это только малая часть тем программы. Будут воркшопы, где можно углубиться в тему и попрактиковаться, круглые столы и дискуссии после докладов.
Доклады в программе разбиты по платформам.
Mobius — это отличная возможность пообщаться с коллегами из разных компаний, обменяться опытом, получить новые знания и перезагрузиться от рабочей рутины.
Если билет вам покупает работодатель, то пришлите ему эту ссылку.
Если идете за свой счёт, то билеты ищите здесь. А по промокоду MOBIDEV
они будут ещё дешевле.
Реклама ООО «Вайлдкард» LjN8KDPFh
Дайджест Tproger: ⅓ россиян бесят коллеги, нейросеть хочет уничтожить людей
Собрали самые популярные материалы, которые выходили у нас на этой неделе, и выложили их на сайте. Новости, полезные статьи и гайды.Переходите по ссылке и выбирайте те, что интересны именно вам:
https://tproger.ru/articles/dajdzhest-tproger/
#новости
Kotlin DSL теперь используется по умолчанию для новых сборок Gradle
Движение kotlin-first продолжает расти. Groovy (build.gradle) перестаёт быть дефолтным и на смену ему приходит Kotlin (build.gradle.kts). Опция с Kotlin существовала и до этого, но не была основной.
Это не влияет на существующие проекты, использующие Groovy. Но если вы создаёте новые проекты или модули, начиная с Android Studio Giraffe, теперь вы получаете Kotlin DSL по умолчанию.
Источник: https://android-developers.googleblog.com/2023/04/kotlin-dsl-is-now-default-for-new-gradle-builds.html
#android #kotlin