Внедрение зависимостей в Android-приложение
1. Основы dependency injection
В видео вы узнаете, что такое инверсия управления (Inversion of Control или IoC), принцип инверсии зависимостей (Dependency Inversion Principle или DIP), внедрение зависимостей (Dependency Injection или DI) и IoC Container.
2. Hilt, часть 1
Вы научитесь использовать библиотеку Hilt в Android-приложении для построения графа зависимостей. В процессе вы узнаете о стандартных компонентах, квалификаторах и аннотациях в Hilt.
3. Hilt, часть 2
В видео показано, как перенести на Hilt ViewModel, Fragments и Activity.
#android #di
1. Основы dependency injection
В видео вы узнаете, что такое инверсия управления (Inversion of Control или IoC), принцип инверсии зависимостей (Dependency Inversion Principle или DIP), внедрение зависимостей (Dependency Injection или DI) и IoC Container.
2. Hilt, часть 1
Вы научитесь использовать библиотеку Hilt в Android-приложении для построения графа зависимостей. В процессе вы узнаете о стандартных компонентах, квалификаторах и аннотациях в Hilt.
3. Hilt, часть 2
В видео показано, как перенести на Hilt ViewModel, Fragments и Activity.
#android #di
👍18
Система диплинков в Android-приложении: опыт QIWI
Диплинки представляют собой URI на конкретный ресурс в приложении. Они направляют пользователя в нужную часть приложения всего за один тап (например, из уведомлений). Выглядит удобно для бизнеса и пользователей, однако на практике нужно уделить большое внимание безопасности и актуальности диплинков.
Поэтому ребята из QIWI построили свою систему обработки, анализа и мониторинга диплинков с кодогенерацией:
https://habr.com/ru/company/qiwi/blog/673850/
#android
Диплинки представляют собой URI на конкретный ресурс в приложении. Они направляют пользователя в нужную часть приложения всего за один тап (например, из уведомлений). Выглядит удобно для бизнеса и пользователей, однако на практике нужно уделить большое внимание безопасности и актуальности диплинков.
Поэтому ребята из QIWI построили свою систему обработки, анализа и мониторинга диплинков с кодогенерацией:
https://habr.com/ru/company/qiwi/blog/673850/
#android
👍10
Интегрируем Flutter в действующий нативный Android-проект
Решили перенести Android-проект на Flutter, чтобы приложение работало на Android и iOS? Необязательно переписывать всё сразу.
В нативный проект на Android можно постепенно внедрить отдельные модули на Flutter. Так вы сможете проанализировать работу каждого компонента и постепенно перенести всё приложение.
Как создать Flutter-модуль, объясняется в статье на примере раздела FAQ:
https://tproger.ru/articles/kak-integrirovat-flutter-v-dejstvujushhij-nativnyj-android-proekt/
#android #flutter
Решили перенести Android-проект на Flutter, чтобы приложение работало на Android и iOS? Необязательно переписывать всё сразу.
В нативный проект на Android можно постепенно внедрить отдельные модули на Flutter. Так вы сможете проанализировать работу каждого компонента и постепенно перенести всё приложение.
Как создать Flutter-модуль, объясняется в статье на примере раздела FAQ:
https://tproger.ru/articles/kak-integrirovat-flutter-v-dejstvujushhij-nativnyj-android-proekt/
#android #flutter
👍10
Все компоненты и свойства SwiftUI — в одном каталоге
Все элементы удобно разбиты по версиям SwiftUI, в которых они появились, а также имеют пометку, для каких платформ доступны (iOS, macOS, watchOS или tvOS).
Сохраняйте годноту к себе: https://mackuba.eu/swiftui/changelog
#ios #swiftui
Все элементы удобно разбиты по версиям SwiftUI, в которых они появились, а также имеют пометку, для каких платформ доступны (iOS, macOS, watchOS или tvOS).
Сохраняйте годноту к себе: https://mackuba.eu/swiftui/changelog
#ios #swiftui
👍4
Что послушать: подкаст про мобильные архитектуры
Начнём своё утро с чашки кофе и крутого выпуска подкаста от Podlodka. В нём подняли тему, которая не раз вызывала споры среди мобильных разработчиков. Да, речь про мобильные архитектуры.
Ведущие подкаста и приглашённый гость Евгений Елчев попытались разобраться, зачем столько архитектур мобильным разработчикам и в чём между ними разница:
https://youtu.be/3EoEnoA4oU8
#подкасты #архитектура #ios
Начнём своё утро с чашки кофе и крутого выпуска подкаста от Podlodka. В нём подняли тему, которая не раз вызывала споры среди мобильных разработчиков. Да, речь про мобильные архитектуры.
Ведущие подкаста и приглашённый гость Евгений Елчев попытались разобраться, зачем столько архитектур мобильным разработчикам и в чём между ними разница:
https://youtu.be/3EoEnoA4oU8
#подкасты #архитектура #ios
👍17👎4
Диспетчеризация в Swift: погружение в теорию и практику
Method Dispatch, или диспетчеризация, — это процесс, при котором программа выбирает, какие инструкции выполнить при вызове метода. На Swift существует 3 типа диспетчеризации: статическая Direct Dispatch и динамические Table Dispatch и Message Dispatch.
На собеседовании по iOS-разработке могут задать вопрос по этой теме. Разобраться в Method Dispatch поможет статья:
https://habr.com/ru/company/simbirsoft/blog/673636/
#ios
Method Dispatch, или диспетчеризация, — это процесс, при котором программа выбирает, какие инструкции выполнить при вызове метода. На Swift существует 3 типа диспетчеризации: статическая Direct Dispatch и динамические Table Dispatch и Message Dispatch.
На собеседовании по iOS-разработке могут задать вопрос по этой теме. Разобраться в Method Dispatch поможет статья:
https://habr.com/ru/company/simbirsoft/blog/673636/
#ios
👍12🔥1🤩1💩1
Подборка актуальных вакансий
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Преподаватель на курс «Flutter»
Где: удалённо
Опыт: от 3 лет
— Преподаватель на курс «iOS»
Где: удалённо
Опыт: от 5 лет
#вакансии #работа
— iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет
— Преподаватель на курс «Flutter»
Где: удалённо
Опыт: от 3 лет
— Преподаватель на курс «iOS»
Где: удалённо
Опыт: от 5 лет
#вакансии #работа
💩11👎5👍1
Сделаем Android Studio более красивой и наглядной
Бегающий Марио в прогресс баре, отдельный цвет для каждой пары скобок в коде, иконки в стиле Material — Android Studio можно полностью кастомизировать под себя. Главное, чтобы в процессе не крашнулась.
Интересные темы, иконки, шрифты, прогресс-бары и другие плагины собраны в одной статье:
https://blog.protein.tech/how-to-make-android-studio-look-awesome-ee19e3719a59
#android #начинающим
Бегающий Марио в прогресс баре, отдельный цвет для каждой пары скобок в коде, иконки в стиле Material — Android Studio можно полностью кастомизировать под себя. Главное, чтобы в процессе не крашнулась.
Интересные темы, иконки, шрифты, прогресс-бары и другие плагины собраны в одной статье:
https://blog.protein.tech/how-to-make-android-studio-look-awesome-ee19e3719a59
#android #начинающим
🤡23❤🔥7👍2🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
Ищем в команду соцсетей Tproger редактора
Коротко о том, что нужно будет делать: создавать контент в Telegram-каналы по теме IT и помогать развивать эти каналы.
Подробнее о вакансии, ссылка на тестовое и отклик здесь: https://tprg.ru/EguN
Коротко о том, что нужно будет делать: создавать контент в Telegram-каналы по теме IT и помогать развивать эти каналы.
Подробнее о вакансии, ссылка на тестовое и отклик здесь: https://tprg.ru/EguN
👍4💩4
Миграция на новые API для тестирования корутин
Обновление
Если вы ещё не совершили миграцию своего проекта, то перенести его со старых на новые API для тестирования корутин поможет статья:
https://medium.com/androiddevelopers/migrating-to-the-new-coroutines-1-6-test-apis-b99f7fc47774
#android
Обновление
kotlinx.coroutines до версии 1.6 принесло новые API для тестирования корутин, и старые объявлены устаревшими (deprecated). Более того, к концу 2022 года старые API окончательно удалят.Если вы ещё не совершили миграцию своего проекта, то перенести его со старых на новые API для тестирования корутин поможет статья:
https://medium.com/androiddevelopers/migrating-to-the-new-coroutines-1-6-test-apis-b99f7fc47774
#android
👍2
Учебное пособие по AsyncSequence и AsyncStream для iOS
В этом учебном пособии вы можете узнать, как использовать протоколы параллелизма Swift AsyncSequence и AsyncStream для обработки асинхронных последовательностей:
https://www.raywenderlich.com/34044359-asyncsequence-asyncstream-tutorial-for-ios
#swift #ios
В этом учебном пособии вы можете узнать, как использовать протоколы параллелизма Swift AsyncSequence и AsyncStream для обработки асинхронных последовательностей:
https://www.raywenderlich.com/34044359-asyncsequence-asyncstream-tutorial-for-ios
#swift #ios
👍3
Переход на регулярные релизы мобильного приложения: опыт InDriver
Выпуск по готовности больших задач несёт за собой множество проблем, например, более мелкие фичи простаивают в ожидании крупного релиза. Ситуация усугубляется, когда над приложением работает несколько команд.
Чтобы устранить проблемы, ребята из InDriver решили полностью переработать подход к релизу приложения и сделать релиз регулярным. Подробности — в статье:
https://habr.com/ru/company/indriver/blog/665892/
#android #ios
Выпуск по готовности больших задач несёт за собой множество проблем, например, более мелкие фичи простаивают в ожидании крупного релиза. Ситуация усугубляется, когда над приложением работает несколько команд.
Чтобы устранить проблемы, ребята из InDriver решили полностью переработать подход к релизу приложения и сделать релиз регулярным. Подробности — в статье:
https://habr.com/ru/company/indriver/blog/665892/
#android #ios
👍11👎1
Apple разрешила сторонние системы платежей в App Store в Южной Корее
Причиной послужил вышедший в Южной Корее закон, обязывающий операторов магазинов приложений предлагать альтернативные платёжные системы.
Разработчикам для использования другой платёжной системы нужно отправить запрос в Apple. В свою очередь, Apple будет брать комиссию в 26% за все сторонние платежи и ограничит для таких покупок некоторые функции App Store, например Family Sharing или Ask to Buy. Такой шаг Apple объясняет тем, что не может подтвердить покупки за пределами своей платёжной системы в App Store.
#ios
Причиной послужил вышедший в Южной Корее закон, обязывающий операторов магазинов приложений предлагать альтернативные платёжные системы.
Разработчикам для использования другой платёжной системы нужно отправить запрос в Apple. В свою очередь, Apple будет брать комиссию в 26% за все сторонние платежи и ограничит для таких покупок некоторые функции App Store, например Family Sharing или Ask to Buy. Такой шаг Apple объясняет тем, что не может подтвердить покупки за пределами своей платёжной системы в App Store.
#ios
😱12👍3💩1
14 задач по Kotlin lists, которые заставят вас подумать
Держите подборку задач, которые помогут вам проверить насколько хорошо вы разбираетесь в операторах для списков. Некоторые задачи могут показаться вам лёгкими, но другие точно заставят напрячь мозги.
Попробуйте решить их все:
https://habr.com/ru/company/ru_mts/blog/674040/
#android #kotlin
Держите подборку задач, которые помогут вам проверить насколько хорошо вы разбираетесь в операторах для списков. Некоторые задачи могут показаться вам лёгкими, но другие точно заставят напрячь мозги.
Попробуйте решить их все:
https://habr.com/ru/company/ru_mts/blog/674040/
#android #kotlin
👍19💩9
Пинбол на Android
Энтузиаст написал полноценный порт классического пинбола Windows XP для Android. Поиграть в него может любой желающий, установив APK, но также вы можете изучить код игры и даже создать свой форк:
https://github.com/fexed/Pinball-on-Android
#android #игры
Энтузиаст написал полноценный порт классического пинбола Windows XP для Android. Поиграть в него может любой желающий, установив APK, но также вы можете изучить код игры и даже создать свой форк:
https://github.com/fexed/Pinball-on-Android
#android #игры
👍28🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Multiliner
Расширение для Xcode, позволяющее привести в читаемый вид длинные строки кода. Пример работы выше, а инструкция по установке тут:
https://github.com/aheze/Multiliner
#xcode
Расширение для Xcode, позволяющее привести в читаемый вид длинные строки кода. Пример работы выше, а инструкция по установке тут:
https://github.com/aheze/Multiliner
#xcode
👍16👎2
Ionic vs React Native: ключевые различия, о которых следует знать перед началом работы
Для разработки мобильных приложений требуется, чтобы оно работало на разных операционных системах и чтобы не переписывать код под отдельную операционную систему используют фреймворки. Для этого существует множество различных решений, но сегодня речь пойдёт о двух фреймворках — Ionic и React Native.
Подробнее в статье
https://proglib.io/p/ionic-vs-react-native-klyuchevye-razlichiya-o-kotoryh-sleduet-znat-pered-nachalom-raboty-2022-06-23
#reactnative #ionic
Для разработки мобильных приложений требуется, чтобы оно работало на разных операционных системах и чтобы не переписывать код под отдельную операционную систему используют фреймворки. Для этого существует множество различных решений, но сегодня речь пойдёт о двух фреймворках — Ionic и React Native.
Подробнее в статье
https://proglib.io/p/ionic-vs-react-native-klyuchevye-razlichiya-o-kotoryh-sleduet-znat-pered-nachalom-raboty-2022-06-23
#reactnative #ionic
💩10👍4🔥1🌚1
Приключение на 5 минут: как перевести все зависимости на SPM
Интересная история о том, что делать, если проект изначально писался на одном языке и подтягивали зависимости через один менеджер, а спустя время было решено перенести его на Swift и, сооветственно, Swift Package Manager.
Автор поделился собственным случаем здесь:
https://habr.com/ru/company/psb/blog/674406/
#swift #ios
Интересная история о том, что делать, если проект изначально писался на одном языке и подтягивали зависимости через один менеджер, а спустя время было решено перенести его на Swift и, сооветственно, Swift Package Manager.
Автор поделился собственным случаем здесь:
https://habr.com/ru/company/psb/blog/674406/
#swift #ios
👍7
Гайд по работе с GitHub Copilot
21 июня вышел GitHub Copilot — инструменты, помогающий разработчикам писать код на различных языках. У нас на сайте появилась статья, посвящённая его применению. Если хотите попробовать что-то новое и не жалко 10 долларов в месяц, то обязательно сперва ознакомьтесь с ней:
https://tproger.ru/articles/gajd-po-rabote-s-github-copilot/
#github
21 июня вышел GitHub Copilot — инструменты, помогающий разработчикам писать код на различных языках. У нас на сайте появилась статья, посвящённая его применению. Если хотите попробовать что-то новое и не жалко 10 долларов в месяц, то обязательно сперва ознакомьтесь с ней:
https://tproger.ru/articles/gajd-po-rabote-s-github-copilot/
#github
👍4
Собеседование iOS разработчика: вопросы и задания
Собрали для вас вопросы и задачи, которые часто попадаются на собеседованиях iOS-разработчиков. Сможете ответить на все правильно?
https://tproger.ru/articles/sobesedovanie-ios-razrabotchika-voprosy-i-zadanija/
#ios
Собрали для вас вопросы и задачи, которые часто попадаются на собеседованиях iOS-разработчиков. Сможете ответить на все правильно?
https://tproger.ru/articles/sobesedovanie-ios-razrabotchika-voprosy-i-zadanija/
#ios
👍6👎1
Большой курс по Flutter
В этом курсы более 50 уроков по Flutter, начиная от установки Flutter SDK до обработки ошибок. Здесь также вы найдёте уроки по созданию полноценного приложения. Подробнее:
https://www.youtube.com/watch?v=RDEOBP6PKlk&list=PLtXyatp5fW30ksCelZf6Ny6YpqfzXMk9u
#flutter #курс
В этом курсы более 50 уроков по Flutter, начиная от установки Flutter SDK до обработки ошибок. Здесь также вы найдёте уроки по созданию полноценного приложения. Подробнее:
https://www.youtube.com/watch?v=RDEOBP6PKlk&list=PLtXyatp5fW30ksCelZf6Ny6YpqfzXMk9u
#flutter #курс
🐳27👍5