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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
👾 Кратко о Nothing

Nothing является типом, который полезен при объявлении функции, которая ничего не возвращает и не завершается.

Примеры:

• функция, которая выбрасывает exception или в которой запущен бесконечный цикл;

• функция TODO() — public inline fun TODO(): Nothing = throw NotImplementedError();

• в тестах есть функция с именем fail, которая выдает исключение с определенным сообщением:

fun fail(message: String): Nothing {
throw IllegalStateException(message)
}

#kotlin
🥰4
🌐 Как подружить Flutter и Huawei — настраиваем Flutter

Первую часть — о настройке самого App Gallery — читайте тут.

В этой статье вы узнаете:

как подготовить приложение к публикации в разных сторах и медиасервисах;

как тестировать приложение.

#flutter
3🔥1👏1🤩1👾1
👾 Всё, что нужно знать об Android 15: архивирование, защита данных и новые API

Android 15 ворвался в наши жизни с новым усилением безопасности и удобством разработки.

Пристальное внимание создатели 15-й версии уделили защите данных пользователей, в том числе, обновлениям в управлении персональной информацией и создании защищенной зоны Private Space для приложений с дополнительной аутентификацией.

Ещё одно любопытное нововведение — активная поддержка планшетов и складных устройств, новые API и улучшенные инструменты. В Android Studio теперь можно менять размеры экранов виртуальных устройств — теперь разработка адаптивных приложений станет проще.

👉 Читать статью
#android #kotlin
🎉3🥰1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👑🧟 Король спама: насколько сильно ты бесишь коллег в рабочих чатах

Признайся, ты тоже иногда отправляешь голосовые сообщения из маршрутки? Или может быть, ты тот самый человек, который пишет «Привет» и исчезает на час? Всего 10 вопросов, которые помогут понять, являешься ли ты мастером цифрового этикета или главным спамером офиса. Готов узнать правду?

👉 Пройти тест
😁2🥱1
⏱️ Как заставить крутиться таймер — инструкция для iOS-разработчиков

Автор статьи поделится своим опытом работы с обратным отсчётом времени (на примере Мегамаркета) и расскажет, как поставить таймер самостоятельно.

Кажется, что таймер — простая для реализации вещь. Но если добавить сюда сжатые сроки, код (его рефакторинг часто откладывается по разным причинам), пласты бизнес-логики и UI-элементы — получим нетривиальную задачу.

#ios #swift
😁42
🛠️ Создание Custom Layout в Jetpack Compose

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

Автор статьи расскажет о том, как создавать Custom Layout в Jetpack Compose, а также решит одну связанную с этой темой практическую задачку.

👉 Читать статью
#kotlin #android
🔥2
🛒 Как спроектировать мобильное приложение маркетплейса за 7 шагов

В этом материале автор рассмотрит основные шаги для запуска мобильного приложения своего маркетплейса. Статья охватывает разные методы разработки — от nocode-платформ до кастомных решений и гибридных подходов с использованием headless CMS. Это поможет выбрать технологии и стратегии для проекта.

👉 Читать статью
#ios #android
2👍1
🌐 Flutter in Production

Как Flutter превратился из начинающего UI-фреймворка с амбициозными целями в надёжное решение, которому доверяют крупнейшие бренды мира?

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

👀 Смотреть видео
#flutter
5🥱5
Вакансии «Библиотеки программиста» — ждем вас в команде!

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

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

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

Ждем ваших откликов 👾
🔧 Visual Code Space — редактор кода для Android

Visual Code Space — это современный редактор кода, разработанный для устройств на Android. С его помощью вы сможете создавать код на ходу, используя удобную и эффективную среду. Забудьте о громоздких настройках, погрузитесь в кодинг с интуитивно понятным интерфейсом и мощными функциями.

⚙️ Visual Code Space на GitHub
#android
😁7
🍏 Что такое необязательная цепочка (Optional Chaining) ?

Необязательная цепочка означает, что вы можете безопасно вызвать свойство чего-то, что может быть nil.

Optional chaining работает, как следует из названия, путем объединения одного или нескольких необязательных значений с помощью оператора со знаком вопроса ?, например, так:

something?.someValue?.someMethod()


Если nil встречается в любой точке вышеприведенной цепочки, приложение не крашится — вместо этого возвращается nil.

#swift
2
📥 Фоновая загрузка файлов на сервер в iOS

При создании приложений для iOS одной из распространённых задач является обеспечение возможности выполнения задач в фоновом режиме после выхода пользователя из приложения.

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

#ios #swift
5
🎩 Секретная акция, или Как выйти за пределы UICollectionView

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

👉 Читать статью
#ios #swift
1🔥1
🌐 Flutter Mix. Делаем верстку проще

Mix — UI фреймворк, построенный поверх Flutter, значительно упрощающий вёрстку. В его основе лежат 3 концепции:

Атрибуты: они задают цвет, размер, отступы и другие параметры UI;

Стиль: объединяет в себе список атрибутов;

Box: принимает стиль и отрисовывает UI по его атрибутам.

📚Читать подробнее
#flutter
😁5👍2🔥1🤔1
До Нового года мало времени, а до успеха в IT — всего один сертификат

Курсы от Proglib Academy — это крутой подарок для тех, кто интересуется IT, хочет освоить новую профессию и жить в шоколаде.

Почему сертификат на наши курсы — хороший презент:

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

Сертификат оформляется за пару минут, и даже не нужно ломать голову над упаковкой.

🚀 Подарите возможность начать год с полезных знаний и карьерного роста → подробнее о сертификатах
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1😁1
🛠️ Управление Xcode симулятором из симулятора

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

В этой статье автор расскажет, как настроить управление симулятором, чтобы упростить процесс тестирования и повысить эффективность работы.

👉 Читать статью
#xcode #swift #ios
1
👾 Какая польза от typealias?

Typealias — это механизм создания синонимов (псевдонимов) для существующих типов. То есть, можно создать новое имя для уже существующего типа данных.

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

typealias NodeSet = Set
typealias FileTable = MutableMap<K, MutableList<File>>


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

К примеру, если в проекте используется много Map<String, String> и вместо этого вы хотите использовать более описательное название, например Properties, вы можете определить новый тип для Map<String, String> помощью следующего кода:

typealias Properties = Map<String, String>


Теперь вместо использования Map<String, String> можно использовать Properties для обозначения одного и того же типа данных. Таким образом, код становится более читаемым и понятным.

#kotlin
👏7🎉2
Compose и SwiftUI: найди 10 отличий

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

Автор обсудит отличия декларативных UI-фреймворков: Compose и SwiftUI. Рассмотрит принципы работы в обоих случаях. Вы узнаете об отличиях в обновлении UI, жизненном цикле, системе модификаторов.

👀 Смотреть видео
#swift #kotlin
1😢1
📦 SwiftUI: Модификатор containerRelativeFrame

На WWDC 2023 Apple представила модификатор containerRelativeFrame для SwiftUI, который упрощает размещение элементов на экране.

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

#новость #swift #ios
4👍2
🦑👨‍💻 Программист в «Игре в кальмара»: каковы твои шансы выжить?

Готов проверить свои шансы на выживание в игре, где каждый шаг может стать последним? Ответь на вопросы и узнай, насколько хорошо ты справишься с испытаниями!

Пройти тест
4