Библиотека мобильного разработчика | 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
🔤 Промпт-инжиниринг: как правильно писать запросы нейросетям

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

Читать
👍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
😎 Очередной #дайджест полезных статей по мобильной разработке:

👉 Flutter с поддержкой платформы ОС Аврора

👉 Продаём тимлиду идею Server/Backend-Driven UI — зачем он вообще нужен и как с ним работать

👉 Как правильно обучаться, загрузка файлов и как войти в IT — 3 докладчика с душещипательными темами

👉 Закругляем углы в iOS 17 и SwiftUI 5 с помощью Uneven Rounded Rectangle — как создать фигуру с конкретными закругленными углами в новом Swift-е

👉 Как изменить порядок элементов RecyclerView с помощью Kotlin — функционал drag & drop для RecyclerView

👉 KivyMD и разработка — хорошо выглядящее приложение на Python-фреймворке для кроссплатформенной разработки в стиле Google Material Design
2
Шаблоны кода Android Studio для экономии времени программирования

В студии уже есть несколько шаблонов для Kotlin и Jetpack Compose: void, fun0, fun1, fun2 — создание функции с требуемым количеством параметров или prevCol — создание коллекции compose previews.

Можно создавать и свои шаблоны: File → Settings → Editor → Live Templates.
Нажав «+» в правом верхнем углу, вы сможете добавить свою группу шаблонов или шаблон в существующую категорию.

Если вы добавляете новый шаблон, контекст должен быть определен в левом нижнем углу желтым предупреждающим знаком. Создавать можно не только для Kotlin — набор языков велик: Java, Dart, Gradle или что-нибудь еще.

Читать

#новость
👍4
🔥 Вышел в свет SwiftUI Cookbook 🧑‍🍳

Это справочник по общим шаблонам создания пользовательских интерфейсов в SwiftUI, к которым вы можете быстро обращаться при написании кода.

Для кого?

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

Что внутри?

Рассматриваются общие проблемы, которые приходится решать при разработке пользовательских интерфейсов и макета.

Начать чтение

#новость
🔥3👍1
💉 💉 🤖 Kodein DI для Android

В мире DI (dependency injection) есть Dagger 2, Hilt или Koin. Есть еще Kodein ‼️

Он создавался изначально как DI для Kotlin (в то время для Android все DI были написаны на Java). Отсюда он и получил своё название — KOtlin DEpendency INjection. Поэтому за основы были взяты новые возможности, которые давал Kotlin, в отличие от Java:

декларативный DSL,
inline функции и reified типы,
infix функции.

Кто же он: DI или Service Locator

Service Locator — это паттерн, когда мы запрашиваем и получаем зависимости.
DI — это паттерн, когда наши классы получают зависимости откуда-то извне.

Опираясь на официальную доку, Kodein — это все вместе:

👉 если мы инджектим зависимости, то у нас режим Injection (DI);
👉 если мы запрашиваем и получаем зависимости, то у нас режим Retrieval (Service Locator)

Хотите подробностей? Вот!

#новость
👍61🥰1🥱1
В веселенькой форме познаем синглтон 😂

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

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

Преимущества синглтона 🌟

🔹 Общий доступ: Любая часть вашего приложения может получить доступ к Singleton.
🔹 Управление состоянием: Если бы наш универсальный пульт дистанционного управления имел функцию «last-used», он был бы последовательным, независимо от того, кто обращался к нему последним.
🔹 Управление ресурсами: Иногда создание нескольких экземпляров может быть дорогостоящим. С синглтонами вы управляете только одним.

Подробнее читаем здесь
👍4
🔍Насколько легко «войти в айти»?

IT — перспективная отрасль с высокими зарплатами и огромной конкуренцией. Собираем ваши истории: расскажите, как вам удалось сменить профессию (или сразу найти себя), какие шаги вы для этого предприняли и с какими сложностями пришлось столкнуться.

👉Пройдите наш 10-минутный опрос по ссылке.
👍1
Jetpack Compose: осваиваем состояния

Состояние в Jetpack Compose — это то, с чем приходится сталкиваться примерно в 90% случаев в проектах, поэтому важно иметь представление, что это, и с чем его едят.

MutableState — это интерфейс, который содержит значение, которое можно изменить. Этот объект запускает рекомпозицию при изменении значения. Когда появляется новое значение, он проверяет, изменилось ли новое значение структурно — отличаются ли свойства старого объекта от свойств нового.

Всю эту деятельность можно контролировать:
structuralEqualityPolicy() - распознает изменения, основанные на структурных изменениях объекта.
neverEqualPolicy() - сравнивает отличия старого и нового объектов
referentialEqualityPolicy() - учитывает изменение, если ссылка на память старого объекта отличается от ссылки на память нового.

#новость
👍7
😱 Как выйти из IT: опасный бизнес 💣

По каким критериям оценивается программист? Что хочет бизнес? Как просить повышения? Когда стоит увольняться? Как быстро расти в компании?

Вышел новый видос-интервью Гладкова.

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

#новость
👍1
🚙🚙 Подъехал очень познавательный материал по основам алгоритмов.

Это отличный вариант подтянуть знания, которые точно пригодятся на собесе, да и в работе 100%.

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

Рекомендуем ознакомиться 👍

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

👉 Как получить работу в Apple без колледжа и LeetCode — реалистичная история попавшего в I-чертоги, без всяких «я не спал, прошел курс и теперь я тут»

👉 Как не забросить свой пет-проект. Мой кейс запуска приложения в App Store — как замотивироваться на долгострой (и не сдуться) с помощью посторонних

👉 Скрипт для автоматической сборки Android-приложений — запускаем скрипт (с сигнатурой ключа Google Play) из командной строки и ждем. Класс, же?!

👉 Одно PWA, чтоб править всеми —- зачем писать PWA, если есть нативные приложения? Практика-практика-практика

👉 Фишки React Native для реализации личного кабинета — создание интерфейса с прослушиванием аудиозаписей с помощью React Native Track Player и графиками на Bridge

👉 Миграция приложения на Jetpack Compose — объемный материал про подводные камни, возможности и стратегии миграции UI, архитектуры и дизайн-системы
👍2
Делаем бизнес на опенсорсе

Видос с основателем крупной компании, который расскажет о своем пути из команды MySQL, в свое дело, которое успешно функционирует до сих пор.

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

Смотреть

#новость
1👍1