Мобильная разработка
14.8K subscribers
549 photos
230 videos
2.57K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Анонсирован Flutter 2

Вчера команда разработки Flutter представила версию 2.0.0. И это не маркетинговый трюк: в Flutter 2 добавили огромное количество новшеств, которое сообщество Flutter ждало довольно давно.

Что наиболее важного появилось:

— поддержка веб-платформы перешла в ветку stable;
— поддержка десктоп-платформы появилась в раннем доступе в ветке stable;
— появление Sound Null Safety в Dart;
— Google Mobile Ads SDK для Flutter перешёл в статус открытой беты;
— появились новые iOS-виджеты для Cupertino;
— новые виджеты Autocomplete и ScaffoldMessenger.

Flutter 2.0.0 уже доступен для использования.

Подробнее обо всех новшествах: tprg.ru/IC0c

#flutter
Пишем новостное приложение на SwiftUI

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

youtu.be/M2psX-JwHdE

#swiftui
Flutter стремительно развивается и занимает отдельную нишу на мобильном рынке. Крупные компании стали всё чаще отказываться от нативной разработки в пользу Flutter.

Если пару лет назад во Flutter уходили лишь энтузиасты, то сейчас фреймворк стал стандартом в кроссплатформенной разработке.

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

#чат
Влияние data-классов в Kotlin на вес приложения

В проектах часто создаются классы, основная цель которых — хранить данные. В Kotlin они помечаются data, например:

data class User(val name: String, val age: Int)

Чтобы выяснить, какое влияние data-классы оказывают на вес приложения, автор статьи решил удалить все data-классы из большого проекта, но сохранить возможность компиляции:

tprg.ru/IMNo

Подробнее о data-классах вы можете почитать в документации Kotlin: tprg.ru/yLmK

#kotlin #android
Безопасность iOS-приложений: гайд для новичков

Анализ безопасности iOS-приложений требуется в первую очередь в банковских и других приложениях, использующих приватные пользовательские данные (пароли, паспортные данные и т.д.).

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

tprg.ru/hlKF

#ios
Как работать с GPS на Android: пишем простое приложение

Из 1,5-часового видео вы узнаете, как использовать FusedLocationProviderClient, сервисы Google Play и Location Provider, чтобы приложение корректно работало с GPS:

youtu.be/_xUcYfbtfsI

#android
Топ-6 хакерских программ для Android: как ломают ваш Wi-Fi?

В подборке собраны инструменты по поиску уязвимостей в Wi-Fi сетях, перехвату трафика, анализу шифрования и подмене MAC-адресов. Используйте только в исследовательских целях:

tprg.ru/V7Fu

#android
Опрос пользователей Flutter за первый квартал 2021 года

До 11 марта доступен ежеквартальный опрос для Flutter-разработчиков. Команда Flutter прислушивается к результатам таких опросов, поэтому ваши ответы помогут улучшить фреймворк:

tprg.ru/7SqK

#flutter
Решаем задачу с собеседования на Kotlin

Краткое условие:

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

Предлагаем решить эту задачу вместе с золотым медалистом ICPC World Finals Михаилом Дворкиным:

youtu.be/abkHxIMJGIw

#kotlin #задачи
Про основы программирования можно почитать в канале Точка входа.

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

Точка входа в канал здесь: https://t.me/joinchat/aldnj9QOXf41NzY6
Архитектуры MVP, MVVM и MVI в Jetpack Compose

Релиз Jetpack Compose намечается в этом году, и фреймворк принесёт декларативный UI и новые паттерны разработки. Однако как с ним работают существующие архитектуры MVP, MVVM и MVI? Читайте в статье:

tprg.ru/JmDx

#jetpack #android
Особенности передачи лямбды и ссылки на функцию в Kotlin

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

Кажется, что в таком случае функцию без проблем можно заменить на лямбду, однако в сгенерированном Java-коде функция и лямбда обрабатываются по-разному.

Подробнее читайте в статье:

tprg.ru/jcmo

#kotlin
Видеокурс по основам RxJava

Библиотека RxJava реализует принципы реактивного программирования для JVM. Иными словами, RxJava позволяет в реальном времени составлять и обрабатывать последовательности событий.

В видеокурсе разбираются основные возможности библиотеки.

Первая часть: youtu.be/V-UkPijjJrk

Вторая часть: youtu.be/Z0vB_TlvJJ4

Третья часть: youtu.be/6DOPxgqgzkk

Наводку на этот курс нам дал подписчик. Если у вас тоже есть интересный материал, то пришлите нам через бота: t.me/tproger_official_bot?start=suggest

#предложка
Kotlin Flow: эволюция корутин

В Kotlin до версии 1.4 основным инструментом для связи между корутинами выступал Channel. Но примитив передаёт значение только один раз, поэтому для распространения событий одновременно в несколько корутин требовалось «изобретать велосипеды».

К счастью, в Kotlin 1.4 появился Flow, который призван решить эту проблему. Как это работает, показано с графиками в статье.

Перевод статьи на Habr: tprg.ru/jRPG

Оригинал на Medium: tprg.ru/rOcZ

#kotlin
Пишем интерфейс для чата на Flutter со сменой тем

В 45-минутном ролике показывается, как реализовать 4 экрана для чата: экран приветствия, экран входа или регистрации, экран со списком контактов и итоговый экран с сообщениями. На последнем экране может отображаться текстовый, аудио- и видеоконтент:

youtu.be/uiJF-ShOLyo

Исходники: github.com/abuanwar072/Chat-Messaging-App-Light-and-Dark-Theme

#flutter
SensorTower: средний размер мобильных игр из App Store вырос на 76 % за 5 лет

Аналитики взяли топ-100 самых зарабатывающих игр из App Store и сравнили размеры файлов, которые скачиваются из магазина. Средние и медианные значения размеров файлов указаны на графике ниже.

Что это значит? На смартфоны с малым объёмом памяти (32 ГБ и ниже) можно установить меньше приложений, чем раньше (а ведь ещё растёт объём пользовательских фото, видео и т.д.). Следовательно, количество пользователей таких приложений может снизиться.

Поэтому разработчикам важно следить за итоговым размером файлов.

Подробнее про исследование: tprg.ru/aKm6

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

#ios
Вот такие айтишные мемы делают в канале IT Юмор.

Посмотрите сами и подписывайтесь, если понравится: @ithumor
Новые виджеты в Flutter 2

Во второй версии фреймворка появились виджеты Link, ScaffoldMessenger и RawAutoComplete, а также виджеты Cupertino для iOS-версий приложений. Подробнее о них написано в статье:

tprg.ru/fUF0

#flutter
Гайд по внедрению зависимостей в iOS-приложение

Dependency Injection (DI или внедрение зависимостей) позволяет настроить зависимости объекта внешними объектами.

Подробнее о том, что такое DI и какие iOS-библиотеки занимаются внедрением зависимостей, расписано в статье:

tprg.ru/HxiX

#ios