Мобильная разработка – 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

Спустя 3 года, Google объявила о проведении мероприятий в разных странах. Из-за пандемии ADS проводились лишь в онлайн формате.

Google также проведёт технические сессии в виде онлайн трансляций на YouTube, которые пройдут в течение трёх недель:

— Modern Android Development: 24 октября,
— Form Factors: 9 ноября,
— Platform: 14 ноября.

Сохраняйте в календарь, чтобы не пропустить!

Источник: https://android-developers.googleblog.com/2022/10/android-dev-summit.html?m=1

#android
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Обзор анимации «TreeView» на Flutter

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

Виджет базируется на AnimatedList и может даже использоваться в качестве его замены. Существует два варианта реализации пакета:
— TreeView: структура Map,
— TreeView.indexed: основывается на структуре List.

Источник: https://pub.dev/packages/animated_tree_view

#flutter
👍10
Шпаргалка по Mobile System Design: материалы для подготовки к собеседованию

В этом репозитории приведена простая структура для интервью по Mobile System Design. В качестве примера в проекте рассмотрена реализация Twitter ленты.

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

GitHub (2.1 тыс. звёзд):

https://github.com/weeeBox/mobile-system-design

#собеседование
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
iOS 2022: Telegram объявляет о проведении первого тура конкурса

Разработчикам предлагается создать приложение для редактирования мультимедиа на Swift, похожее на встроенный инструмент рисования в iOS. Призовой фонд составляет $50,000.

Демонстрационное приложение должно быть совместимо с iOS 13+. Также использование сторонних реализаций или UI-фреймворков строго запрещено.

Срок подачи: до 31 октября. Полный список требований по ссылке:

https://contest.com/docs/iOS-Oct22-Round1

#ios
👍6
Совместное использование Flutter и WebSocket

Для обмена сообщениями в режиме реального времени, GPS-отслеживания или видеозвонков часто используется WebSocket.

В этой статье рассматривается, что такое модель Pub/Sub, а также как подключиться к WebSocket на Flutter и настроить работу соединений. В конце статьи автор делится советами, которые помогут улучшить работу приложения с веб-сокетами:

https://blog.devgenius.io/web-socket-in-flutter-615d21ddf1c5

#flutter
👍6
Новое руководство по архитектуре приложений от Google

На официальном сайте добавили документацию по UI State production. В этой части рассматривается, как правильно реализовать и управлять состоянием, а именно:

— какие API использовать,
— работа с One-shot и Stream API для изменения UI-состояния,
— пайплайн.

https://developer.android.com/topic/architecture/ui-layer/state-production

#android
👍13
Жизненные циклы в Activity и View Model

Про Activity Lifecycle есть подробная документация, однако намного меньше информации по жизненному циклу View Model. Например, когда именно запускается процесс его уничтожения?

Для демонстрации работы жизненного цикла в Activity и View Model, автор статьи реализовал простое приложение и с помощью логов, а также таблиц объяснил эти процессы:

https://vtsen.hashnode.dev/activity-and-view-model-lifecycles-demo-app

#android
👍17🐳6🔥1
Какие вопросы вы бы задали разработчикам из Apple?

В октябре Apple организовывает «Ask Apple» — чат в Slack в формате Q&A с экспертами из компании, где разработчики могут задать интересующие их вопросы или просто пообщаться. Основные темы:

—Developer Tools,
—Graphics & Games,
—ML & Vision,
—SwiftUI & UI Frameworks и другие.

Также можно оставить заявку на индивидуальную 25-минутную консультацию.

Подробнее:

https://developer.apple.com/events/ask-apple/

#ios
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Android Studio: библиотека плагинов

Репозиторий, в котором по категориям собраны совершенно разные плагины: для генерации кода, Gradle, Kotlin, дизайна и просто бесполезные, но смешные виджеты — вдруг вам захочется запускать огонь и искры при вводе?

Источник:

https://github.com/andyb129/AndroidStudioPluginsNPlay

Чтобы вы добавили еще в этот список?

#android
🤡18😁8🔥51
Интересный проект с открытым исходным кодом для Flutter-разработчиков

Blink Comparison — приложение, которое помогает сравнить фото пломб с защитой, чтобы вы могли видеть различия и обнаружить взлом. Снимки можно делать на месте или добавлять из библиотеки: все изображения зашифрованы, что затрудняет их кражу или замену.

Метод «Blink Comparison» раньше использовался астрономами, чтобы найти отличия между двумя фотографиями ночного неба.

Репозиторий:

https://github.com/proninyaroslav/blink-comparison

#flutter
🔥5👍3💩2
Реализация приложения для мебельного магазина на Swift UI

В видеоуроке показывается, как создать главную страницу с меню и профилем пользователя и настроить фильтр товаров по двум категориям: лучшие и популярные.

На второй странице есть полная информация о самом товаре, а также меню корзины.

Ссылка на видеурок: https://youtu.be/EbTl0GX-bvw

#swiftui
👍8
Jetpack Compose: приложение для отображения погоды на Wear OS

С выходом Google Pixel Watch Google призывает разработчиков создавать больше приложений для часов. Предлагаем посмотреть пример реализации приложения по погоде на Jetpack Compose.

Процесс создания Wearable app происходит так же, как и для мобильных приложений, но нужно изменить несколько зависимостей. А с помощью Jetpack Compose несложно настроить размер, форму и жесты в проекте.

Пошаговое руководство по реализации в этой статье:

https://tprg.ru/aCbE

#android
3👍3👎1
Производительность в Jetpack Compose

В статье рассматриваются способы и методы, которые позволяют ускорить работу Compose. Например:

— когда следует использовать аннотации Immutable и Stable,
— использование лямбда-функций и неизменяемых коллекций,
— плюсы и минусы работы с NonRestartableComposable и remember {}.

Подробнее: https://tprg.ru/2liX

#android
👍7
Исследование по использованию Apple Swift и SwiftUI в iOS 16

Исследовательские вопросы:
— Какие языки программирования используются для разработки?
— Сколько приложений написано на Swift?
— Каков процент приложений, использующих SwiftUI или UIKit?

По результатам — в этом году Swift опередил C++. SwiftUI стал чаще использоваться в приложениях от Apple: количество бинарных файлов, использующих SwiftUI, удвоилось между iOS 15 и iOS 16.

Источник: https://blog.timac.org/2022/1005-state-of-swift-and-swiftui-ios16/

#ios #swift
👍6
Подкаст: история создания Kotlin

В 2019 году Kotlin стал основным языком программирования на Android. Если вам интересно, как разработка из Питера покорила Google, то предлагаем прослушать небольшой подкаст.

О том, как Kotlin появился на Android и почему JetBrains решили создать собственный язык программирования, рассказывает ex-руководитель Kotlin — Андрей Бреслав:

https://zapuskzavtra.libsyn.com/kotlin-google

#kotlin
👍113👎1
Как сделать автотесты на Swift комфортными для тестировщиков

Автоматизация тестирования мобильных приложений сильно усложняется для тестировщиков, если их нужно подготовить для двух платформ. Например, XCTest требует дополнительных настроек в проекте, что невозможно сделать только со стороны QA-команды.

В этой статье Игорь Бессараб из IW Group рассказывает, как их команде с помощью iOS-разработчиков удалось настроить XCUITest и освоить нативные автотесты:

https://tproger.ru/articles/kak-sdelat-avtotesty-na-swift-komfortnymi-dlja-testirovshhikov/

#swift
This media is not supported in your browser
VIEW IN TELEGRAM
Руководство по App Shortcuts на Android

Вероятно, вы уже знакомы с App Shortcuts и встречали их в проектах. Популярные приложения, такие как Instagram или WhatsApp, используют Shortcut Manager API для легкого создания ярлыков.

В этом руководстве рассматривается, как реализовать и управлять тремя различными типами ярлыков, а именно:

1. Static — статические ярлыки создаются через xml и не могут быть изменены.
2. Dynamic — динамические ярлыки, которы могут обновляться во время выполнения.
3. Pinned — закреплённые ярлыки часто используются для быстрой навигации в приложении.

Подробнее: https://tprg.ru/mx2D

#android
6👍2
Серия статей по Fragment API

Часть 1. Транзакции:
— разбор функций из Fragment-ktx,
— оптимизация транзакций,
— способы управления видимостью и жизненным циклом фрагментов.

Часть 2. (Не) создаем инстанс:
— создание фрагментов в XML,
— добавление зависимостей в конструктор через FragmentFactory,
— транзакции без создания Fragment.

Часть 3. Навигация:
— множественный backstack,
— особенности работы OnBackPressedDispatcher,
— что такое Primary Navigation Fragment и Fragment Result API.

Часть 4. Анимации и меню:
— создание shared element transitions,
— три метода addMenuProvider() для добавления MenuProvider,
— правила работы с анимациями.

#android
👍112🔥1
Аудит кода для Flutter-приложений

Небольшое руководство, как провести Code Audit проектов на Flutter: анализ производительности, UI, I/O и многое другое. Большинство советов можно использовать и для проверки нативных приложений:

https://chililabs.io/blog/flutter-mobile-app-code-audit

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

#flutter
👍3
Google представила KataOS

Google анонсировала новую операционную систему для обеспечения безопасности встраиваемых устройств , т.к. по результатам Google Research Team, именно они чаще всего подвержены хакерским атакам.

На данный момент проект доступен на GitHub. В будущем сотрудники компании планируют добавить модули, которые позволят загружать и запускать сторонние приложения.

Источник:

https://opensource.googleblog.com/2022/10/announcing-kataos-and-sparrow.html

#новости
👍7