Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.86K subscribers
1.45K photos
67 videos
52 files
4.19K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🤦‍♂️ А чего вы ожидали? <//>

Вчера Apple выпустила iOS 17.4 beta 1 и поделилась изменениями для рынка ЕС. Многое было известно уже заранее, кроме условий. Впрочем, они оказались необоснованными, а местами и вовсе «драконскими».

Какие изменения для стран ЕС?
– Сторонние магазины.
– Альтернативные варианты оплаты.
– Альтернативные браузерные движки (Chrome и ему подобные).
– Доступ к NFC.

Что для разработчиков магазинов?
– Магазин будут проверять. Нужна аккредитация и 1 млн €
– За каждую установку магазина владелец платит 0.5€ в год

Разработчик сам решает, где ему остаться: App Store или новые условия. Получается, что магазин платит за каждую установку 0.5€ в год, и разработчик, у которого лимит 1 млн установок, а дальше за каждую установку приложения ещё 0.5€ в год.

Apple в очередной раз всех обхитрила, а сами условия оказались не выгодными для разработчиков. Мне кажется, Apple на выходе «закопала» альтернативные сторы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9😁5🤔2👍1
👀 Что происходит?

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

😟 Ещё одна «дыра» в iOS: исследователь безопасности Томми Миск обнаружил, что некоторые популярные приложения, например TikTok, Twitter и LinkedIn, тайно собирают данные о пользователях через уведомления на iPhone.

💵 Как игра Whiteout Survival заработала 260 миллионов долларов в 2023 году с помощью инновационных методов монетизации.

Что можно улучшить в приложении? Анализ функций и возможностей мобильных приложений, с упором на улучшение юзабилити и вовлеченности пользователя.

И если вы вдруг пропустили: подробные изменения iOS, Safari и App Store для пользователей из Европы.

#дайджест
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔄 Обновление Jetpack Compose <//>

На днях Jetpack Compose обновился до версии 1.6. Этот выпуск в основном посвящен улучшению производительности для повышения эффективни основных частей API. Что нового?

👉 Улучшения производительности: Скорость прокрутки увеличена на 20%, а время запуска сократилось на 12%.
👉 Улучшена производительность кода, сгенерированного Compose
👉 Параметр includeFontPadding по умолчанию теперь false
👉 Поддержка Drag and Drop

Полная статья со всеми изменениями — читать ℹ️
Roadmap — тут 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👨‍💻 Ладно, за работу <//>

Уверен, что каждый сталкивался с этой проблемой — merge conflicts. Причина возникновения конфликтов заключается в том, что git иногда получает противоречивую информацию об изменениях. Он запутывается и в ход идёт ручная работа.

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

Как решать конфликты слияния 😓
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🌚1
🍏 Готовится что-то крупное <//>

Марк Гурман из Bloomberg сообщил о возможных грядущих глобальных изменениях, которые будут реализованы в новой версии мобильной операционной системы iOS. По словам инсайдера, в ближайшем будущем он расскажет о них, сейчас он готов поделиться информацией о некоторых.

В частности, появится поддержка кросс-платформенных RCS-сообщений, что позволит пользователям с устройствами на iOS и Android обмениваться контентом без ограничений. В частности, речь о фото в высоком разрешении, аудиосообщениях, обмене информация в одной сети Wi-Fi, повышенном уровне защиты и так далее.

Заметно поумнеет голосовой помощник Siri, который будет использовать продвинутую версию генеративного искусственного интеллекта. Также Apple рассматривает возможность применения ИИ в сервисах и приложениях Apple Music, Pages, Keynote и Xcode.

Вероятно, iOS 18 станет более ожидаемым релизом, чем iPhone 16.

💭 Чтобы вы хотели видеть в «грандиозном» обновлении?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
😱 А может не надо? <//>

Вероятно, вы следите за обновлениями, новыми решениями и подходами в разработке. Compose является одним из них — Google нацелились на него и активно развивают.

И вдруг вы решаете попробовать его в своём проекте. Что вас ждёт? Какие плюсы и недостатки?

Автор, разработчик под Android с опытом в этой сфере 7+ лет, решил попробовать и делится своим опытом 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
💻 Mac больше не нужен <//>

Project IDX, универсальная веб-среда Google для разработки приложений с поддержкой искусственного интеллекта, выполняет некоторые из своих ранних обещаний. В январском обновлении Project IDX получил:

– Интеграцию полноценного симулятора iOS и эмулятора Android, доступные прямо из браузера, что (особенно полезно для разработчиков Flutter);
– Новые шаблоны проектов для разных языков и фреймворков;
– Улучшения, такие как автоматическая настройка брандмауэра, инструменты командной строки;
– Поддержка Docker;
– Расширение функций ИИ в 15 странах.

С обновлением можно ознакомиться тут ℹ️
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱15👍6👏1😁1
#дайджест полезностей для мобильного разработчика

💡 Пример, как можно использовать использовать enum, чтобы определить, нужно ли показывать пользователю экран приветствия, экран входа или основной экран приложения.

Что такое односторонняя привязка (one-way binding) и как она отличается от двусторонней привязки (two-way binding) в SwiftUI. Узнать можно тут 🔗

Знаете что такое полиморфизм? А как он работает в SwiftUI? Автор показывает, как использовать полиморфизм в SwiftUI с помощью @Observable и any. 👨‍💻

🥽 Новое API SwiftUI для разработки приложений для visionOS — операционной системы для Apple Vision Pro и создание простого приложения.

🌈 Как легко поладить с анимациями? Есть довольно простой способ — анимации Lottie. Lottie позволяет импортировать анимации из After Effects в формате JSON. Можно также масштабировать и позиционировать Lottie представление по своему усмотрению.

⚙️ Настраиваем поведение «отскока» для ScrollView или List. Поведение отскока определяет, как прокручиваемое представление реагирует, когда пользователь достигает конца его содержимого. 

Анимация, похожая на «скрытые фотографии» в Telegram, выполненная на SpriteKit. Исходный код лежит тут 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
🔵 Продолжите фразу:

Сложнее всего в программировании мне даётся...
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
💸 Он вернулся <//>

Хорошая новость для всех юзеров айфона — СберБанк снова в AppStore. Старые версии приложения для iOS скоро перестанут работать. Установите свежую версию уже сейчас.

Успейте скачать 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
6🥱4👍2
👨‍💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры

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

Читать статью

#новость
👍31🔥1
#вопросы_с_собеседования

💻 Вопрос по Kotlin

Чем Any в Kotlin отличается от Object в Java?

Any не является полным аналогом java.lang.Object.

В Object 11 методов в классе, в Any только 3 метода: equals(), hashCode() и toString(). При импорте типов Java в Kotlin все ссылки типа java.lang.Object преобразуются в Any. Поскольку Any не зависит от платформы, он объявляет только toString(), hashCode() и equals() в качестве своих членов, поэтому, чтобы сделать другие члены java.lang.Object доступными, Kotlin использует функции расширения.

Несмотря на то, что классы Object и Any имеют сходства (корневые классы иерархии классов), они также имеют и отличия, связанные с языковыми особенностями Kotlin и Java:

Класс Any в Kotlin является не только базовым классом для пользовательских классов, но также и супертипом для всех не-nullable типов данных, включая примитивные. В то время как в Java, класс Object является базовым классом только для пользовательских классов.

Класс Any в Kotlin также имеет nullable версию Any?, которая является супертипом для всех nullable типов данных в Kotlin. В то время как в Java, класс Object не имеет nullable версии.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍171🤩1
📩 Использование Push-уведомлений с FCM и Ktor <//>

Push-уведомления — это не просто удобство, но и способ поддерживать ваших пользователей в курсе важных обновлений.

Автор объясняет необходимость push-уведомлений и роль FCM в этом процессе, создаёт настройки для push-уведомлений, включая настройку сервера, а также настройка проекта в Android Studio и подключение к Firebase.

Обо всём подробнее в видео 📺
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
🥽 Первые обзоры на Apple Vision Pro <//>

Много внимания сейчас приковано именно к новому продукту от Apple. Вчера вышли первые обзоры на гарнитуру. Самый детальный обзор получился у Маркеса Браунли.

Спойлер: всё не так однозначно, как может показаться.

💬 Вот что об устройстве говорят блогеры и СМИ.
📺 Обзор от Маркеса Браунли.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1🥰1
🙂 Всем привет, кто кодит. Очередной #дайджест для Android-разработчиков

Зачем использовать Flow, если в мобильной разработке есть мощный ChannelFlow? Автор показывает на примере реального сценария, где приложения обнаруживают близкие устройства по Bluetooth или LAN. 👨‍💻

Простой и гармоничный подход к архитектуре в Android-разработке на основе Clean Architecture. 🚀

Какие различия между свойствами lateinit и lazy? Разбор важного вопроса на собеседованиях по Android-разработке. ℹ️

Шесть паттернов использования корутин в Android-разработке и однин анти-паттерн, почему они работают и что за ними стоит. 🤯

Новая атака на Android-приложения — MavenGate. Как она устроена и рекомандации по защите. 🛡

Бонус: YTDLnis — бесплатный и открытый загрузчик видео/аудио с использованием yt-dlp для Android 6.0 и выше.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍611