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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🚀 Как сделать работу с сетью ещё быстрее

Сетевые задержки до сих пор мешают юзерам. На решение проблемы приходит метод «сжатия общего словаря», который снижает объем передаваемых данных за счет повторного использования ранее переданных элементов.

📖 Применение этого метода может ускорить передачу данных, особенно в условиях медленного интернета.
У каждого такое было...

Давайте в комментариях соберём лучшие отмазки для айтишников.

Начинаем: «Не баг, а фича». Продолжаем 👇
Media is too big
VIEW IN TELEGRAM
🛠️ Применяем шаблон Builder в Kotlin

Шаблон проектирования Builder позволяет создавать сложные объекты в несколько этапов. Но насколько он применим к Kotlin?

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

Посмотреть на ютубе 📺

🕐 Таймкоды:

00:00 — Начало
00:18 — Пример кода
02:01 — Традиционный вид шаблона
05:02 — Модернизация шаблона в Kotlin
09:15 — Итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
Делегаты и делегированные свойства в Kotlin

📖 Погрузимся в мир делегатов и делегированных свойств в Kotlin. Эта тема может показаться сложной на первый взгляд, но автор объясняет её максимально понятно и подробно.

В статье также есть примеры использования встроенных делегатов (lazy, observable), а также создание пользовательских делегатов с помощью интерфейсов ReadOnlyProperty и ReadWriteProperty.
👍4
Осторожно, Combine!

📖 Разработчик из команды Яндекс Диска поделился опытом, как они Combine добавляли. В статье он разбирает проблемы, с которыми столкнулась команда, и как их исправили, а также к каким выводам после этого пришли.

А ещё поделился библиотекой с фиксами и экстеншенами к Combine 🎁
4
Что такое Home-виджеты и как их подружить с вашим приложением на Flutter

Cуществуют нативные инструменты, которые интегрируются с Flutter. Например, создавать виджеты на Android можно с помощью Glance или XML, а на iOS — с WidgetKit. Эти технологии позволяют внедрять так называемые Home Widgets — элементы, с которыми можно взаимодействовать напрямую с домашнего экрана.

📖 В этой статье разбираются основные инструменты, и как их внедрять и использовать во Flutter-приложениях.
⚙️ Динамические модули в приложениях на Android

Размер приложения часто играет важную роль в восприятии его пользователями и принятии ими решения о скачивании. Исследования показывают, что чем меньше размер APK, тем выше вероятность его установки и тем реже оно оказывается в списке на удаление.

📖 Для внедрения одной из SDK, основанной на Flutter, команда Яндекс Go прибегла к механизму Dynamic Feature Delivery. Т. к. информации в русскоязычном сегменте о DFD крайне мало, они делятся своим опытом интеграции.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📨 Как работают очереди и брокеры сообщений

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

1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.

Это самый простой пример. Очереди сообщений можно использовать для:

✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.

Подробнее читайте в нашем гайде 👇

🔗 Читать статью
🔗 Зеркало
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
👉Переводчик и автор оригинальных статей

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
This media is not supported in your browser
VIEW IN TELEGRAM
📐 Избавляемся от рутинных ADB команд с помощью Shortcuts

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

📖 Статья даст готовое решение для автоматизации работы с командами ADB, которыми автор делится в конце. Но главное — это идея, которую вы сможете адаптировать к своим ежедневным процессам.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2😁2🔥1
😭💰⬆️ Shut up and give my money: как просить повышения зарплаты

Рассказываем, когда и как правильно поднимать вопрос о повышении зарплаты. Проверенные тактики, аргументы и советы.

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

📖 Читать статью
📖 Зеркало
4
⚡️Разыгрываем флагманский смартфон

«Библиотека программиста» разыгрывает один из трех смартфонов на выбор:
🔹Samsung Galaxy S24 Ultra на 1 ТБ
🔹Xiaomi 14 Ultra на 512 ГБ
🔹iPhone 16 Pro Max на 512 ГБ

🔥 А еще 99 участников розыгрыша получат скидку 50% на наш курс Базовые модели ML и приложения!
Промокод будет действителен до 20 ноября.

Условия просты:
→ подписаться на Библиотека нейротекста
→ подписаться на Библиотека нейрозвука
→ подписаться на Библиотека нейрокартинок
→ нажать на кнопку «Участвовать» под этим постом

Итоги появятся 30 октября в 20:00 по московскому времени в нашем канале Библиотека программиста. Затем мы свяжемся с победителем, который сам выберет смартфон. Тем, кто получит промокод, мы вышлем его в течение недели после окончания розыгрыша.

⚠️ Убедитесь, что вам можно написать в личные сообщения или следите за результатами — если мы не сможем с вами связаться, то не сможем и отправить приз. Доставить мы можем только в города России и Беларуси.
👍2
Objective-C не кусается: как перестать бояться Legacy и стать настоящим iOS-ниндзя

📖 Поговорим про тему, которая волнует многих разработчиков: использование старых технологий в iOS-разработке, таких как Objective-C. Тут возникает очень насущный вопрос, является ли он легаси?

Легаси — это не просто старый код, написанный на устаревших языках или с использованием старых технологий, это любой код, который сложно поддерживать и развивать. Это может быть и относительно новый код, если он плохо структурирован, недостаточно документирован или содержит множество технического долга.
💾 TinyStorage — простая и легкая замена UserDefaults для постоянного хранения данных

TinyStorage — простая и легкая замена UserDefaults (не обертка, а именно замена, лишенная некоторых недостатков нативного фреймворка) с более надежным доступом и встроенной поддержкой типов Codable.

Как и UserDefaults, TinyStorage предназначен для использования с относительно небольшими значениями. Не храните в TinyStorage массивные базы данных, так как он не оптимизирован для этого, но он достаточно быстр для извлечения сохраненных типов Codable. В качестве ориентира, размер хранилища не должен превышать 1 МБ.

Ссылка на GitHub 😺
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4
🤖 Вышла бета-версия iOS 18.2 с Apple Intelligence

Сегодня компания Apple выложила первые бета-версии грядущих обновлений iOS 18.2, iPadOS 18.2 и macOS Sequoia 15.2 для тестирования разработчиками.

Apple представила новые функции Siri, инструменты для создания изображений и многое другое. Вот что нас ждёт ждёт:

Image Playground (приложение Apple для создания изображений, которое может создавать с помощью текстовых подсказок).
Image Wand (Генерация по грубому эскизу с Apple Pencil на iPad).
Genmoji (это новые кастомные emoji).
Интеграция Siri с ChatGPT (для выполнения определенных запросов, но только с разрешения пользователя).
Visual Intelligence (функция, которая позволяет получать информацию о том, что находится вокруг вас).
Инструменты для письма (Apple улучшает функцию Writing Tools, добавляя возможность вносить изменения по своему усмотрению).

Новые бета-версии включают API для разработчиков, позволяющие добавлять инструменты Writing Tools, Genmoji и Image Playground в приложения сторонних разработчиков.

На данный момент бета-версия доступна только разработчикам, у которых есть устройство с поддержкой Apple Intelligence.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
Экономьте время, копируя готовый код в свой проект

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

Всё просто! Выбираете любой элемент, и наведении курсора на любой из экранов вы увидите кнопку «Скопировать код». Нажмите на него, и все готово — вставьте код в свой проект.

Ссылка на проект 👈
👍2
💪 Обновление Apple TestFlight: переработанный дизайн и критерии тестирования

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

Также добавили опцию Tester Criteria. С её помощью разработчики могут указать список устройств, для которых нужно провести тестирование. Можно выбрать определённую модель iPhone и указать версию iOS. Критерии применяются как к публичным ссылкам на тестирование, так и к частным приглашениям.

Помимо этого появилась статистика. Разработчики теперь могут видеть, сколько пользователей просматривали приложение в TestFlight и сколько из них решили установить бета-версию. Также в отдельном пункте показывается, сколько тестировщиков не соответствует установленным критериям тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🥰1