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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
<//> Google добавили ИИ Gemini в Android Studio 🤖

Компания внедряет Gemini в Android Studio более чем в 180 странах для версии Android Studio Jellyfish. Бот Gemini теперь живет в среде IDE, и разработчики могут задавать вопросы, связанные с кодированием.

Компания заявила, что разработчики должны заметить улучшение качества ответов при дополнении кода, отладке, поиске соответствующих ресурсов и написании документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
<//> Садимся и записываем 👨‍💻

Apple предоставляет мало руководств по использованию архитектурных паттернов в SwiftUI по сравнению с UIKit. В отличие от UIKit, SwiftUI упрощает разработку, сосредотачиваясь на состояниях и данных, что уменьшает необходимость в написании повторяющегося кода.

Концепция логичной архитектуры для SwiftUI лежит на поверхности. Но людям не интересно обсуждать простые и понятные вещи. 😱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
<//> Добавим зрение в приложение с Gemini 👁️

C помощью последних моделей Gemini, которые способны принимать текст и изображения в запросах и выдавать текстовые ответы — можно автоматизировать обнаружение высоких температур или повышенного потребления энергии, передавая изображение в API и задавая вопросы о содержимом изображения.

В статье можно найти всё: от получения ключа до примера кода с запросом.
🥰1
Вечер добрый, господа 🎩

Рассказывайте какими инструментами пользуетесь для управления личным временем, задачами и делами? И почему выбрали именно их 👇💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁2
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных»

🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/b39be9ca

На вводной части вас ждут:

1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

3. Практические задания после лекций

4. Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/b39be9ca
Please open Telegram to view this post
VIEW IN TELEGRAM
👾2
Привет-привет! Собрали для вас немного материала по SwiftUI 👇

✏️ Убираем M из MVVM в SwiftUI на примере проекта.

🔗 Реализация глубоких ссылок для локальных уведомлений в SwiftUI.

Асинхронная кнопка в SwiftUI с использованием async/await.

🌈 Небольшие гайды, как сделать красивые эффекты:
Эффект переворота

Интерактивная кнопка действия

Анимации с Netflix 🎥

Хорошего дня ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
<//> Уже в Android: 103 выпуск — Android 15 Beta, Gemini, и другое! 🔎

Путеводитель по всему новому и примечательному в мире разработки Android. Сегодня рассказываем о бета-версии Android 15, о том, как Android Studio использует Gemini Pro для ускорения и упрощения разработки под Android, и о том, как Google Drive вдвое сократил код и время разработки, а также о том, как использовать внедрение зависимостей в Compose!

Смотреть выпуск 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
⚙️ FontBlaster

Библиотека для программной загрузки кастомных шрифтов в приложения для iOS, macOS и tvOS. FontBlaster автоматически импортирует и загружает все шрифты из бандла вашего приложения с помощью одной строки кода.

Ссылка на Github 💻

#библиотека
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔2
<//> Attention ⚠️

Критические оповещения — это уведомления, которые обходят выключатель звука и настройки «Не беспокоить» на устройстве, гарантируя, что пользователь получит важные уведомления независимо от настроек на устройстве. У Apple это есть уже более 5 лет, а вот в Android еще не полностью интегрировали её.

Если у вас есть необходимость в реализации такой функции, вот как это сделать 👉
Please open Telegram to view this post
VIEW IN TELEGRAM
1
<//> Один репозиторий, чтобы править всеми

Туториал, как собрать кроссплатформенное (server-client, static-client, gh-pages, Android, iOS, macOS, Linux, Windows, Chrome extension, Docker, Kubernetes, ...) React приложение на Open Source шаблон/заготовке.

Быстрый старт 🏎️
👍2
🛠 Создаём кастомный модификатор для View в SwiftUI 

Краткий гайд:

1. Создание модификатора

Для создания модификатора view необходимо создать структуру, соответствующую протоколу ViewModifier, которая определяет связанный тип, псевдоним типа и метод, возвращающий объект, соответствующий протоколу View.


public protocol ViewModifier {

associatedtype Body : View

@ViewBuilder @MainActor func body(content: Self.Content) -> Self.Body

typealias Content
}


В качестве простого примера приведем модификатор, который применяет полужирный и округленный шрифт к text view. Он просто применит к view модификаторы полужирного и шрифтового оформления.


struct RoundedBoldFont: ViewModifier {
func body(content: Content) -> some View {
content
.bold()
.fontDesign(.rounded)
}
}


Создание пользовательских модификаторов View с параметрами

Иногда мы можем захотеть передать параметры нашему модификатору, как мы обычно делаем, например, при добавлении отступов в наши view.


ContentView()
.padding()
.padding(50)
.padding(.horizontal, 12)


Это позволяет сделать наши модификаторы более сложными и настраиваемыми или изменить поведение самого модификатора в соответствии с конкретными условиями. 

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


struct FunViewModifier: ViewModifier {

var color: Color

func body(content: Content) -> some View {
content
.frame(maxWidth: .infinity)
.aspectRatio(1, contentMode: .fit)
.padding()
.background {
RoundedRectangle(cornerRadius: 25.0)
.foregroundStyle(.white)
}
.overlay {
RoundedRectangle(cornerRadius: 25.0)
.stroke(lineWidth: 4)
.foregroundStyle(color)
}
}
}


Как использовать?


Text(«Create a View Modifier»)
.modifier(RoundedBoldFont())
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72😁21
Выходные выходными, а дайджест по расписанию 🕒

🤖 Изучение среды выполнения Android.

🌐 Расширение кодовой базы Coil для использования своих пользовательских типов данных и источников данных.

📈 Методы визуализации финансовых данных с использованием Kotlin и библиотеки Kandy.

🆘 Как использовать компоновки LazyColumn и LazyRow в Jetpack Compose для отображения сложных вложенных списков данных.

👨‍💻 Создание бокововой панели с анимацией, а также моделей для элементов навигации и состояния боковой панели.

⚠️ Важные аспекты использования ViewModel в Android, акцентом на лучшие практики и что следует избегать.

🗂 Библиотека для генерации фейковых данных, такие как имена, адреса, банковские реквизиты, адреса электронной почты и многое другое.

🫥 Почему RxJava ушла на покой?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎉3🤔1
🦾🧠🏋Качаем мозги к лету!

Все качают пресс, а мы — мозги, чтобы получить крутой оффер, уехать на Бали и больше не быть онлайн 😎

⚡️Распродажа Proglib.Academy: с 24 апреля до 5 мая — скидка 40% на все наши курсы!

➡️ Математика для Data Science 29 990 ₽ 17 994 ₽

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594 ₽

➡️ Основы программирования на Python 19 990 ₽ 11 994 ₽

Почему мы?

⭐️Курсы разрабатывались при поддержке топовых преподавателей из Яндекса, Сбера, МГУ
⭐️У нас есть менторы, которые поддерживают студентов на каждом этапе
⭐️Мы разбираем задачи с реальных собеседований в крупнейшие компании и готовим к поступлению в ШАД
⭐️Вход с любого уровня: например, на курсе математики сначала освежаем знания из школьной программы

Save the dates!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
📍 Оптимизации много не бывает, поэтому сегодня будет оптимизировать процесс обновления местоположения. В iOS 17 появился класс CLLocationUpdate, который использует возможности современного Swift Concurrency, упрощая получение и управление данными о местоположении в ваших приложениях.

👀 В этой статье о том, почему и как использовать эту функцию.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉52👍1
Сегодня Google уволила отделы Flutter и Dart, заявив, что компания «инвестирует в самые приоритетные направления» и «вносит изменения, чтобы стать эффективнее и лучше работать, сократить бюрократию и многоуровневость».

Что думаете? 💬
🤔28👍127😁5👏1
\\ Тебе что, мало было? добавить? 🤨

FlowExt — это библиотека Kotlin Multiplatform, которая предоставляет множество операторов и расширений для Flow. FlowExt предоставляет коллекцию операторов, потоков и утилит для Flow, которые не предусмотрены самими корутинами, но распространены в других реактивных фреймворках (rxjs, RxJava, RxSwift, rxdart, …) и стандартах.

Ссылка на Github 🔗

#библиотека
👏42👍1
Представим ситуацию,

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

Вы уже неоднократно пытались обсудить с ним ситуацию и предложили возможные варианты помощи, но положительных изменений так и не последовало.
🤔3👍2
<//> Туда сюда обратно 🔛

Какую архитектуру выбрать для проекта? Самый частый вопрос для разработчика.

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

В контексте этого, рассмотрим как шарить данные между слоями.
🎉4