Media is too big
VIEW IN TELEGRAM
Как создать пользовательский экран в SwiftUI
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
👉 @developer_mobila
Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]
https://github.com/fieldday-ai/Modals
#ios
👉 @developer_mobila
Прочие оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода
В предыдущих статьях мы подготовили и настроили базовый модуль для написания Gradle Convention Plugins, написали несколько convention-плагинов в файлах -.gradle.kts, сделали еще один модуль и создали convention-плагины на базе kotlin-классов. В заключительной части мы немного порефакторим написанный код, попытаемся настроить области видимости convention-плагинов и extension-функций для конфигурации сборки, а также подведем итоги.
https://habr.com/ru/companies/tbank/articles/846340/
#Android@developer_mobila
👉 @developer_mobila
В предыдущих статьях мы подготовили и настроили базовый модуль для написания Gradle Convention Plugins, написали несколько convention-плагинов в файлах -.gradle.kts, сделали еще один модуль и создали convention-плагины на базе kotlin-классов. В заключительной части мы немного порефакторим написанный код, попытаемся настроить области видимости convention-плагинов и extension-функций для конфигурации сборки, а также подведем итоги.
https://habr.com/ru/companies/tbank/articles/846340/
#Android@developer_mobila
👉 @developer_mobila
🤖 Пройди тест по Flutter и проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения вы научитесь создавать современные кроссплатформенные приложения с помощью Flutter, а также создадите свой аналог Telegram, CoinMarketCap, Todoist.
Вас ждёт практические домашние задания, которые помогут вам не только применить знания на практике, но и помочь в реализации проектной работы.
➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cIfhOf
Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения вы научитесь создавать современные кроссплатформенные приложения с помощью Flutter, а также создадите свой аналог Telegram, CoinMarketCap, Todoist.
Вас ждёт практические домашние задания, которые помогут вам не только применить знания на практике, но и помочь в реализации проектной работы.
➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cIfhOf
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Bottom Sheets that... just work
В Android-разработке Bottom Sheet – это всплывающее окно внизу экрана, которое часто используется для отображения дополнительной информации или действий.
Ключевые моменты из туториала:
🔹 Использование ModalBottomSheet из Material 3.
🔹Работа с BottomSheetScaffold для лучшей интеграции в Compose.
🔹Управление состоянием через rememberModalBottomSheetState().
🔹Примеры кода для создания кастомных Bottom Sheets.
https://composables.com/jetpack-compose-tutorials/bottom-sheets-that-just-work
#Android@developer_mobila
👉 @developer_mobila
В Android-разработке Bottom Sheet – это всплывающее окно внизу экрана, которое часто используется для отображения дополнительной информации или действий.
Ключевые моменты из туториала:
🔹 Использование ModalBottomSheet из Material 3.
🔹Работа с BottomSheetScaffold для лучшей интеграции в Compose.
🔹Управление состоянием через rememberModalBottomSheetState().
🔹Примеры кода для создания кастомных Bottom Sheets.
https://composables.com/jetpack-compose-tutorials/bottom-sheets-that-just-work
#Android@developer_mobila
👉 @developer_mobila
На открытом вебинаре мы научим вас создавать доменно-специфические языки на Kotlin. Разберём, как сделать код компактным, выразительным и удобным для решения узкопрофильных задач.
Это не просто теория. Мы покажем реальные примеры и расскажем, как применять DSL для автоматизации, работы с конфигурациями и других задач.
Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в компании ПАО «Сургутнефтегаз».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Инъекция зависимостей в Compose
В этой статье мы подробно рассмотрим, как Hilt обеспечивает и определяет зависимости в традиционном приложении для Android и как Compose меняет наш подход.
https://medium.com/androiddevelopers/dependency-injection-in-compose-a2db897e6f11
#Android
👉 @developer_mobila
В этой статье мы подробно рассмотрим, как Hilt обеспечивает и определяет зависимости в традиционном приложении для Android и как Compose меняет наш подход.
https://medium.com/androiddevelopers/dependency-injection-in-compose-a2db897e6f11
#Android
👉 @developer_mobila
🗓 18 февраля в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional» от Otus.
На вебинаре рассмотрим:
🔗 Ссылка на регистрацию: https://vk.cc/cIwnXI
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Создание динамического перетаскиваемого ScrollView с UIKit для SwiftUI
В одном из наших недавних проектов мы столкнулись с интересной задачей — переработать интерфейс карты и поиска. В реализованном дизайне используется гибридное состояние: карта располагается за сворачиваемым списком внизу экрана, аналогично тому, как это реализовано в популярных приложениях, таких как Apple Maps и Google Maps!
Этот подход принес ряд сложностей, особенно учитывая, что нам нужно было реализовать эту функцию внутри SwiftUI, при этом поддерживая iOS 15. Одной из главных трудностей стала ограниченная возможность управления представлением, которая стала доступна только в iOS 16+ с presentationDetents. Более подробно о presentationDetents я планирую рассказать в одном из следующих материалов!
https://medium.com/livefront/creating-a-dynamic-draggable-scrollview-with-uikit-for-swiftui-13bd25c2954c
#ios
👉 @developer_mobila
В одном из наших недавних проектов мы столкнулись с интересной задачей — переработать интерфейс карты и поиска. В реализованном дизайне используется гибридное состояние: карта располагается за сворачиваемым списком внизу экрана, аналогично тому, как это реализовано в популярных приложениях, таких как Apple Maps и Google Maps!
Этот подход принес ряд сложностей, особенно учитывая, что нам нужно было реализовать эту функцию внутри SwiftUI, при этом поддерживая iOS 15. Одной из главных трудностей стала ограниченная возможность управления представлением, которая стала доступна только в iOS 16+ с presentationDetents. Более подробно о presentationDetents я планирую рассказать в одном из следующих материалов!
https://medium.com/livefront/creating-a-dynamic-draggable-scrollview-with-uikit-for-swiftui-13bd25c2954c
#ios
👉 @developer_mobila
Декларативный подход в организации gradle зависимостей в Android-проектах
В многомодульных приложениях Android существует проблема организации зависимости gradle. Каждая зависимость указывается отдельно. Примерно вот так
https://habr.com/ru/articles/845694/
#Android
👉 @developer_mobila
В многомодульных приложениях Android существует проблема организации зависимости gradle. Каждая зависимость указывается отдельно. Примерно вот так
dependencies {
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.4")
implementation("androidx.activity:activity-compose:1.9.1")
implementation(platform("androidx.compose:compose-bom:2024.08.00"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("androidx.navigation:navigation-compose:2.8.0")
debugImplementation("androidx.compose.ui:ui-tooling")
implementation("com.google.dagger:hilt-android:2.51.1")
kapt("com.google.dagger:hilt-android-compiler:2.51.1")
kapt("androidx.hilt:hilt-compiler:1.2.0")
implementation(project(":mymodule"))
...
}
https://habr.com/ru/articles/845694/
#Android
👉 @developer_mobila
🚀 Хотите вывести свои Flutter-приложения на новый уровень?
Дополненная реальность — это будущее мобильных технологий, и мы покажем, как её использовать во Flutter! 📅 19 февраля в 🕗 20:00 мск вы узнаете, как создавать AR-приложения с помощью ARKit, ARCore и Flutter: от распознавания поверхностей до взаимодействия с 3D-объектами.
👨💻 Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex.
Начните внедрять AR в свои проекты, создавайте уникальный пользовательский опыт и станьте востребованным разработчиком.
👇Регистрируйтесь на открытый урок перед стартом курса «Flutter Mobile Developer». Участникам — скидка на обучение!
Записаться: https://vk.cc/cIy8x6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Дополненная реальность — это будущее мобильных технологий, и мы покажем, как её использовать во Flutter! 📅 19 февраля в 🕗 20:00 мск вы узнаете, как создавать AR-приложения с помощью ARKit, ARCore и Flutter: от распознавания поверхностей до взаимодействия с 3D-объектами.
👨💻 Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex.
Начните внедрять AR в свои проекты, создавайте уникальный пользовательский опыт и станьте востребованным разработчиком.
👇Регистрируйтесь на открытый урок перед стартом курса «Flutter Mobile Developer». Участникам — скидка на обучение!
Записаться: https://vk.cc/cIy8x6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐶 PuppyGit — минималистичный Git-клиент на Flutter
Если вам нужен удобный и легковесный Git-клиент с кроссплатформенной поддержкой, обратите внимание на PuppyGit. Этот проект, написанный на Flutter, позволяет работать с репозиториями Git без лишней сложности.
🔹 Поддержка основных Git-операций
🔹 Простой и интуитивный интерфейс
🔹 Кроссплатформенность: Android, iOS, Windows, macOS и Linux
🔹 Открытый исходный код
https://github.com/catpuppyapp/PuppyGit
#Android
👉 @developer_mobila
Если вам нужен удобный и легковесный Git-клиент с кроссплатформенной поддержкой, обратите внимание на PuppyGit. Этот проект, написанный на Flutter, позволяет работать с репозиториями Git без лишней сложности.
🔹 Поддержка основных Git-операций
🔹 Простой и интуитивный интерфейс
🔹 Кроссплатформенность: Android, iOS, Windows, macOS и Linux
🔹 Открытый исходный код
https://github.com/catpuppyapp/PuppyGit
#Android
👉 @developer_mobila
Media is too big
VIEW IN TELEGRAM
SwiftUI - Урок по созданию загрузчика с вращающимися символами
0:00 Introduction
0:30 Project Setup
1:55 Circle Text View
5:20 Circular Text Track View
7:52 Putting it all together
источник
#ios
👉 @developer_mobila
0:00 Introduction
0:30 Project Setup
1:55 Circle Text View
5:20 Circular Text Track View
7:52 Putting it all together
источник
#ios
👉 @developer_mobila
⚡️Кросс-платформа — твой новый шаг в развитии iOS!
Ты знаешь, как делать приложения для iOS. А теперь представь, что один и тот же код может работать и на iOS, и на Android. Пора узнать, как реализовать это с помощью KMP?
На открытом вебинаре 19 февраля в 20:00 мск ты узнаешь:
- Что такое кросс-платформенная разработка и почему она — будущее;
- Как сделать iOS-приложение мультиплатформенным;
- Как использовать актуальные инструменты Compose Multiplatform.
Зарегистрируйся на открытый урок в преддверие старта курса «iOS Developer»! Все участники получат скидку на обучение. Встречаемся 19 февраля в 20:00 мск.
👉Регистрируйтесь: https://vk.cc/cIGi3C
Ты знаешь, как делать приложения для iOS. А теперь представь, что один и тот же код может работать и на iOS, и на Android. Пора узнать, как реализовать это с помощью KMP?
На открытом вебинаре 19 февраля в 20:00 мск ты узнаешь:
- Что такое кросс-платформенная разработка и почему она — будущее;
- Как сделать iOS-приложение мультиплатформенным;
- Как использовать актуальные инструменты Compose Multiplatform.
Зарегистрируйся на открытый урок в преддверие старта курса «iOS Developer»! Все участники получат скидку на обучение. Встречаемся 19 февраля в 20:00 мск.
👉Регистрируйтесь: https://vk.cc/cIGi3C
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Тайны рейтингов: как добиться стабильно высокого рейтинга Android-приложения?
По данным исследований (Data.ai, Sensor Tower, Statista), Android-приложения имеют на 10-30% более низкие оценки, чем iOS-аналоги. Например, приложение может получить 4,5 на iOS и 3,5-4,0 на Android.
Меня зовут Анастасия Симонова, я Android-разработчик в команде Домклик. Поделюсь нюансами разработки под Android и предложу некоторые решения для избежания проблем в будущем. Готовы? Приступим!
Важно понимать, что в крупных корпоративных приложениях рейтинг зачастую зависит не только от качества самого приложения, но и от общего уровня сервиса, предоставляемого пользователям. Если проанализировать отзывы, оставленные пользователями, становится очевидным, что многие из них касаются не функциональности приложения, а проблем с обслуживанием или недовольством работой компании в целом. Например, распространенные комментарии включают: "Менеджеры ничего не знают", "В чате не отвечают", "Заказал обратный звонок — 3 дня никто не перезванивает", "Ставка 25%, кто будет брать ипотеку?". Поэтому важно не только разрабатывать качественное приложение, но и обеспечивать высокий уровень сервиса. В этой статье мы сосредоточим внимание на корнеркейсы Android-разработки, которые могут повлиять на пользовательский опыт и, соответственно, на рейтинг приложения.
https://habr.com/ru/companies/domclick/articles/879364/
#Android
👉 @developer_mobila
По данным исследований (Data.ai, Sensor Tower, Statista), Android-приложения имеют на 10-30% более низкие оценки, чем iOS-аналоги. Например, приложение может получить 4,5 на iOS и 3,5-4,0 на Android.
Меня зовут Анастасия Симонова, я Android-разработчик в команде Домклик. Поделюсь нюансами разработки под Android и предложу некоторые решения для избежания проблем в будущем. Готовы? Приступим!
Важно понимать, что в крупных корпоративных приложениях рейтинг зачастую зависит не только от качества самого приложения, но и от общего уровня сервиса, предоставляемого пользователям. Если проанализировать отзывы, оставленные пользователями, становится очевидным, что многие из них касаются не функциональности приложения, а проблем с обслуживанием или недовольством работой компании в целом. Например, распространенные комментарии включают: "Менеджеры ничего не знают", "В чате не отвечают", "Заказал обратный звонок — 3 дня никто не перезванивает", "Ставка 25%, кто будет брать ипотеку?". Поэтому важно не только разрабатывать качественное приложение, но и обеспечивать высокий уровень сервиса. В этой статье мы сосредоточим внимание на корнеркейсы Android-разработки, которые могут повлиять на пользовательский опыт и, соответственно, на рейтинг приложения.
https://habr.com/ru/companies/domclick/articles/879364/
#Android
👉 @developer_mobila
👩💻 А ты справишься с тестом по Kotlin?
🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокодKotlin5
🎫 Курс можно приобрести в рассрочку
➡️ Пройти тест и забрать скидку: https://vk.cc/cIJZWr
🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!
Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Опыт прохождения собеседования для iOS-разработчика в Walmart
Недавно мне довелось пройти собеседование на должность iOS-разработчика SDE-III в Walmart, и я с радостью сообщаю, что прошел его! Это путешествие было не просто получением работы — оно стало свидетельством моего трудолюбия, подготовки и упорства.
В этом посте я расскажу вам о процессе прохождения собеседования, задаваемых вопросов и о том, как этот опыт укрепил мою уверенность в себе как в iOS-разработчике.
https://medium.com/@rishixcode/interview-experience-for-sde-iii-ios-at-walmart-9ab411256c28
#ios
👉 @developer_mobila
Недавно мне довелось пройти собеседование на должность iOS-разработчика SDE-III в Walmart, и я с радостью сообщаю, что прошел его! Это путешествие было не просто получением работы — оно стало свидетельством моего трудолюбия, подготовки и упорства.
В этом посте я расскажу вам о процессе прохождения собеседования, задаваемых вопросов и о том, как этот опыт укрепил мою уверенность в себе как в iOS-разработчике.
https://medium.com/@rishixcode/interview-experience-for-sde-iii-ios-at-walmart-9ab411256c28
#ios
👉 @developer_mobila
Вот отсортированная база с тонной материала (постепенно пополняется):
БАЗА (4687 видео/книг):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — 1С
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
ComposeLevitation: эффект левитации для элементов UI
ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.
https://github.com/GIGAMOLE/ComposeLevitation
#Android
👉 @developer_mobila
ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.
https://github.com/GIGAMOLE/ComposeLevitation
#Android
👉 @developer_mobila
В iOS разработчики могут использовать фреймворк LocalAuthentication для интеграции биометрической аутентификации, такой как Face ID или Touch ID, в свои приложения. Это позволяет повысить безопасность и удобство использования, предоставляя пользователям быстрый и надежный способ входа.
Для реализации биометрической аутентификации необходимо импортировать фреймворк LocalAuthentication и создать экземпляр класса LAContext. Затем можно вызвать метод evaluatePolicy(_:localizedReason:reply:), который отображает системный интерфейс для аутентификации пользователя. Важно обрабатывать возможные ошибки, такие как отсутствие настроенной биометрии на устройстве или отказ пользователя от аутентификации.
Рекомендуется предоставлять пользователям альтернативные методы входа в случае недоступности биометрической аутентификации, например, с использованием пароля или PIN-кода. Это обеспечит доступность приложения для всех пользователей, независимо от настроек их устройств.
https://tanaschita.com/ios-local-authentication/
#ios
👉 @developer_mobila
Для реализации биометрической аутентификации необходимо импортировать фреймворк LocalAuthentication и создать экземпляр класса LAContext. Затем можно вызвать метод evaluatePolicy(_:localizedReason:reply:), который отображает системный интерфейс для аутентификации пользователя. Важно обрабатывать возможные ошибки, такие как отсутствие настроенной биометрии на устройстве или отказ пользователя от аутентификации.
Рекомендуется предоставлять пользователям альтернативные методы входа в случае недоступности биометрической аутентификации, например, с использованием пароля или PIN-кода. Это обеспечит доступность приложения для всех пользователей, независимо от настроек их устройств.
https://tanaschita.com/ios-local-authentication/
#ios
👉 @developer_mobila
Tanaschita
Implementing Face ID authentication in SwiftUI
Learn how to add biometric authentication with passcode fallback to secure your app for iOS using Swift and SwiftUI with Apple's Local Authentication framework.
Детские ошибки при сборке Gradle-приложений
Всем привет! Меня зовут Никита Горбунов, я технический лидер Android. Сейчас я работаю над мобильным банком Альфы, поддерживаю его инфраструктуру и CI/CD-систему. Я много работаю с Gradle, и мне это нравится.
Я давно интересуюсь способами, позволяющими ускорить сборку приложения. В статье я покажу результаты моих исследований и несколько способов разогнать Gradle-сборку, проверенных мною. Материал будет полезен как новичкам, так и опытным разработчикам, поэтому устраивайтесь поудобнее.
https://habr.com/ru/companies/alfa/articles/876382/
#Android
👉 @developer_mobila
Всем привет! Меня зовут Никита Горбунов, я технический лидер Android. Сейчас я работаю над мобильным банком Альфы, поддерживаю его инфраструктуру и CI/CD-систему. Я много работаю с Gradle, и мне это нравится.
Я давно интересуюсь способами, позволяющими ускорить сборку приложения. В статье я покажу результаты моих исследований и несколько способов разогнать Gradle-сборку, проверенных мною. Материал будет полезен как новичкам, так и опытным разработчикам, поэтому устраивайтесь поудобнее.
https://habr.com/ru/companies/alfa/articles/876382/
#Android
👉 @developer_mobila