Конфигурация сборки в Gradle: как это работает
В Android-приложениях основной системой сборки проекта является Gradle. Она выполняет важную задачу: собирает проект вместе со всеми зависимостями в единое приложение.
Знание того, как работает Gradle, поможет настроить сборку под конкретные требования. А разобраться в основах поможет статья:
https://tprg.ru/TEJm
Тот же материал, но в формате видео: https://youtu.be/GjPS4xDMmQY
#android #начинающим
В Android-приложениях основной системой сборки проекта является Gradle. Она выполняет важную задачу: собирает проект вместе со всеми зависимостями в единое приложение.
Знание того, как работает Gradle, поможет настроить сборку под конкретные требования. А разобраться в основах поможет статья:
https://tprg.ru/TEJm
Тот же материал, но в формате видео: https://youtu.be/GjPS4xDMmQY
#android #начинающим
YouTube
Gradle and AGP Build APIs: Configure your build - MAD Skills
In this first episode of Modern Android Development Skills on Gradle and AGP Build APIs, Murat will discuss how the Android build system works and learn the basics of Gradle.
Configure your build → https://goo.gle/31Wuhtk
Gradle build lifecycle → http…
Configure your build → https://goo.gle/31Wuhtk
Gradle build lifecycle → http…
Сколько чашек кофе успеваете выпить, пока проходит локальная сборка iOS-проекта?
Крутой подгон от Spotify — ребята выложили в открытый доступ библиотеку XCRemoteCache, призванную сократить долгое время локальных сборок.
Библиотека умеет в реализацию удалённого кэширования iOS-проектов, чтобы переиспользовать целевые артефакты из XCode, сгенерированные в CI-машинах.
По замерам разработчиков библиотеки, XCRemoteCache уменьшила время чистой сборки на 70%. Звучит серьёзно, не так ли?
Где почитать подробнее про XCRemoteCache: https://tprg.ru/INx3
#ios #библиотеки
Крутой подгон от Spotify — ребята выложили в открытый доступ библиотеку XCRemoteCache, призванную сократить долгое время локальных сборок.
Библиотека умеет в реализацию удалённого кэширования iOS-проектов, чтобы переиспользовать целевые артефакты из XCode, сгенерированные в CI-машинах.
По замерам разработчиков библиотеки, XCRemoteCache уменьшила время чистой сборки на 70%. Звучит серьёзно, не так ли?
Где почитать подробнее про XCRemoteCache: https://tprg.ru/INx3
#ios #библиотеки
Навигация в многомодульных приложениях на Jetpack Compose
Compose, навигация, многомодульная архитектура, инъекции зависимостей... Эти компоненты можно объединить в масштабируемой многомодульной архитектуре с помощью лучших практик Android-разработке. И в статье объясняется, как:
https://tprg.ru/5VyO
#android #compose
Compose, навигация, многомодульная архитектура, инъекции зависимостей... Эти компоненты можно объединить в масштабируемой многомодульной архитектуре с помощью лучших практик Android-разработке. И в статье объясняется, как:
https://tprg.ru/5VyO
#android #compose
Не стоит доверять оценкам в App Store
Даже если это приложение от Apple.
В Сети обратили внимание на то, что рейтинг в App Store приложения Apple Podcasts вырос с 1,8 до 4,7 меньше чем за месяц. При этом приложение не получило существенных обновлений за этот период.
Примечательно, что большая часть положительных отзывов связана не с самим приложением, а подкастами внутри него. Вероятно, Apple предложила дать оценку прямо внутри приложения, и пользователи по ошибке оценили подкасты, а не саму платформу.
Если подобная ситуация произошла с официальным приложением от Apple, то сложно представить, на какие ухищрения идут настоящие мошеннические приложения, чтобы иметь высокий рейтинг и висеть в топе App Store.
#ios
Даже если это приложение от Apple.
В Сети обратили внимание на то, что рейтинг в App Store приложения Apple Podcasts вырос с 1,8 до 4,7 меньше чем за месяц. При этом приложение не получило существенных обновлений за этот период.
Примечательно, что большая часть положительных отзывов связана не с самим приложением, а подкастами внутри него. Вероятно, Apple предложила дать оценку прямо внутри приложения, и пользователи по ошибке оценили подкасты, а не саму платформу.
Если подобная ситуация произошла с официальным приложением от Apple, то сложно представить, на какие ухищрения идут настоящие мошеннические приложения, чтобы иметь высокий рейтинг и висеть в топе App Store.
#ios
Монетизировать Flutter-приложение стало проще
На этой неделе вышла первая стабильная версия Google Mobile Ads SDK для Flutter. SDK работает с рекламными платформами AdMob и Ad Manager и помогает внедрить в приложение различные виды рекламы: баннеры, видео с вознаграждением, Interstitial (реклама между действиями) и не только (кстати, мы уже рассказывали о видах мобильной рекламы).
Подробнее о способах монетизации Flutter-приложения: https://flutter.dev/monetization
#flutter
На этой неделе вышла первая стабильная версия Google Mobile Ads SDK для Flutter. SDK работает с рекламными платформами AdMob и Ad Manager и помогает внедрить в приложение различные виды рекламы: баннеры, видео с вознаграждением, Interstitial (реклама между действиями) и не только (кстати, мы уже рассказывали о видах мобильной рекламы).
Подробнее о способах монетизации Flutter-приложения: https://flutter.dev/monetization
#flutter
Простой генератор QR-кода для Android
QR-коды сейчас крайне популярны, и здорово иметь при себе инструмент для быстрой генерации кода. Почему бы его не реализовать самостоятельно?
В ролике разбирается, как написать простой генератор QR-кода, в котором одной кнопкой выводится готовый QR-код:
https://youtu.be/pQ1KYUJpCGU
#android #начинающим
QR-коды сейчас крайне популярны, и здорово иметь при себе инструмент для быстрой генерации кода. Почему бы его не реализовать самостоятельно?
В ролике разбирается, как написать простой генератор QR-кода, в котором одной кнопкой выводится готовый QR-код:
https://youtu.be/pQ1KYUJpCGU
#android #начинающим
YouTube
Генератор QR кода для Андроид на Kotlin
На этом уроке делаем генератор QR кода под андроид с помощью Android Studio на языке программирования Kotlin.
Код урока можно найти тут: https://neco-desarrollo.es/exyg
Курс "Список покупок" на Kotlin и Room persistance library: https://www.udemy.com/course/room…
Код урока можно найти тут: https://neco-desarrollo.es/exyg
Курс "Список покупок" на Kotlin и Room persistance library: https://www.udemy.com/course/room…
Бесплатный курс по Flutter-разработке
Недавно мы рассказывали про свежий курс лекций от «Яндекса» по мобильной разработке. Помимо основного курса по Android-разработке, ребята проводили факультатив по фреймворку Flutter и уже выложили записи лекций:
https://tprg.ru/URGE
Вы познакомитесь с языком Dart и разберёте основные концепции Flutter: построение UI, работу с сетью, анимацию и популярные архитектурные подходы.
#flutter #курсы
Недавно мы рассказывали про свежий курс лекций от «Яндекса» по мобильной разработке. Помимо основного курса по Android-разработке, ребята проводили факультатив по фреймворку Flutter и уже выложили записи лекций:
https://tprg.ru/URGE
Вы познакомитесь с языком Dart и разберёте основные концепции Flutter: построение UI, работу с сетью, анимацию и популярные архитектурные подходы.
#flutter #курсы
Telegram
Мобильная разработка
Большой курс лекций по Android для начинающих
Этим летом «Яндекс» открывал Школу мобильной разработки — курс по созданию полноценных мобильных приложений. Теперь записи лекций доступны бесплатно всем желающим:
https://tprg.ru/iMHp
В курсе освещены все…
Этим летом «Яндекс» открывал Школу мобильной разработки — курс по созданию полноценных мобильных приложений. Теперь записи лекций доступны бесплатно всем желающим:
https://tprg.ru/iMHp
В курсе освещены все…
Как работать с рекламными сетями в условиях IDFA
Введение рекламного идентификатора IDFA в iOS-приложения достаточно сильно изменило рынок мобильной рекламы. Теперь необходимо запрашивать доступ к персональным данным пользователя и обрабатывать оба варианта, когда пользователь:
— предоставил IDFA;
— отказался от отслеживания.
Подробнее о нюансах работы с IDFA:
https://tprg.ru/i5Hw
#ios
Введение рекламного идентификатора IDFA в iOS-приложения достаточно сильно изменило рынок мобильной рекламы. Теперь необходимо запрашивать доступ к персональным данным пользователя и обрабатывать оба варианта, когда пользователь:
— предоставил IDFA;
— отказался от отслеживания.
Подробнее о нюансах работы с IDFA:
https://tprg.ru/i5Hw
#ios
👍1
Фикс Retrofit для корутин
В Retrofit 2.6.0 появилась полноценная поддержка корутин. Однако на практике работа с сетью происходит не совсем асинхронно: в некоторых случаях становится перегружен main thread приложения.
Ребята из 65apps выявили причину такого поведения и выпустили фикс для suspend-функций. Подробнее — в статье:
https://tprg.ru/3UaS
#android
В Retrofit 2.6.0 появилась полноценная поддержка корутин. Однако на практике работа с сетью происходит не совсем асинхронно: в некоторых случаях становится перегружен main thread приложения.
Ребята из 65apps выявили причину такого поведения и выпустили фикс для suspend-функций. Подробнее — в статье:
https://tprg.ru/3UaS
#android
iOS-фреймворк для анимации прокрутки
Gemini предлагает множество типов анимации: круговую, кубическую и различные 3D-эффекты. При желании можно реализовать собственную анимацию на базе имеющихся.
Как использовать: https://github.com/shoheiyokoyama/Gemini
#ios
Gemini предлагает множество типов анимации: круговую, кубическую и различные 3D-эффекты. При желании можно реализовать собственную анимацию на базе имеющихся.
Как использовать: https://github.com/shoheiyokoyama/Gemini
#ios
👍1
Модульность и DI в современном Android-приложении
Задумались над тем, чтобы разбить приложение на модули? Рекомендуем сначала ознакомиться с туториалом от «Яндекса»:
https://tprg.ru/ljsO
В нём вы узнаете, как можно грамотно разделить на модули, осуществить Dependency Injection между модулями и не налететь на подводные камни.
#android
Задумались над тем, чтобы разбить приложение на модули? Рекомендуем сначала ознакомиться с туториалом от «Яндекса»:
https://tprg.ru/ljsO
В нём вы узнаете, как можно грамотно разделить на модули, осуществить Dependency Injection между модулями и не налететь на подводные камни.
#android
Side Effects в Jetpack Compose
Side Effect или побочный эффект представляет собой изменение состояния Android-приложения, которое происходит за пределами области составной функции. На практике Side Effects помогают запускать корутины, управлять логикой в Compose и не только.
Подробнее о Side Effects в Compose:
https://youtu.be/NxwkaPdLQPk
#android #compose
Side Effect или побочный эффект представляет собой изменение состояния Android-приложения, которое происходит за пределами области составной функции. На практике Side Effects помогают запускать корутины, управлять логикой в Compose и не только.
Подробнее о Side Effects в Compose:
https://youtu.be/NxwkaPdLQPk
#android #compose
Таймер с симуляцией волн
Нашли интересный проект на GitHub, где реализована красивая анимация волн, синхронизированная с таймером. Реализовано на Kotlin и Jetpack Compose.
Как это работает: https://github.com/manueldidonna/waves-timer-animation
#android #ui #compose
Нашли интересный проект на GitHub, где реализована красивая анимация волн, синхронизированная с таймером. Реализовано на Kotlin и Jetpack Compose.
Как это работает: https://github.com/manueldidonna/waves-timer-animation
#android #ui #compose
А точно ли UIKit про графический интерфейс?
UI приложения — это не только графический интерфейс, но и интерфейсы взаимодействия пользователя: тачскрин, клавиатура или мышь. И сам UIKit в iOS-приложении отвечает за последнее — распознавание и обработку пользовательских жестов.
Как же так, если у UIKit есть базовый класс UIView, через который мы настраиваем наш UI? Давайте разбираться:
https://tprg.ru/Pdow
#ios #начинающим
UI приложения — это не только графический интерфейс, но и интерфейсы взаимодействия пользователя: тачскрин, клавиатура или мышь. И сам UIKit в iOS-приложении отвечает за последнее — распознавание и обработку пользовательских жестов.
Как же так, если у UIKit есть базовый класс UIView, через который мы настраиваем наш UI? Давайте разбираться:
https://tprg.ru/Pdow
#ios #начинающим
👍1
Как написать Gradle-плагин
С версии 7.0 система сборки Gradle предлагает уже стабильные точки расширения для управления конфигурацией вариантов. Поэтому вы можете реализовать собственный Gradle-плагин для кастомизации сборки, чтобы покрыть все требования проекта.
Как это сделать: https://tprg.ru/IVbi
В формате видео: https://youtu.be/LPzBVtwGxlo
#android
Если вы пропустили первую часть:
С версии 7.0 система сборки Gradle предлагает уже стабильные точки расширения для управления конфигурацией вариантов. Поэтому вы можете реализовать собственный Gradle-плагин для кастомизации сборки, чтобы покрыть все требования проекта.
Как это сделать: https://tprg.ru/IVbi
В формате видео: https://youtu.be/LPzBVtwGxlo
#android
Если вы пропустили первую часть:
Telegram
Мобильная разработка
Конфигурация сборки в Gradle: как это работает
В Android-приложениях основной системой сборки проекта является Gradle. Она выполняет важную задачу: собирает проект вместе со всеми зависимостями в единое приложение.
Знание того, как работает Gradle, поможет…
В Android-приложениях основной системой сборки проекта является Gradle. Она выполняет важную задачу: собирает проект вместе со всеми зависимостями в единое приложение.
Знание того, как работает Gradle, поможет…
Подборка актуальных вакансий для iOS-разработчиков
— Senior iOS Developer в Sportmaster Lab
Где: Санкт-Петербург, Москва, Краснодар, можно удалённо
Сколько: По итогам собеседования
Стек: HTTP, iOS, Kotlin, Realm, REST API, Swift, Xcode
— iOS Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования
Стек: iOS, Swift
#вакансии #работа
— Senior iOS Developer в Sportmaster Lab
Где: Санкт-Петербург, Москва, Краснодар, можно удалённо
Сколько: По итогам собеседования
Стек: HTTP, iOS, Kotlin, Realm, REST API, Swift, Xcode
— iOS Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования
Стек: iOS, Swift
#вакансии #работа
Как отследить взаимодействие пользователя с Flutter-приложением?
В этом поможет виджет GestureDetector. Он фиксирует простые, двойные и клики с удерживанием, перелистывания, перетаскивания, а также жесты сжатия и растягивания.
Коротко о GestureDetector (с русскими субтитрами): https://youtu.be/WhVXkCFPmK4
Попробовать демо: https://tprg.ru/ML9W
#flutter
В этом поможет виджет GestureDetector. Он фиксирует простые, двойные и клики с удерживанием, перелистывания, перетаскивания, а также жесты сжатия и растягивания.
Коротко о GestureDetector (с русскими субтитрами): https://youtu.be/WhVXkCFPmK4
Попробовать демо: https://tprg.ru/ML9W
#flutter
YouTube
GestureDetector (Widget of the Week)
Learn more about GestureDetector → https://goo.gle/3jO0nxv
Looking to track all sorts of user interactions on your app? Try GestureDetector! It can watch clicks 👆🏿, double clicks 👆🏿👆🏿, long clicks, swipes 🧹, drags, and even pinches or zooms 🔍
This video…
Looking to track all sorts of user interactions on your app? Try GestureDetector! It can watch clicks 👆🏿, double clicks 👆🏿👆🏿, long clicks, swipes 🧹, drags, and even pinches or zooms 🔍
This video…
Яндекс.Игры совместно с Defold организуют game jam
Цель Yandex.Games Jam — собрать лучших разработчиков на Defold, которые будут соревноваться в создании веб-игры на определённую тему.
Всего будет 3 номинации с десятью призовыми местами в каждой. Среди призов: игровые консоли, iPhone 12, фичеринг на платформе и многое другое.
Yandex.Games Jam проходит до 15 декабря, успейте подать заявку: https://wow.link/DK91
#ивент
Цель Yandex.Games Jam — собрать лучших разработчиков на Defold, которые будут соревноваться в создании веб-игры на определённую тему.
Всего будет 3 номинации с десятью призовыми местами в каждой. Среди призов: игровые консоли, iPhone 12, фичеринг на платформе и многое другое.
Yandex.Games Jam проходит до 15 декабря, успейте подать заявку: https://wow.link/DK91
#ивент
Оптимизация времени CI-сборки проекта на Kotlin Multiplatform
Сборка проекта на KMM вызывает затруднения, когда требуется создать билды для нескольких target-платформ (Android и iOS, например). К тому же, хостинг машины на macOS обходится существенно дороже, чем на Windows и тем более на Linux.
К счастью, сборку можно оптимизировать: на macOS и Windows собирать только необходимые части, а остальное — на хостинге с Linux. И дешевле, и быстрее, ведь происходит параллельная сборка.
Подробнее: https://tprg.ru/mKGO
#ios #kmm #android
Сборка проекта на KMM вызывает затруднения, когда требуется создать билды для нескольких target-платформ (Android и iOS, например). К тому же, хостинг машины на macOS обходится существенно дороже, чем на Windows и тем более на Linux.
К счастью, сборку можно оптимизировать: на macOS и Windows собирать только необходимые части, а остальное — на хостинге с Linux. И дешевле, и быстрее, ведь происходит параллельная сборка.
Подробнее: https://tprg.ru/mKGO
#ios #kmm #android
Main Loop (главный цикл) в Android
Main Loop является важнейшей частью главного потока (main/UI thread) любого Android-приложения. За главный цикл и его работу отвечает класс Looper.
На собеседованиях нередко спрашивают про Main Loop и, в частности, про Looper, Handler, Message и MessageQueue, поэтому серия статей поможет разобраться в тонкостях их работы:
1. Реализация простейшего цикла событий.
2. Main Loop в Android SDK в Java-слое.
3. Работа с Main Loop в C++ слое.
#android #начинающим
Main Loop является важнейшей частью главного потока (main/UI thread) любого Android-приложения. За главный цикл и его работу отвечает класс Looper.
На собеседованиях нередко спрашивают про Main Loop и, в частности, про Looper, Handler, Message и MessageQueue, поэтому серия статей поможет разобраться в тонкостях их работы:
1. Реализация простейшего цикла событий.
2. Main Loop в Android SDK в Java-слое.
3. Работа с Main Loop в C++ слое.
#android #начинающим
Курс видеоуроков по Dagger 2
Серия уроков на YouTube научит вас работать с фреймворком для внедрения зависимостей (DI) а Android-проект:
1. Основы DI и Dagger.
2. Организация модулей. Типы Inject. Способы доставки зависимостей.
3. Dagger Component, Subcomponent, Scope, Reusable.
4. Dagger Multibinding. Плагины в архитектуре.
5. Dagger 2 в многомодульном Android-проекте.
6. Hilt — лёгкий старт в Dagger.
7. Как ускорить Dagger в Android.
#android
Серия уроков на YouTube научит вас работать с фреймворком для внедрения зависимостей (DI) а Android-проект:
1. Основы DI и Dagger.
2. Организация модулей. Типы Inject. Способы доставки зависимостей.
3. Dagger Component, Subcomponent, Scope, Reusable.
4. Dagger Multibinding. Плагины в архитектуре.
5. Dagger 2 в многомодульном Android-проекте.
6. Hilt — лёгкий старт в Dagger.
7. Как ускорить Dagger в Android.
#android
YouTube
Основы DI и Dagger, как работает, настройка в проекте
Из урока вы узнаете про Dependency Injection, как работает Dagger, подключите его в проект
🔗 Каналы "Android Broadcast" https://taplink.cc/android_broadcast
🔗 Поддержать проект https://taplink.cc/android_broadcast/p/video-early-access/
🔗 Документация по…
🔗 Каналы "Android Broadcast" https://taplink.cc/android_broadcast
🔗 Поддержать проект https://taplink.cc/android_broadcast/p/video-early-access/
🔗 Документация по…