TGViewer
Channel Public Channel
Мобильная разработка #1

Мобильная разработка #1

@developer_mobila

Всё о создании приложений под Android и iOS в одном месте.

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

Реклама @evgenycarter
Subscribers
3.81K
Photos
795
Videos
88
Links
1.3K

Showing posts older than #1596 · Back to latest

Older Posts 20 shown
Post #1594 1.03K
Всеобъемлющее руководство по созданию интуитивно понятных мобильных приложений

Для разработчиков мобильных приложений среднего уровня проектирование интуитивно понятных мобильных приложений требует глубокого понимания принципов пользовательского опыта (UX) и пользовательского интерфейса (UI). Хорошо спроектированное мобильное приложение улучшает удобство использования, удерживает пользователей и повышает общую вовлеченность. В этом руководстве рассматриваются лучшие практики упрощения, согласованности, механизмов обратной связи, увлекательного пользовательского опыта и методов тестирования.

https://bookflow.ru/vseobemlyushhee-rukovodstvo-po-sozdaniyu-intuitivno-ponyatnyh-mobilnyh-prilozhenij/

👉 @developer_mobila
  • 👍 1
Post #1593 868
О iOS дизайн системе за 5 мин

Сегодня хочу рассказать Вам, как мы пилили дробили монолит на SPM пакеты и создавали дизайн систему.

Все началось в одень "прекрасный" день, когда нас снова удалили с AppStore и перед нами стояла цель научиться быстро видоизменять наше приложение, как функционально, так и визуально, чтобы снова опубликоваться в “яблочном” магазине.

Чтобы провернуть такой план, мы решили, раздробить монолит на SPM пакеты. Для себя мы выделили три первых модуля, с которых все началось:

“Ядро”

“UI Компоненты”

“Компоненты приложения”

https://habr.com/ru/articles/881612/

#ios

👉 @developer_mobila
Post #1592 939
Детские ошибки при сборке Gradle-приложений

Всем привет! Меня зовут Никита Горбунов, я технический лидер Android. Сейчас я работаю над мобильным банком Альфы, поддерживаю его инфраструктуру и CI/CD-систему. Я много работаю с Gradle, и мне это нравится.

Я давно интересуюсь способами, позволяющими ускорить сборку приложения. В статье я покажу результаты моих исследований и несколько способов разогнать Gradle-сборку, проверенных мною. Материал будет полезен как новичкам, так и опытным разработчикам, поэтому устраивайтесь поудобнее.

https://habr.com/ru/companies/alfa/articles/876382/


#Android

👉 @developer_mobila
  • 👍 2
Post #1591 1.09K
В iOS разработчики могут использовать фреймворк LocalAuthentication для интеграции биометрической аутентификации, такой как Face ID или Touch ID, в свои приложения. Это позволяет повысить безопасность и удобство использования, предоставляя пользователям быстрый и надежный способ входа.

Для реализации биометрической аутентификации необходимо импортировать фреймворк 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.
  • 👍 1
Post #1590 990
ComposeLevitation: эффект левитации для элементов UI

ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.

https://github.com/GIGAMOLE/ComposeLevitation

#Android

👉 @developer_mobila
  • 👍 1
Post #1589 1.07K
Post #1588 876
Опыт прохождения собеседования для iOS-разработчика в Walmart

Недавно мне довелось пройти собеседование на должность iOS-разработчика SDE-III в Walmart, и я с радостью сообщаю, что прошел его! Это путешествие было не просто получением работы — оно стало свидетельством моего трудолюбия, подготовки и упорства.

В этом посте я расскажу вам о процессе прохождения собеседования, задаваемых вопросов и о том, как этот опыт укрепил мою уверенность в себе как в iOS-разработчике.

https://medium.com/@rishixcode/interview-experience-for-sde-iii-ios-at-walmart-9ab411256c28

#ios

👉 @developer_mobila
Post #1586 767
Тайны рейтингов: как добиться стабильно высокого рейтинга 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
  • 👍 1
Post #1584 746
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
  • 👍 2
Post #1583 768
🐶 PuppyGit — минималистичный Git-клиент на Flutter

Если вам нужен удобный и легковесный Git-клиент с кроссплатформенной поддержкой, обратите внимание на PuppyGit. Этот проект, написанный на Flutter, позволяет работать с репозиториями Git без лишней сложности.

🔹 Поддержка основных Git-операций
🔹 Простой и интуитивный интерфейс
🔹 Кроссплатформенность: Android, iOS, Windows, macOS и Linux
🔹 Открытый исходный код

https://github.com/catpuppyapp/PuppyGit

#Android

👉 @developer_mobila
  • 👍 2
Post #1581 705
Декларативный подход в организации 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
Post #1580 718
Создание динамического перетаскиваемого 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
Post #1576 822
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
Post #1574 723
Прочие оптимизации кода 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
Post #1572 743
Как создать пользовательский экран в SwiftUI

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

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

#ios

👉 @developer_mobila
  • 👍 3
Post #1570 652
Что такое интеграционные тесты и как их писать на 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
YouTube Testing 101: What Are Integration Tests & How to Write Them in Swift In this episode of Testing 101, we dive into integration tests and explain how they differ from unit tests. While unit tests focus on testing individual functions or classes, integration tests ensure that different components in your app work together smoothly.…
Post #1568 780
Нельзя просто взять и сделать нормальную адресную систему в приложении

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

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

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

#ios

👉 @developer_mobila
  • 👍 1
Post #1566 803
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
Post #1565 863
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
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →