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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🎉 Вышла тех-превью версия технологии Skip — разработка кроссплатформенных приложений на базе iOS

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

Введение в Skip по ссылке.
Документация тут.
👍5
🤔 #дайджест полезностей для мобильного разработчика

✳️ Новинки от Apple — страшно быстрая презентация от Apple.

✳️ Сокращение Тime Тo Мarket — автор рассказывает о тестировании всех фич на одном сервере, как это увеличивает время выхода продукта на рынок и предлагает решения.

✳️ Развитие с Kotlin — статья учит, как писать более выразительный и эффективный код на Kotlin с помощью функционального программирования.

✳️ Прибыль мобильных разработчиков — в статье автор анализирует, какой клиент ценнее для Apple и Google: пользователь iPhone или Android. Автор использует данные о количестве и доходах пользователей App Store и Google Play Store в разных регионах.

✳️ Jetpack Compose в действии — как команда разработчиков Додо Пиццы решила использовать новую технологию Jetpack Compose для создания сложной фичи в приложении.
🔥2
🤔 Как вы считаете, стоит ли делать систему MacOS и iOS открытыми?

С обновлением iOS 17.1 появилась возможность установки IPA-файлов через AirDrop. А в В iOS 17.3 должна появиться возможность загрузки приложений на iPhone и iPad из альтернатив App Store. С одной стороны, будет прикольно иметь полноценный линукс на маке, а другой стороны зачем это на телефоне?

Что думаете на этот счёт? Напишите в комментариях 👇
👍16🥱1
⚔️ React Native vs Flutter на примере мессенджера

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

Содержание:

00:57 — Язык
01:41 — Экосистема
02:04 — Философия
02:42 — Архитектура
04:00 — Опыт разработчика
05:45 — Инструментарий
07:39 — Код
09:13 — Производительность

#видео
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в пятницу залил код без тестов на прод и ушел на выходные:

#memes
😁9👍4🌚1
👨‍💻 Как создать интерактивные виджеты на iOS 17

Статья рассказывает о том, как создать интерактивные виджеты на iOS 17 с помощью нового фреймворка WidgetKit. Также в статье описаны основные концепции и компоненты виджетов, такие как Timeline, TimelineEntry, TimelineProvider, WidgetConfiguration и IntentConfiguration. В конце автор дает несколько советов по оптимизации и тестированию виджетов.

Читать
🔥31
☁️🧩 ТОП-10 бессерверных фреймворков

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

Читать статью
👍2🔥2
#вопросы_с_собеседований

Вопрос по Swift

Могли бы вы объяснить, как работают GCD (Grand Central Dispatch) и OperationQueue в Swift для управления многопоточностью? В чём различия между этими двумя подходами и в каких ситуациях предпочтительнее использовать тот или иной?

Grand Central Dispatch (GCD) — низкоуровневая API для многопоточности в Swift, которая позволяет выполнять асинхронные задачи в параллельных очередях. GCD удобен для выполнения простых асинхронных операций и управляет пулом потоков автоматически.

Пример использования GCD:

DispatchQueue.global().async {
// Выполнение задачи в фоновом потоке
let result = performSomeTask()

DispatchQueue.main.async {
// Обновление UI в главном потоке
updateUI(with: result)
}
}

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

Пример использования OperationQueue:

let operationQueue = OperationQueue()
let operation = BlockOperation {
// Выполнение задачи
performSomeTask()
}
operationQueue.addOperation(operation)

Выбор между GCD и OperationQueue зависит от сложности задачи. Для простых асинхронных операций удобнее использовать GCD, а для более сложных сценариев с зависимостями между задачами — OperationQueue.
🔥12👍1👏1
🚀 Какой самый эффективный способ создания мобильных приложений?

В этом видео рассказывается о том, как использовать FlutterFlow для быстрого создания мобильных приложений для iOS и Android. FlutterFlow — это инструмент для разработки приложений на Flutter с низким уровнем кодирования, который интегрируется с Firebase и значительно ускоряет мобильную разработку.

Содержание:

00:00 — Введение: Разработка на Flutter в 10 раз быстрее
00:13 — Создание нативных приложений с помощью Flutter Flow
00:52 — Виджеты Flutter, действия, представление кода
01:46 — Управление состояниями в разработке приложений
02:58 — Темы и управление пользовательским кодом
07:42 — Запуск приложения в браузере или локально
08:14 — Outro: Flutter Flow упрощает разработку приложений

#видео
🔥42🌚1
🤔 #дайджест полезностей для мобильного разработчика

🔖 Чтение и запись в User Defaults Swift — статья о том, как использовать User Defaults в Swift для хранения и изменения настроек приложения, которые сохраняются между запусками.

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

🔖 Фреймворк UI Flutter — как работает UI-фреймворк Flutter, который позволяет создавать кросс-платформенные приложения с высокой производительностью и качеством.

🔖 Мелкие и глубокие копии в Kotlin — реализация поверхностного и глубокого копирования объектов в Kotlin.

🔖 DebouncedClosure в Swift — создание класса Debouncer, который принимает замыкание и задержку в миллисекундах, и использование его для оптимизации сетевых запросов, поиска или обработки событий пользовательского интерфейса.
👍3
📱 Бесплатный Android-эмулятор для macOS

Основные преимущества этой утилиты заключаются в простоте загрузки любимых приложений и игр из Google Play Store, а также возможность легко тестировать ваш веб-сайт или приложение непосредственно в эмуляторе Android.

В утилите можно создавать и сохранять экземпляры любимых Android-устройств, в том числе новейшие Google Pixel.

Минимальные требования: Apple Silicon/Intel Mac на macOS 11, macOS 12, macOS 13, или macOS 14

Скачать можно тут.

#полезное
🔥3
👨‍💻 Как я стал iOS разработчиком

Статья о том, как автор стал iOS разработчиком в 32 года без профильного образования, курсов, английского языка и знакомых в IT. Он рассказывает о своем пути обучения, проблемах, с которыми столкнулся, и советах для начинающих.

Читать
👍7🥱3
🤔 MacBook Pro 2015 для учебы в 2023-м?

Автор объясняет, почему он решил купить MacBook Pro 2015 в 2023 году, и как он нашел хорошее предложение. Сравнивает с другими моделями, делится опытом использования и делает вывод.

Читать
🥱92😁1
#вопросы_с_собеседований

Вопрос по Kotlin

Что такое Layouts, какие виды вы знаете и как их применять?

Layouts в Android — это структуры, которые определяют расположение элементов интерфейса на экране. Некоторые из основных типов layouts и их особенности:

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

2. RelativeLayout: позволяет дочерним элементам указывать своё положение относительно других элементов или родительского контейнера. Используется для более сложных макетов, где требуется точное позиционирование элементов.

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

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

5. GridLayout: выстраивает элементы в двумерной сетке. Подходит для создания компактных, табличных макетов.

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

Применение каждого из этих layouts зависит от конкретных задач, которые вы хотите решить в вашем приложении.
🤔10👍6🔥3
👨‍💻 Изучаем чистую архитектуру Flutter на практике

Архитектура приложений в разработке — это как план здания, который помогает понять, куда и как всё должно быть устроено. Главная её задача — разделить разные части работы, чтобы можно было удобнее работать по частям.

Если говорить про Flutter, хорошая архитектура позволяет держать отдельно логику приложения от того, что связано с телефонами и компьютерами, например, от экранов и кнопок. Это также делает тестирование кода проще, потому что можно проверять каждую часть по отдельности.

Содержание:

00:00 Введение
03:44 Добавление пакетов и создание структуры папок
06:33 Определение классов сущностей
09:05 Создание классов и моделей репозитория
11:27 Создание запросов к API с помощью Retrofit
14:40 Варианты использования
17:54 Создание блока
21:16 Инъекция зависимостей
24:32 Отображение новостей
29:20 Локальная база данных
33:39 Добавление методов базы данных в слои
36:45 Сохранение и удаление статьи из базы данных

#полезное
👍4
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🔸 Собеседование iOS разработчика в Yandex

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

Смотреть
👍42
#дайджест полезностей для мобильного разработчика

✳️ Распространение версий Android — как изменилась доля разных версий операционной системы Android.

✳️ Kotlin перешёл в stable — руководитель мобильной разработки в компании KTS, делится своим опытом использования KMP в проектах и объясняет, почему он считает KMP перспективным и удобным инструментом.

✳️ Passkey — удобство, безопасность и совместимость технологии.

✳️ Эмулятор iPhone OS — проект touchHLE, который является высокоуровневым эмулятором приложений для iPhone OS.

✳️ Оптимизация приложений для Android — автор оптимизировал память своего Android-приложения, которое использует много изображений.
🔥3