Не стоит доверять оценкам в 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/
🔗 Документация по…
Как подружить Dagger и многомодульность Android-проекта
При разделении приложения на модули могут возникнуть проблемы с зависимостями. Их решение показано в статье на примере приложения, которое предоставляет инструменты для выполнения математических операций:
https://tprg.ru/dPFT
Кстати, если вы не освоили Dagger, то в предыдущем посте мы поделились серией крутых уроков по DI-фреймворку.
#android
При разделении приложения на модули могут возникнуть проблемы с зависимостями. Их решение показано в статье на примере приложения, которое предоставляет инструменты для выполнения математических операций:
https://tprg.ru/dPFT
Кстати, если вы не освоили Dagger, то в предыдущем посте мы поделились серией крутых уроков по DI-фреймворку.
#android
Бесплатный курс лекций по iOS-разработке от «Яндекса»
Подоспела годнота — ребята из «Яндекса» выложили на YouTube записи лекций по iOS-разработке, которые читались этим летом в Школе мобильной разработки:
https://tprg.ru/Ycfh
В курсе прошлись по всем важным аспектам разработки приложений, начиная с углубленного изучения особенностей Swift и заканчивая особенностями сборки, автотестов и подходов к построению архитектуры приложения.
#ios
Также доступны лекции по Flutter и Android-разработке:
Подоспела годнота — ребята из «Яндекса» выложили на YouTube записи лекций по iOS-разработке, которые читались этим летом в Школе мобильной разработки:
https://tprg.ru/Ycfh
В курсе прошлись по всем важным аспектам разработки приложений, начиная с углубленного изучения особенностей Swift и заканчивая особенностями сборки, автотестов и подходов к построению архитектуры приложения.
#ios
Также доступны лекции по Flutter и Android-разработке:
Telegram
Мобильная разработка
Бесплатный курс по Flutter-разработке
Недавно мы рассказывали про свежий курс лекций от «Яндекса» по мобильной разработке. Помимо основного курса по Android-разработке, ребята проводили факультатив по фреймворку Flutter и уже выложили записи лекций:
h…
Недавно мы рассказывали про свежий курс лекций от «Яндекса» по мобильной разработке. Помимо основного курса по Android-разработке, ребята проводили факультатив по фреймворку Flutter и уже выложили записи лекций:
h…
Kotlin for everything: доклад с Omsk DevFest
В 2021 году пользователи имеют такое большое количество устройств, что создание кроссплатформенных приложений уже стало необходимостью. И инструмент Kotlin Multiplatform может стать решением проблемы.
KMM объединяет всю бизнес-логику в единые модули, которые вы можете использовать на различных платформах (Android, iOS, веб) и при этом писать логику только на Kotlin.
Мобильная команда из Leroy Merlin уже использует KMM в своих проектах. И разработчик Алексей Гладков рассказал, как им удалось переехать с Android, с какими сложностями с KMM они столкнулись и оправдал ли результат ожиданий:
https://youtu.be/9u37zatFYgM
#android #ios #kmm
В 2021 году пользователи имеют такое большое количество устройств, что создание кроссплатформенных приложений уже стало необходимостью. И инструмент Kotlin Multiplatform может стать решением проблемы.
KMM объединяет всю бизнес-логику в единые модули, которые вы можете использовать на различных платформах (Android, iOS, веб) и при этом писать логику только на Kotlin.
Мобильная команда из Leroy Merlin уже использует KMM в своих проектах. И разработчик Алексей Гладков рассказал, как им удалось переехать с Android, с какими сложностями с KMM они столкнулись и оправдал ли результат ожиданий:
https://youtu.be/9u37zatFYgM
#android #ios #kmm
YouTube
Kotlin for everything. Omsk DevFest / Мобильный разработчик [Live, Ru]
Запись доклада с Omsk DevFest, где я рассказывал о том, как мы переехали из Android в Kotlin Multiplatform, поэтому доклад называется Kotlin for everything
Напоминаю, что видео вначале выходят для моих патронов и спонсоров. Стать им можно по ссылке ниже…
Напоминаю, что видео вначале выходят для моих патронов и спонсоров. Стать им можно по ссылке ниже…