Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
859 photos
238 videos
2.96K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
JetBrains объявила конкурс на приложения, написанные на KMP

Требования к проекту:
— Приложение должно работать как минимум на двух разных платформах.
— Проект на свободную тему, но JB будем оценивать работу, основываясь на креативности идеи и на том, как она подкрепляется мультиплатформенностью Kotlin.
— Проект должен быть индивидуальным. Можно использовать и другие проекты с открытым исходным кодом, но у каждого проекта должен быть один автор.

3 победителя поедут на KotlinConf’23.

Источник:

https://blog.jetbrains.com/kotlin/2022/10/join-the-kotlin-multiplatform-contest/

#kotlin
👍9👎5🤮2🖕2
Модульность и SwiftUI в современном iOS-приложении

Как эффективно реализовать модульную архитектуру с помощью SwiftUI? В этом статье разбираются некоторые подходы:

— как работать с обратными вызовами и потоками данных,
— основы использования Combine и SwiftUI,
— реализация ObservableObject,
— почему следует избегать использования EnvironmentObject.

Подробнее:

https://levelup.gitconnected.com/ios-app-as-a-microservice-using-swiftui-in-modular-app-f40182f5e52a

#swiftui #ios
🔥5❤‍🔥1👍1
Как улучшить код в проекте на Flutter

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

Эти простые советы помогут улучшить код начинающим и сделают его более читаемым на Dart:

https://tprg.ru/5Ztu

#flutter #dart
👍7💩7
Доклады с Android Dev Summit 2022

На прошлой неделе прошла онлайн-конференция от Google для мобильных разработчиков. Команда Android поделилась способами улучшения качества Android-приложения для различных устройств.

Все доклады доступны в плейлисте на YouTube.
👍8
Исследование: автоматизация тестирования в проектах

Команда Kaspresso провела опрос среди разработчиков из 30 разных компаний (Spotify, Revolut, HH и другие) по автотестам в их приложениях. Результаты из исследования:

1. У 1/3 команд написано больше 1000 UI тестов, рекорд — 11000.
2. Более половины запускают тесты на PR, около 25% — на ночных сборках.
3. Компании в среднем ограничиваются только 5 эмуляторами.
4. 90% опрошенных используют нативные тесты.

Также в исследовании были вопросы про используемые технологии и как компании организовывает инфраструктуру, подробнее в статье:

https://habr.com/ru/post/695244/

#исследование
👍91
Оптимизация приложений (Go edition): уроки из Google apps

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

Часть 1: Требования к оперативной памяти, разбор onTrimMemory(), оптимизация использования памяти в Android приложениях.
Часть 2: Задержка при запуске приложений, причины и оптимизация.
Часть 3: Разбор инструментов: meminfo, App Startup, CPU Profiler Baseline Profiles, Perfetto и других.

#android
👍7
Делегаты в Android приложениях

Одна из полезных фич в Kotlin — делегированные свойства или просто делегаты. По сути, делегат — это всего лишь класс с двумя методами: для получения и присвоения свойству.

Пример из этой статьи основан на паттерне MVVM. Логика приложения достаточно упрощена, RecyclerView заменён на ScrollView + Linearlayout, чтобы проще организовать код и объяснить применение делегатов в Android-приложении:

https://habr.com/ru/company/constanta/blog/696162/

#kotlin #android
👍9🥴3
Оптимизация изображений с помощью расширений Firebase на Flutter

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

Resize Image — это библиотека, которая позволяет создать новое изображение меньшего размера и сохранить его в хранилище Firebase.

Подробнее о том, как настроить плагин в проекте, а также как правильно прописать путь после изменений по ссылке:

https://invertase.io/blog/image-optimization-with-firebase-extensions

#flutter
👍6
Основы MockK для написания юнит-тестов

MockK — библиотека с открытым исходным кодом для тестирования Kotlin. Используя MockK, можно изменять зависимости в тестируемых классах с помощью заглушек и моков (stubs & mocks), имитируя поведение реальных объектов.

В этом видеоуроке автор подробно рассказывает, зачем нужна эта библиотека MockK, а также как подключить и написать тесты с её помощью:

https://youtu.be/60uVfjh7QdE

#kotlin
👍12
Виды штрих-кодов, особенности и обходные пути в Apple Wallet

Наверняка вы знаете, что Apple Wallet поддерживает только определённые типы штрих-кодов — в основном это 2D.

В этой статье автор собрал в один список все доступные виды штрих-кодов, а также объяснил проблемы их создания для Apple Wallet:

https://tprg.ru/sdk5

#iOS
👍4
5 полезных расширений в VS Code для Flutter-разработчиков

1. Better Comments — позволяет выделять комментарии разными цветами.

2. Pubspec Assist — для быстрого поиска. Как только вы введёте название пакета, расширение автоматически отобразит последний пакет в вашем pubspec.yaml-файле.

3. Awesome Flutter Snippets — это коллекция сниппетов для часто используемых методов, классов и виджетов во Flutter. Также, расширение позволяет писать код быстрее, например набрав только singleChildSV для SingleChildScrollView.

4. Flutter Stylizer — организует Flutter классы последовательным образом.

5. Json to Dart Model — преобразует скопированный вами JSON в класс Dart (есть ограничения).

#flutter
👍11😐6👎1
Преобразования проекта из Figma в Jetpack Compose

Relay — плагин от Google для Android Studio, который импортирует UI-пакеты и создаё‎т код Jetpack Compose.

На данный момент плагин находится в стадии альфа-тестирования, но уже есть несколько доступных уроков с объяснением реализации данной библиотеки в проекте. Один из них от Филлипа Лакнера:

https://youtu.be/byOmrmXG4yQ

#compose #android
🔥6
Руководство по Passkey на iOS 16

В статье разбирается новая система авторизации пользователей, которую Apple представила на WWDC22.

Для примера, автор реализует простое приложение, где пользователь должен ввести свои данные — username (имя или ник) для регистрации и сохраняет Passkey на устройство. В статье также объясняются API запросы для бэкенда, чтобы добавить Passkey в проект:

https://quickbirdstudios.com/blog/ios-passkeys/

#ios
👍4
Подборка актуальных вакансий

Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

iOS-разработчик
Где: Москва
Опыт: можно без опыта

iOS-разработчик
Где: удалённо
Опыт: можно без опыта

iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет

Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет

#вакансии #работа
💩17
Kotlin: функции-расширения

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

В этой статье рассматриваются варианты, когда функции расширения помогают избавиться от однотипного кода и упрощают некоторые методы:

https://habr.com/ru/post/697908/

#kotlin
👍8
Android: Диалоговые окна

Вероятно, вы уже знаете всё про создание нового диалогового окна на Android, но в этой статье автор решил отойти от традиционного способа реализации и раскритиковать гайды от Google.

С какими проблемами сталкиваются разработчики при работе с Jetpack Navigation, DialogFragments и FragmentManager — в статье:

https://tprg.ru/CTgF

#android
👍4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Видеоплеер на SwiftUI (iOS 14+)

Небольшой урок, как реализовать видеоплеер в приложении с помощью AVKit. Фреймворк AVKit позволяет воспроизводить видео на SwiftUI без необходимости переноса функциональности из UIKit.

Подробнее: https://medium.com/devtechie/videoplayer-in-swiftui-ios-14-8049b61e2fc2

#swiftui
👍6
Amazon Web Services открыла бесплатный доступ к 120 англоязычным курсам

На официальном сайте можно выбрать и бесплатно загрузить любой курс по работе с облачным сервисом AWS, например, по линейной и логистической регрессии или анализу потоковых данных.

Акция продлится до 9 декабря, но доступ уже к загруженным курсам открыт до 28 апреля 2023. Полный список доступных уроков:

https://tprg.ru/9NZs

#курсы
👍9
Технология AR в мобильных приложениях

По статистике ожидается, что к 2026 рынок AR-приложений вырастет на 44%. Уже сейчас технология AR становится популярной в приложениях для предоставления услуг и функций. Стоит ли добавлять данную технологию в проект?

Как работает технология AR, а также об ограничениях мобильной дополненной реальности рассказали подробно в статье:

https://tprg.ru/jcVi

#it
👍6🥱1
Задачи с собеседований на Android разработчика

В статье разбираются примеры задач, которые довольно часто дают на собеседованиях по Fragment, ViewModel и Activity.

Автор разобрал ошибки в ответах начинающих, а также объяснил правильные ответы:

https://tprg.ru/vOjm

#собеседование #android
👍19
Как добавить тени на Android?

Во многих случаях достаточно использовать системные тени. А что если они не подходят по дизайну? Или дизайнерские решения настолько изящны, что просто невозможно подобрать подходящий параметр elevation для теней.

Отказавшись от использования сторонних библиотек, автор этой статьи решил написать своё собственное решение. Что из этого получилось - в статье:

https://habr.com/ru/company/inDrive/blog/696006/

#android
👍51