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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🧠 Готовишься к собесам, а ноутбук еле тянет IDE?

Самое время прокачать скиллы и апгрейднуть железо!

Proglib Academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻

Купи любой наш курс до 15 ноября → пройди 2 недели обучения → напиши куратору #розыгрыш. Всё, ты в игре!

📚 Среди курсов:

▫️ Алгоритмы и структуры данных — топ для подготовки к собесам в Яндекс и FAANG.

▫️ Архитектуры и шаблоны проектирования — чтобы думать как senior.

▫️ Python, математика для DS, основы IT и другие направления.

👉 Принять участие
🎮 «Чистая» структура View-компонентов в SwiftUI

В проектах на SwiftUI тело View может быстро разрастись: десятки вложенных VStack/HStack, логика отображения, стили — всё в одном месте.

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

1️⃣ Извлечение отдельных View

Если часть интерфейса имеет собственное назначение — вынеси её в отдельный struct-View:

struct ArticleRow: View {
let article: Article
var body: some View {
HStack { … }
}
}


Затем:

ForEach(articles, id: \.url) { article in
ArticleRow(article: article)
}


Это делает главный View более “обзорным” и облегчает повторное использование.


2️⃣ Использование ViewModifiers для стилей

Когда видишь дублирования стилей, вынеси их:

struct CardStyle: ViewModifier {
func body(content: Content) -> some View {
content
.padding()
.background(Color(.secondarySystemBackground))
.cornerRadius(8)
}
}
extension View {
func cardStyle() -> some View {
modifier(CardStyle())
}
}


Теперь:

ArticleRow(article: article)
.cardStyle()


Так ты централизуешь “язык дизайна” и можешь менять стиль в одном месте.

3️⃣ Создание универсальных расширений для просмотра

Если повторяются шаблоны (например, “заголовок секции”), можно сделать расширение:

extension View {
func sectionHeader(_ noscript: String) -> some View {
VStack(alignment: .leading, spacing: 4) {
Text(noscript)
.font(.noscript3)
.bold()
self
}
}
}


Пример:

VStack {
ForEach(articles, id: \.url) { article in
ArticleRow(article: article)
}
}
.sectionHeader("Articles")


Такие расширения уменьшают вложенность и делают код декларативнее.

📌 Практическое руководство по созданию хорошей архитектуры SwiftUI

Если вы не уверены, стоит ли что-то извлекать, спросите:

Есть ли у этого элемента пользовательского интерфейса чёткое назначение и возможность повторного использования?


🔘 Если да → создайте новый View или ViewModifier.

🔘 Если нет → оставьте его локальным или используйте вычисляемое свойство.

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

🐸 Библиотека мобильного разработчика

#АрхитектурныйКод #SeniorView #Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤝1
💬 Комментировать код или нет

Каждый разработчик хоть раз видел этот шедевр:

// incerment i
i += 1


или

// TODO:  fix later


который висит в коде уже третий год.

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

А ты как думаешь?
💬

❤️ — Пишу комментарии, я не зверь
👍 
Код должен говорить сам за себя
🤝 Комментарии? Только TODO и сарказм

🐸 Библиотека мобильного разработчика 

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍10
📱 Топ вакансий для мобильных разработчиков за неделю

Middle iOS Developer — от 300 000₽, удалёнка

Flutter разработчик (Middle) — от 1600 до 2240 $, удалёнка

Разработчик мобильных приложений Android/iOS — гибрид (Москва)

iOS-разработчик в Мессенджер — гибрид (Москва, Санкт-Петербург)

Senior Flutter Developer — до 350 000 ₽, гибрид (Москва, Санкт-Петербург)

➡️ Еще больше топовых вакансий —‍ в нашем канале Mobile jobs

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👨‍💻 Как обеспечить стабильную работу SDK для миллионов устройств

Доклад о том, как в Яндексе развивают SDK для рекламной монетизации. Решением пользуются тысячи приложений, и команде важна стабильная работа продукта.

В докладе спикер:

• Рассказал, почему работают с разными видами тестов и какие используют.

• Объяснил, как погружаются в байт-код и анализируют стек-трейсы, чтобы искать ошибки.

• Рассмотрел инструменты мониторинга — как следят за метриками, какие оповещения для них используют.

• Поделился опытом, как безопасно внедрять новые функции.

• Показал, как сокращают количество ошибок.

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

👀 Cмотреть доклад

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⚡️ Команда дня: flutter pub outdated

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

flutter pub outdated


📌 Что делает:

— Проверяет все пакеты в pubspec.yaml
— Показывает текущие, доступные и последние версии библиотек
— Помогает понять, где можно безопасно обновиться

Пример вывода:

Package         Current  Upgradable  Resolvable  Latest
http 1.2.0 1.3.0 1.3.0 1.3.0
provider 6.0.0 6.1.0 6.1.0 7.0.0


👀 Полезно, когда:

— Готовишь проект к релизу и хочешь убедиться, что всё актуально
— Нужно проверить, не тянет ли зависимость старые версии других пакетов
— Хочешь поддерживать проект «в форме» 💪

💡 Совет:

Чтобы обновить всё возможное, просто выполни:

flutter pub upgrade --major-versions


А вы как часто обновляете зависимости в своих проектах?
💬

🐸 Библиотека мобильного разработчика

#буст #MiddlePath
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥱1
🎁 Конкурс от Proglib Academy!

Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro

Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.

Чтобы поучаствовать, нужно:

1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.

До 15 ноября, потом всё — поезд (и макбук) уйдёт.

👉 Участвовать в розыгрыше
👍 Apple открыла Swift для Android

Apple неожиданно открыла язык Swift для Android. Теперь разработчики смогут создавать приложения не только для iOS, но и для Android, используя один и тот же язык программирования. Новый инструмент под названием Swift SDK for Android позволяет перекомпилировать код в Kotlin или Java, то есть в те языки, на которых традиционно работает Android.

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

Эксперты называют шаг символическим. Apple впервые официально делает свой язык разработки доступным за пределами собственных платформ. Многие отмечают ироничность момента: если бы компания пошла на это десять лет назад, Swift мог бы стать стандартом в мобильной разработке, обогнав Kotlin.

Пока SDK находится в ночных сборках, но уже доступен для тестирования. Разработчики сообщают, что первые примеры приложений на Swift под Android уже запускаются без ошибок.

🔗 Источник

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9😁3👏2
⚙️ Kinetics — настраиваемые примитивы физического движения для SwiftUI

Kinetics привносит естественное ощущение реальной физики в ваши анимации SwiftUI. Разработанный на основе Swift 6 с строгим соблюдением принципов многопоточности, он предоставляет современную и безопасную основу для создания анимаций, которая реагируют на действия пользователя, учитывают границы и выглядят реалистично.

💻 Kinetics на GitHub

🐸 Библиотека мобильного разработчика

#буст #iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🏢 Google Регистрация в Android на kotlin + jetpack compose

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

В этой статье автор рассмотрит весь код и пошаговую инструкцию.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Внедрение доступности (Accessibility) в мобильное приложение

Хотите сделать ваше приложение доступным для всех пользователей? Этот промпт поможет реализовать полноценную поддержку accessibility.

📝 Промпт:

Implement comprehensive accessibility features for a mobile app that includes:

— Add proper content denoscriptions for all UI elements
— Implement logical focus order and navigation
— Support screen readers (TalkBack/VoiceOver)
— Ensure sufficient color contrast and text sizing
— Add accessibility labels and hints
— Support voice control and switch access
— Test with accessibility services enabled


💡 Расширения:

— Добавьте Implement custom accessibility actions для сложных UI компонентов
— Добавьте Add haptic feedback for key interactions для невизуального взаимодействия
— Добавьте Support dynamic font sizing without breaking layouts для адаптивности текста

🐸 Библиотека мобильного разработчика

#буст #MiddlePath
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники

Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!

→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️

Всё! Теперь ты в игре.

👉 Сейчас или никогда!
💰 «Я хочу 500 000 рублей» и еще 8 способов договориться о зарплате

Представь: ты на собеседовании мечты, и тут HR спрашивает про зарплату. Что скажешь? Называешь число первым или ждешь? Завышаешь или играешь честно? Мы собрали 9 работающих стратегий с конкретными примерами фраз — от «Открытой» до «Я никуда не тороплюсь». Выбирай свою и перестань продавать себя дешево.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#MadeInProglib
Please open Telegram to view this post
VIEW IN TELEGRAM
🗓 Новости недели

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

🔵 Mobile System Design

В этой статье автор систематизирует Mobile System Design как дисциплину: покажет, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.

🔵 Публикация PWA в App Store и Play Store на github actions

В статье будет гремучая смесь из Java, C#, NodeJS, Swift, bash, Dockerfile и github actions. Но в результате возможность непрерывно поставлять свежие сборки в магазины приложений.

🔵 Кастомная сериализация с помощью kotlinx.serialization

Автор расскажет о JSON Schema и как использует эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство. В ней обсудим:

🔵 Когда .arb не тянет: как я подключаю TMS к Flutter-проекту

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

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😁1