Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
857 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
Доклады с 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
Фишки и полезные советы для эффективной работы в Xcode

Command+Shift+J и Command+Shift+O — однозначно полезные комбинации клавиш, но в Xcode есть много других классных фишек, которые полезно знать разработчикам.

Какие? В этом видео собрали более 30 советов для работы с Xcode:

https://youtu.be/40imnmzsmxk

#ios
👍2
Знакомимся с ленивыми сетками в Jetpack Compose

В версии 1.3.0 Jetpack Compose добавили
LazyVerticalStaggeredGrid и LazyHorizontalStaggeredGrid, которые позволяют делать сетки с разным размером ячеек.

Сетки напоминают шахматный порядок, где элементы имеют разный диапазон высоты и ширины. По ссылке можно найти пошаговое руководство по их созданию:

https://tprg.ru/mUCG

#android
👍8🤩1
Jetpack Compose: библиотеки и дополнения

1. Accompanist — это группа библиотек от Google для дополнения Jetpack Compose функциями, которые обычно требуются разработчикам: Flow Layouts, Pager, Placeholder и т.д.

2. Landscapist — библиотека загрузки изображений для Jetpack Compose с поддержкой Glide, Coil и Fresco.
Также библиотека поддерживает анимацию загрузки и переходов.

3. ComposeCookBook — библиотека виджетов, макетов, анимаций и просто примеров UI-дизайна приложений на Jetpack Compose.

#compose
👍19