Мобильная разработка #1 – Telegram
Мобильная разработка #1
3.98K subscribers
795 photos
85 videos
32 files
1.26K links
Всё о создании приложений под Android и iOS в одном месте.

🔹 Инструменты, библиотеки и ресурсы для ускорения работы.
🔹 Статьи и гайды для разработчиков любого уровня.
🔹 Тренды мобильной разработки и новости индустрии.

Реклама @evgenycarter
Download Telegram
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://news.1rj.ru/str/sysadmin_girl Девочка Сисадмин
https://news.1rj.ru/str/srv_admin_linux Админские угодья
https://news.1rj.ru/str/linux_srv Типичный Сисадмин

https://news.1rj.ru/str/linux_odmin Linux: Системный администратор
https://news.1rj.ru/str/devops_star DevOps Star (Звезда Девопса)
https://news.1rj.ru/str/i_linux Системный администратор
https://news.1rj.ru/str/linuxchmod Linux
https://news.1rj.ru/str/sys_adminos Системный Администратор
https://news.1rj.ru/str/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://news.1rj.ru/str/sysadminof Книги для админов, полезные материалы
https://news.1rj.ru/str/i_odmin Все для системного администратора
https://news.1rj.ru/str/i_odmin_book Библиотека Системного Администратора
https://news.1rj.ru/str/i_odmin_chat Чат системных администраторов
https://news.1rj.ru/str/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://news.1rj.ru/str/sysadminoff Новости Линукс Linux

1C разработка 📌
https://news.1rj.ru/str/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://news.1rj.ru/str/cpp_lib Библиотека C/C++ разработчика
https://news.1rj.ru/str/cpp_knigi Книги для программистов C/C++
https://news.1rj.ru/str/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://news.1rj.ru/str/pythonofff Python академия. Учи Python быстро и легко🐍
https://news.1rj.ru/str/BookPython Библиотека Python разработчика
https://news.1rj.ru/str/python_real Python подборки на русском и английском
https://news.1rj.ru/str/python_360 Книги по Python Rus

Java разработка 📌
https://news.1rj.ru/str/BookJava Библиотека Java разработчика
https://news.1rj.ru/str/java_360 Книги по Java Rus
https://news.1rj.ru/str/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://news.1rj.ru/str/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://news.1rj.ru/str/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://news.1rj.ru/str/developer_mobila Мобильная разработка
https://news.1rj.ru/str/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://news.1rj.ru/str/frontend_1 Подборки для frontend разработчиков
https://news.1rj.ru/str/frontend_sovet Frontend советы, примеры и практика!
https://news.1rj.ru/str/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://news.1rj.ru/str/game_devv Все о разработке игр

Библиотеки 📌
https://news.1rj.ru/str/book_for_dev Книги для программистов Rus
https://news.1rj.ru/str/programmist_of Книги по программированию
https://news.1rj.ru/str/proglb Библиотека программиста
https://news.1rj.ru/str/bfbook Книги для программистов
https://news.1rj.ru/str/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://news.1rj.ru/str/bookflow Лекции, видеоуроки, доклады с IT конференций
https://news.1rj.ru/str/coddy_academy Полезные советы по программированию
https://news.1rj.ru/str/rust_lib Полезный контент по программированию на Rust
https://news.1rj.ru/str/golang_lib Библиотека Go (Golang) разработчика
https://news.1rj.ru/str/itmozg Программисты, дизайнеры, новости из мира IT
https://news.1rj.ru/str/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://news.1rj.ru/str/nodejs_lib Подборки по Node js и все что с ним связано
https://news.1rj.ru/str/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров

Английский 📌
https://news.1rj.ru/str/UchuEnglish Английский с нуля

Математика 📌
https://news.1rj.ru/str/Pomatematike Канал по математике
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://news.1rj.ru/str/Excel_lifehack

https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
This media is not supported in your browser
VIEW IN TELEGRAM
Работаем с сетчатыми градиентами в iOS 18

В iOS 18 появилась возможность создавать сетчатые градиенты. Сетчатые градиенты — это действительно хороший способ создания очень крутых эффектов в пользовательском интерфейсе. В этой статье мы рассмотрим, что такое сетчатые градиенты, как их можно использовать и как их можно анимировать, чтобы они выглядели действительно круто.

Для начала мы рассмотрим, как можно создать сетчатый градиент. Мы рассмотрим, как это работает, а затем посмотрим, что можно анимировать и как можно играть с градиентами. В конце статьи я немного расскажу о том, где, на мой взгляд, имеет смысл использовать сетчатые градиенты, а где может быть не стоит.

https://www.donnywals.com/getting-started-with-mesh-gradients-on-ios-18/

#ios@developer_mobila

👉 @developer_mobila
👍1
⁉️ Знаешь, куда движется мир бэкенда?

В 2024-м экосистема Kotlin взлетела на новый уровень. Что дальше? Какие тренды взорвут 2025? Какие технологии войдут в топ, а какие окажутся в аутсайдерах?

⚡️ Узнай всё на открытом вебинаре «Тенденции бэкенд-разработки в экосистеме Kotlin». Мы подведем итоги прошлого года, разберем ключевые тренды и поможем тебе подготовиться к новым вызовам.

🎙 Спикер Сергей Окатов — кандидат физико-математических наук и архитектор в Solar Security.

🗓 Регистрируйся на вебинар 30 января в 19:00 мск.
Участники получат скидку на большое обучение «Kotlin Backend Developer. Professional».

➡️Регистрация открыта: https://vk.cc/cHzq42

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Интеграция операций CRUD SwiftData в приложение «Заметки»

В этом видео мы покажем, как интегрировать функционал SwiftData CRUD с использованием SwiftUI.

0:08 Intro
0:12 Creating SwiftData Model
1:46 Create & Updating Data
4:40 Deleting Data & UI Modifications
16:26 Dynamic SwiftData Search Query

https://www.youtube.com/watch?v=uK-OIchqh08

#ios@developer_mobila

👉 @developer_mobila
Создание Convention Plugin-ов на базе Kotlin-классов

Всем привет! На связи Дима Котиков и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить bolierplate в gradle-файлах. В предыдущих статьях мы сделали отдельный модуль для написания Convention Plugins, провели необходимые настройки и написали несколько Convention Plugin‑ов в «‑.gradle.kts»‑файлах. В этой части мы будем создавать Convention Plugin‑ы на базе Kotlin‑классов.

https://habr.com/ru/companies/tbank/articles/843786/


#Android@developer_mobila

👉 @developer_mobila
👍2
😖Ваши тесты на Flutter — это боль? UI ломается, ошибки появляются в последний момент, а автоматизация тестирования — пустые мечты?

🚀Представьте, что каждая строчка кода протестирована. Вы ловите баги ещё до релиза, а CI/CD работает, как часы. Ваши приложения — надёжные, быстрые, готовые к любым нагрузкам.

➡️Приходите на открытый урок «Хитрости тестирования приложений на Flutter» 27 января в 20:00 мск. Узнайте всё про тестирование, CI и лучшие инструменты. Всем участникам — скидка на большое обучение!

🔴Регистрация открыта: https://vk.cc/cHzyIF

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
SwiftUI: адаптация UI к различным размерам экрана (с примерами кода)

Используя все эти приемы, вы сможете создать гибкий и адаптивный пользовательский интерфейс, который будет отлично смотреться на всех устройствах, от маленьких iPhone до больших iPad и не только.

Адаптация приложения к разным размерам экрана необходима для обеспечения отличного пользовательского опыта на всех устройствах. SwiftUI предоставляет различные шаблоны, инструменты и техники для достижения этой цели. В этом посте приведены некоторые примеры, которые помогут вам адаптировать пользовательский интерфейс.

https://medium.com/@alla.dubovska/swiftui-adapting-ui-to-different-screen-sizes-with-code-examples-12a6cd21ae72

#ios@developer_mobila

👉 @developer_mobila
👍2
ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага

Про байт‑код написано уже немало. Он везде, и никого этим не удивить: его генерирует компилятор, переупаковывает система сборки, «портит» обфускатор и изредка читают программисты. Естественно, для работы с байт‑кодом есть немало инструментов, которые используются в разных областях и на разных платформах. Среди них и ByteWeaver — инструмент для патчинга байт‑кода во время сборки, который может быть полезен разработчикам под Android.

Меня зовут Александр Асанов. Я Android‑разработчик в OK, Tracer, ByteWeaver. В этой статье я разберу, что такое байт‑код, как и зачем с ним работать, расскажу о ByteWeaver и покажу примеры работы с байт‑кодом.

https://habr.com/ru/companies/vk/articles/845872/

#Android@developer_mobila

👉 @developer_mobila
👍3
👩‍💻 Пройди тест на знание Kotlin и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на продвинутый курс "Kotlin Backend Developer. Professional " от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса

За 5 месяцев обучения ты освоишь:
— Работу с Kotlin Multiplatform для JS, JVM, Android, iOS.
— Spring, Ktor, RabbitMQ, Kafka, Postgres.
— Создание архитектуры: монолиты, микросервисы и бессерверные решения.
— Реальные кейсы: разработка стартапа с нуля.

👉 ПРОЙТИ ТЕСТ: https://vk.cc/cHYHZu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Нельзя просто взять и сделать нормальную адресную систему в приложении

Олды помнят, как ещё каких-то 10-15 лет назад заказывали пиццу по телефону, диктуя адрес операторам кол-центра. Мало кто тогда думал, что отсутствие подсказок адресов и карты на сайте с определением геолокации, а уж тем более в мобильном приложении, будет вызывать у нас реакцию «да сложно, что ли, нормальную карту сделать?».

Но вот мы здесь, рассказываем, как в Додо Пицце лишь недавно появилась уже привычная многим адресная система. Как так вышло — история долгая и не всем интересная. Скажу только, что переделывать и менять как-то работающее старое на новое в большой системе — тот ещё квест. В итоге нам пришлось зарыться достаточно глубоко во внутренности Dodo IS, чтобы можно было добавлять адреса с помощью карты. В этой статье расскажу, с чего мы начинали и как реализовали эту фичу в нашем iOS-приложении.

https://habr.com/ru/companies/dododev/articles/737800/

#ios

👉 @developer_mobila
👍1
Что такое интеграционные тесты и как их писать на Swift

В этом выпуске Testing 101 мы погружаемся в интеграционные тесты и объясняем, чем они отличаются от модульных тестов. В то время как модульные тесты сосредоточены на проверке отдельных функций или классов, интеграционные тесты гарантируют, что различные компоненты вашего приложения работают вместе слаженно.

Я проведу вас через реальный пример, в котором мы интегрируем API-клиент, базу данных, калькулятор скидок и логгер — тестируя их все в одном потоке с использованием Swift.

0:00 - Intro
0:09 - Unit test vs Integration Test
5:41 - Integration Test in detail
15:41 - Pros & Cons of Integration Test
17:53 - Pyramid of Testing
19:16 - Outro

https://www.youtube.com/watch?v=Sp0CK39ehsQ

#ios

👉 @developer_mobila
⚡️Вдохни жизнь в свои приложения с помощью анимаций в SwiftUI!

Анимации — это не просто красота, а способ улучшить пользовательский опыт. Хочешь узнать, как простыми решениями делать интерфейсы, которые захватывают внимание и радуют глаз?

5 февраля в 20:00 мск на открытом вебинаре ты узнаешь:

- Как создавать базовые анимации в SwiftUI.
- Как переходить к комплексным анимациям для более впечатляющих эффектов.
- Простые практики для улучшения эстетики твоих приложений.

Регистрируйся на открытый урок в преддверие старта курса «iOS Developer». Все участники получат скидку на обучение!

👉Узнать больше: https://vk.cc/cIaFLO

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Media is too big
VIEW IN TELEGRAM
Как создать пользовательский экран в SwiftUI

Имейте в виду, что это действительно работает в iOS 15! И хотя многие в комментариях хотят указать на более нативное решение, оно было представлено в iOS 16. Итак, это решение, которое также включает в себя довольно много настроек радиуса углов, цветов и многого другого, потому что вы также можете форкнуть это репо и редактировать его по своему усмотрению :]

https://github.com/fieldday-ai/Modals

#ios

👉 @developer_mobila
👍3
Прочие оптимизации кода 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
👍1
🤖 Пройди тест по Flutter и проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на курс "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
🔥 Хотите писать функциональный и выразительный код? Kotlin и DSL — вот ваш путь!

На открытом вебинаре мы научим вас создавать доменно-специфические языки на Kotlin. Разберём, как сделать код компактным, выразительным и удобным для решения узкопрофильных задач.

Это не просто теория. Мы покажем реальные примеры и расскажем, как применять DSL для автоматизации, работы с конфигурациями и других задач.

Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в компании ПАО «Сургутнефтегаз».

➡️ Регистрируйтесь на вебинар 11 февраля в 19:00 мск и получите скидку на большое обучение «Kotlin Backend Developer. Professional»: https://vk.cc/cIflwA

Реклама. ООО «Отус онлайн-образование», ОГРН 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
🔥 Открытый урок «Разработка монолитного приложения со Spring»

🗓 18 февраля в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional» от Otus.

На вебинаре рассмотрим:
✔️ монолитную архитектуру (преимущества и недостатки);
✔️ фреймворк Spring;
✔️ особенности разработки со Spring в Kotlin;
✔️ интеграцию транспортных моделей в приложение;
✔️ упаковку и запуск в Docker.

🔗 Ссылка на регистрацию: https://vk.cc/cIwnXI

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Создание динамического перетаскиваемого 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
👍2
Декларативный подход в организации gradle зависимостей в Android-проектах

В многомодульных приложениях 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
👍1