Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
856 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
Все видео Google I/O 2023

10 мая прошла ежегодная конференция компании Google, где презентовали новые гаджеты и обновления. Большинство изменений связано с искусственным интеллектом.

Узнать что нового в платформе, о разработке производительных и качественных приложений, об инструментах для создания приложений для различных устройств можно по ссылке (35 видео):

https://www.youtube.com/playlist?list=PLWz5rJ2EKKc85Xna4Q3Fw79OP_3D1JaJW

#android
🔥3👍1
Двухфакторная аутентификация с помощью Java Card

Java Card — это технология программного обеспечения, которая позволяет безопасно запускать приложения (апплеты) на базе Java на смарт-картах и, в более широком смысле, на аналогичных безопасных устройствах с малым объемом памяти.

В статье разработчик рассказывает про свой опыт внедрения двухфакторной аутентификации с помощью Java Card для мобильного приложения на базе Android:

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

#android #java
2🤔2👍1
5 инструментов для iOS-разработчика

У каждого разработчика есть свой набор программ, которые он использует каждый день. Ниже 5 инструментов, которые можно использовать в рабочем процессе:

1. Cleaner for Xcode
Это приложение поможет удалить старые файлы, оставшиеся после обновления до новой версии Xcode. Оно также может очистить все производные данные и кэши и освободить место на диске.

2. Rectangle
Rectangle, как и его предшественник Spectacle, улучшает управление окнами с помощью сочетаний клавиш и областей привязки.

3. SF Symbols
С помощью SF Symbols вы можете включать в свои приложения различные пиктограммы. Самое приятное то, что библиотека постоянно пополняется, поэтому у вас всегда будут свежие иконки для работы.

4. Sigma
Sigma — плагин для Figma, который автоматически генерирует код SwiftUI на основе ваших проектов. Этот плагин экономит время и может упростить процесс проектирования и разработки.

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

#ios
👍63
Что нового в Kotlin для Android?

На конференции Google I/O 2023 были представлены новинки Kotlin.
Большая статья, в которой подробно разбираются эти обновления, с комментариями и дополнениями мобильного разработчика:

https://habr.com/ru/companies/usetech/articles/734338/

#kotlin #android
6👍2
Что такое Compose Multiplatform?

На сегодняшний день есть два основных UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter.

Но статья не о них, а об удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform, приложения на котором можно запускать почти где угодно и на чем угодно — Android, iOS, Windows, Linux, MacOS и в браузере:

https://habr.com/ru/companies/timeweb/articles/734818/

#compose #kotlin
9
8 пакетов Flutter для облегчения разработки

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

2. flutter_launcher_icons
Пакет пригодится, если понадобится изменить иконки приложения, не зная ничего о Xcode и Android. Вы просто добавляете свой значок в формате png, выполняете команду flutter pub run flutter_launcher_icons, и все остальное происходит в фоновом режиме.

3. Fluttertoast
С помощью этого пакета легко отображать уведомления в приложениях Flutter.

4. Firestore
Firestore — облачная база данных NoSQL.
Пакет позволяет легко интегрировать приложения Flutter с Firestore.

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

6. SharedPreferences
Пакет для хранения и извлечения пар «ключ-значение» на устройстве пользователя. Удобен для хранения предпочтений пользователя, таких как настройки и данные, специфичные для пользователя.

7. package_info_plus
Пакет предназначен для получения информацию о приложении (номер версии, номер сборки и имя пакета). Этот пакет особенно полезен для отображения информации о приложении пользователям или в целях отладки.

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

А какие пакеты для Flutter используете вы?

#flutter
🔥16👍7👎1
Passkeys в вопросах и ответах

Passkeys — это замена паролей, обеспечивающая более быстрый, простой и безопасный вход в приложения и веб-сайты. Этот способ авторизации надежен, устойчив к фишингу и рассчитан на работу не только на устройствах Apple. Самое главное, что людям не нужно ничего создавать, охранять или запоминать.

Чтобы объяснить, как применять Passkeys, команда Apple по конфиденциальности и безопасности провела встречу в формате «вопрос-ответ», в ходе которой ответила на распространённые вопросы о поддержке устройств, вариантах использования, восстановлении аккаунта и многом другом. В статье — основные моменты из этой беседы:

https://developer.apple.com/news/?id=21mnmxow

#ios
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Сокращение времени запуска Android-приложения

Время запуска — это первое впечатление пользователей о приложении, и медленная загрузка может негативно сказаться на удержании и привлечении пользователей.

Статья рассказывает о том, как разработчики Turo (каршеринг-приложение) сократили время запуска программы на 77%:

https://medium.com/androiddevelopers/turo-reduced-its-app-startup-time-by-77-using-android-developer-tools-and-best-practices-bcf82f596bcf

#android
👍14👎1
Использование принципа инверсии зависимостей на практике

В статье предлагается эффективный подход к обновлению приложений без необходимости полного переписывания кода. Автор обсуждает применение принципа инверсии зависимостей (Dependency Inversion), который позволяет снизить зависимость между компонентами приложения, сделать его более гибким и устойчивым к изменениям:

https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28

#android
👍5
Виды мобильных приложений

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

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

https://iamankurjain.medium.com/mobile-application-taxonomy-65b4b9e9e5a7

#советы
💩11🔥3
Различия Compose и SwiftUI

На первый взгляд SwiftUI и Jetpack Compose очень похожи. Оба являются декларативными UI-фреймворками с похожими примитивами, предназначенными для выполнения одной и той же задачи.

Но есть некоторые фундаментальные различия, которые определяют способ их использования. Подробности в статье:

https://medium.com/mateedevs/fundamental-differences-of-compose-and-swiftui-2dc0cdd0b37

#swiftui #compose
👍13
Ping в iOS

Иногда бывает нужно проверить доступность удалённого сервера и время ответа из приложения.

Простой способ такой проверки с использованием новой асинхронной функциональности Swift описывается в статье:

https://medium.com/@onlyapps/measuring-ping-in-ios-apps-a-simple-solution-13be82a15bf3

#ios #network
👍8🥱1
Сборка с Bazel — бесплатный курс

Bazel — это система сборки с открытым исходным кодом, созданная Google для компиляции больших сложных баз кода.

На этом курсе вы сможете изучить основы использования этого инструмента начиная от написания очень простого Java-приложения, заканчивая компиляцией приложения для Android с большим количеством зависимостей.

Курс доступен бесплатно:

https://www.kodeco.com/31558158-building-with-bazel

#bazel #курс
This media is not supported in your browser
VIEW IN TELEGRAM
Параллакс в Jetpack Compose

Эффект параллакса является популярным способом улучшить внешний вид приложения. При этом создать эффект параллакса в compose довольно просто: мы отслеживаем состояние прокрутки нашего скроллера и изменяем скорость трансляции видов, для которых мы хотим использовать параллакс.

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

https://proandroiddev.com/parallax-in-jetpack-compose-bf521244f49

#jetpackcompose
👍8
Опыт после использования Kotlin Multiplatform в производственных приложениях в течение года

Автор этой статьи поделился своими наблюдениями и выводами об использовании Kotlin Multiplatform. Рекомендуем к прочтению:

https://betterprogramming.pub/experience-using-kmp-in-production-apps-for-a-year-2474406d99d4

#kotlin #kmp
3👍1
Диспетчеризация методов iOS

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

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

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

#ios #swift
2
Как самостоятельно изучить Swift и стать iOS-разработчиком

Максим — iOS-разработчик из Казани, он самостоятельно освоил Objective-C и Swift и пишет мобильные приложения с 2017 года. Он успел поработать в стартапе и международной ИТ-компании, делал приложения для клиента из Арабских Эмиратов и Музея русского импрессионизма.

В этой статье он рассказал, почему решил стать iOS-разработчиком и что из этого вышло:

https://tproger.ru/articles/moja-istorija-v-it-kak-samostojatelno-izuchit-swift-i-stat-ios-razrabotchikom/

#ios
🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать анимированные шейдеры в Jetpack Compose

Jetpack Compose — бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня речь пойдёт об одной из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на видео выше.

В этой статье вы научитесь использовать эту фичу в своих проектах и делать аналогичные шейдеры:

https://habr.com/ru/companies/timeweb/articles/736192

#jetpackcompose
👍61
Интеграция рекламы в Android-приложение: Yandex Mobile Ads Vs. Google AdMob

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

Эта статья будет полезна Android-разработчикам, которые столкнулись с выбором SDK:

https://habr.com/ru/companies/simbirsoft/articles/737158/

#android
👍5💩4
Упрощение внедрения зависимостей с помощью паттерна «фасад» в iOS

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

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

Подробнее:

https://pedroalvarez-29395.medium.com/ios-simplifying-dependency-injection-with-the-facade-design-pattern-bd863630da32

#ios
1
Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера

Ну не только же нам приложения делать, правда? Давайте реанимируем ваш старый гаджет на Android и превратим его в игровую приставку.

Для этого нам понадобятся:
— старый планшет или смартфон на android;
— Raspberry Pi Pico;
— 8 кнопок;
— прямые руки;
— и, наконец, немного кода.

Подробная инструкция в статье:

https://habr.com/ru/companies/timeweb/articles/736438/

#android #diy
🤔5👍41🤮1