Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck – Telegram
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.52K subscribers
1.7K photos
84 videos
52 files
4.52K links
Все самое полезное для мобильного разработчика в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🎉🎉 Compose multiplatform уже в 1.5.0-beta01

Прошло не так много времени после «переименования», а уже пошел движ. Из основных фич:
🔹 Dialog, Popup, WindowInsets API доступны из common source set

🔹 Работа над ошибками с compose.kotlinCompilerPlugin и androidx.compose.compiler.compiler

В остальном, постарались на славу — куча фиксов и новведений для всех платформ.

Из зависимостей имеем такое:
Compiler 1.5.0
Runtime 1.5.0-beta03
UI 1.5.0-beta03
Foundation 1.5.0-beta03
Material 1.5.0-beta03
Material3 1.1.1

Углубиться

#новость
🎉5
🤖🤖🤖 24 октября стартует бесплатная онлайн конфа — Android Worldwide, организованная международной группой сообществ разработчиков.
Раз в три месяца они организуют бесплатные технические мероприятия для разработчиков Android.

Первое выступление состоится в 13:15 и продлится аж +-15 часов, так что все успеют присоединиться.

Вот тут можно узнать подробности

#новость
К сертификации в айти-сфере работодатели относятся по-разному. Кто-то уверен, что это лучший способ доказать свою профпригодность, а другие не видят в них никакой практической ценности.

🤷‍♂️ Некоторые работодатели приветствуют желание разработчиков развиваться и оплачивают сертификаты.

💬 А у вас такое практикуется? Если бы у вас была возможность получить любой сертификат, какой выберете?
👍1
🐛🦋 Свитчеры после 30 лет: кто это, почему их не любят эйчары и как им найти работу в IT

Из-за чего люди массово бросают все и идут в IT, почему работодатели не торопятся нанимать «новобранцев» и как вообще найти работу, если ты — свитчер и хочешь построить грандиозную карьеру в IT? На все эти вопросы, мы ответим в новой статье.

Подробнее

#новость
👍1
😎 Очередной #дайджест полезных статей по мобильной разработке:

👉 Одна наша ошибка в модуляризации iOS-приложения, которая замедлила процесс сборки в Xcode — о причинах и следствиях медленной сборки
👉 Контроль доступа в Swift — история о тщательном продумывании соответствующего уровня доступа для каждого свойства и метода
👉 Kotlin: взгляд изнутри — преимущества, недостатки и особенности — безопасность работы с null-значениями, гибкость типизации с помощью Generics, а также многое другое
👉 Распространенные ошибки, которых следует избегать в Jetpack Compose — серьезные ошибки, которые в будущем доставят немало проблем, например, Launched Effect
👉 FeedFlow: кроссплатформенный RSS-ридер — минималистичный RSS-ридер, который доступен на Android, iOS и macOS
👉 Flutter DevTools: анализируем и улучшаем Flutter-приложения — этот DevTools состоит из кучи инструментов, помогающих в анализе, разработке и удобстве
🔥1
✍️«Библиотека программиста» собирает кейсы использования нейросетей

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

Заполняйте форму — лучшие истории появятся в нашей подборке по теме.

👉Ссылка тут👈
👍21
🧑‍🍳🧑‍🍳 Сравнение кода разных фреймворков

Вы выбираете до 3 фреймворков (SwiftUI, Flutter, JetpackCompose и React) и изучаете, как они соотносятся друг с другом.
Среди критериев сравнения такие:

👉 Создание нового компонента
👉 Прохождение Prop/Parameter
👉 Реагирование на события
👉 и другие

На сайте jetpackcompose найдете больше информации.
🔥🔥 Попробуйте компилятор K2 в своих проектах для Android

Компилятор Kotlin переписали под Kotlin 2.0. Новая реализация компилятора под кодовым названием K2 значительно повышает скорость сборки, чем оригинальный. Он также имеет более гибкую архитектуру, которая позволит внедрять новые языковые функции после версии 2.0.

Чтобы попробовать новый компилятор, обновитесь до Kotlin 1.9 и добавьте строчку в gradle.properties:

kotlin.experimental.tryK2=true

Плагины и инструменты, зависящие от интерфейса компилятора Kotlin, также нужно обновить, чтобы добавить поддержку K2. Некоторые инструменты уже имеют экспериментальную поддержку K2: например, Jetpack Compose поддерживает K2 начиная с версии 1.5.0.

#новость
👍5
👍👉 Фиксация размера touch target

Интересный ролик от AndroidDev по тонкостям UI и Material Design.

Touch target — это любой элемент пользовательского интерфейса, на который можно нажать или прикоснуться, например кнопка или чекбокс. Он должен быть достаточно большим, чтобы любой пользователь мог с ним взаимодействовать. Material Design рекомендует использовать размер touch target 48 x 48 dp.

Изучить
3
🍏 Жадность яблоко сгубила...

Если кто не знал, то просто написать приложение под iOS и пользоваться только у себя на телефоне не получится. Пройдет неделя и программа перестанет запускаться п причине того, что у Provisioning-сертификата, который предоставляет Xcode, срок действия – всего неделя 😱

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

В пункте 4.2, все подробно расписано, но это никуда не годится — Android же такого не начудил...

В общем, онли бизнес, и никуда не деться 😒

#новость
🥱6👍2
🚶🚶 Войти в айти в 2023 без Java и диплома ВУЗа, синдром самозванца и беседа о найме в СНГ

Видос о девушке и о ее пути в мобильную разработку. Такие истории всегда очень мотивируют новичков: «У нее получилось — и я смогу!». В нашем случае, ей возможно повезло или есть какой-то секрет, но история имеет шанс на существование.

Если вы новичок или думаете ворваться в этот мир — не бойтесь, но легко не будет. Чудесных свершений и волшебников в голубых вертолетах тоже — только куча постоянной учебы (даже когда устроитесь) и горы кропотливого труда.
Удачи! 🙌 👏

Смотреть

#новость
👍6
🔤 Промпт-инжиниринг: как правильно писать запросы нейросетям

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

Читать
👍2
😎 Очередной #дайджест полезных статей мира Mobile:

✍️ Swift Transformers — набор утилит для использования языковых моделей (LLM) в приложениях на Swift

✍️ Применение metal shader-а к тексту в SwiftUI — разбор представленных на WWDC ’23 модификаторов вью

✍️ Эмпатичное проектирование — подходы к проектированию кода для ускорения старта сложного модульного приложения

✍️ Android Generic Kernel Image — как Google может (теоретически) заменить ядро Linux

✍️ Создание генератор изображений с AI на Flutter с чистой архитектурой — хорошая архитектура делает систему легкой для понимания, разработки, обслуживания и развертывания

✍️ Junior to senior: план действий для успешной карьеры инженера — об инвестициях в hard и soft skills и о шагах к этому
🔥2
«Библиотека программиста» в поиске контент-менеджера для ведения телеграм-каналов

Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка

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

Подробнее о вакансии и форма для отклика — по ссылке.

Ждем вас в команде!
👍2🤔1
«Библиотека программиста» ищет девушек, работающих в IT — разработке, тестировании, информационной безопасности и других направлениях

Мы проводим новое исследование, посвященное специфике работы женщин в IT — от сложностей и недостатков в работе до гендерных стереотипов.

Пройдите короткий опрос — он анонимный и займет не более 10 минут вашего времени.

Ссылка тут.
👍4
🍏 Как работает диспетчеризация в iOS на практике 🍏

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

Видов диспетчеризации есть 3:
Direct Dispatch
Table Dispatch, делится на virtual table и witness table
Message Dispatch

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

Если хотите подробностей — вот тут они есть 😉

# новость
👍31🔥1
Если вам нужно готовое решение для навигации, то есть интересный вариант.

Odyssey — декларативная мультиплатформенная навигационная библиотека для Multiplatform Compose. В комплекте идет подробная инструкция: как запустить, что настроить и прочие советы.

Для быстрого старта в gradle понадобится добавить две строки:
implementation("io.github.alexgladkov:odyssey-core:1.3.20")
implementation("io.github.alexgladkov:odyssey-compose:1.3.20")

Создать каркас навигации:
fun RootComposeBuilder.navigationGraph() {
screen("splash") { SplashScreen() }
screen("login") { LoginScreen() }
screen("main") { MainScreen() }
}

Установить RootController:
setContent {
val configuration = OdysseyConfiguration(canvas = this)

setNavigationContent(configuration) {
navigationGraph()
}
}

Пользоваться:
@Composable
fun SplashScreen() {
val rootController = LocalRootController.current
rootController.push("login")
}

Подробнее здесь
👍2🥱1
💰 Обзор зарплат: сколько сейчас зарабатывают айтишники

В этой статье обсуждаем самую животрепещущую тему — зарплату. Присоединяйтесь :)

Читать

#новость
👍3
Kiosk (Lock task mode) для Android: польза, кейсы применения и кастомизация

🏚️🏚️ Есть такое понятие, как Mobile device management — технологий для управления поведением устройств. О ее применении в iOS можно прочитать здесь, а про использование в Android — здесь.

В статье разбирается один из режимов этого механизма — Lock task mode (Kiosk-режим).
Коротко — этот режим блокирует какую-либо активность пользователя приложения т. е. выйти на хоум-скрин или открыть шторку с настройками нельзя. И даже доступ к другим приложениям запрещен. Это часто нужно для девайсов, которые используются только для одной конкретно цели:

цифровая вывеска компании;
демонстрационный стенд;
вендинг-автомат;
автомат для заказа еды/товаров (как в популярной сети питания);
и еще масса вариантов.

📱📲Для реализации API используется класс DevicePolicyManager и его метода DevicePolicyManager.setLockTaskPackages(), в параметры которого следует передать ComponentName и список, состоящий из строк с указанием package name приложений, которые должны быть доступны в рамках Lock Task mode. Если нужно получить список таких приложений — юзаем метод DevicePolicyManager.getLockTaskPackages().

Все подробности тут
👍2🔥1