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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
Разбор тестового задания на позицию Android Developer

Выполнение тестового задание стало обычным делом на любом IT-собеседовании. Поэтому предлагаем разбор одного такого задания - лишним не будет.

По ТЗ необходимо выполнить экран расписания занятий с recyclerview. Разбирается структура будущего решения с использованием корутин, ретрофита, Lifecycle и viewBinding.

Читать

#новость
👍3
Гайд по созданию Clean Sslclient Flow.

Применяется Clean Architecture + SSE client + Kotlin Flow.
План такой:
Клиент-сервер: Short Polling, Long Polling, WebSocket или SSE?
Системная архитектура: Clean Architecture и как ее применять?
Потоковая передача данных: Flow или Live Data

Изучить
Coroutine races

Для разбора проблемы, автор использует две распространенные ситуации:

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

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

#новость
👍1
Если вы столкнулись с проблемой после обновления targetSdkVersion до 31/32, то решается это так:

🔹 меняем compiledSdkVersion, targetSdkVersion и ndkVersion в android > build.gradle;
🔹 в android > app > build.gradle добавляем для Java: androidx.work:work-runtime:2.7.1, для Kotlin: androidx.work:work-runtime-ktx:2.7.1;
🔹 в android > app > src > main > AndroidManifest.xml добавляем android.exported= “true”

Подробнее читаем тут

#новость
👍1
Важно: правила площадки❗️

1️⃣ За спам, рекламу, ботоводство, скам — бан и удаление всех комментариев

2️⃣ За оскорбления группы/канала/админа/других участников, политические дебаты — первый раз удаление, второй раз — профилактический бан на неделю, третий раз — бан

3️⃣ За ссылки на нелегальные ресурсы — первый раз удаление, второй раз — бан

Напоминаем, что написать нам можно сюда: @proglibrary_feedback_bot

Пожалуйста, соблюдайте правила — мы со своей стороны тоже будем стараться максимально оперативно модерировать комментарии.
1👍1
Представляем на ваш суд 4 опенсорсных проекта на Flutter, из которых можно почерпнуть массу новой информации и многому научиться.
В статье рассматривается:
1. I/O FLIP — карточная AI-игра, созданная на Flutter и Firebase.
2. Fwitter (клон Twitter) — работающий клон Twitter, построенный во Flutter с использованием Firebase auth, realtime, firestore database и хранилки.
3. Very Good Wear OS App — из названия все понятно 😉
4. Dino Run — 2D бесконечный скроллер (а-ля Марио), созданный на Flame engine.

Читать

#новость
🔥3
Легкий вопрос по Swift
#вопросы_с_собеседований

Напишите код для удаления элемента по индексу.
🥱9🤔4
Существует масса библиотек, решающих задачу эффективно организовать работу с состоянием в приложении: MVI, MVVM+, SAM, State Machine. Это дает довольно большую фрагментацию и может усложнять выбор в конкретных командах. Существующие сравнительные обзоры довольно старые и охватывают лишь малую часть библиотек.

В видосе, спикер сделал свой обзор, а также проверил гипотезу о том, есть ли возможность объединить все сильные стороны строгого MVI/Redux подхода с гибкостью, простотой чтения и поддержки MVVM+. Он расскажет об этом на примере Fluxo MVI.

Смотреть

#новость
Как окупаются инвестиции в счастье сотрудников?

Компании внедряют системы мотивации, долгосрочные программы LTI и проекты для благополучия сотрудников. А еще — создают комфортные условия для работы IT-специалистов.

Смотрим как это работает на примере Авито. HR-директор Ольга Ким рассказала о том, как в компании создают среду для высоких результатов. Полезный разговор по ссылке.
SOLID — важная и необходимая штука. Для тех, кто еще не знаком с этим понятием, предлагаем ознакомиться с материалом.

Расшифровывается этот SOLID, так:
Принцип единственной ответственности (Single Responsibility Principle, SRP)
Принцип открытости/закрытости (Open-Closed Principle, OCP)
Принцип подстановки Барбары Лисков (Liskov Substitution Principle, LSP)
Принцип разделения интерфейса (Interface Segregation Principle, ISP)
Принцип инверсии зависимостей (Dependency Inversion Principle, DIP)

А подробнее и с примерами читайте в статье
👍2
SwiftUI для большого B2C-продукта

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

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

Смотреть
👍4
Async / Await в Swift

На WWDC21 Apple представила async/await для Swift 5.5. В статье вы увидите async/await в действии и разберетесь, как его можно использовать для написания удобочитаемого асинхронного кода.

Эта штука доступна только в Swift 5.5 и Xcode 13 — не забудьте загрузить последнюю версию Xcode.

Читать
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Если при использовании Swift UI вам необходимо загружать больше контента в ScrollView, то предлагаем изучить опенсорсную утилитку из этого материала.

Подробнее
👍2
Близится Android-митап от AndroidWorldwide.

25 июля выступят 🧑‍🎓 10 докладчиков с такими темами:

🔹 Kotlin Multiplatform. Make your Android App Cross-Platform
🔹 Building Managers Over 3rd Party SDKs for Easy Access
🔹 Battle of the Titans: RxJava vs Kotlin Coroutines
🔹 Impact of Framework Choice on your Application: A Reverse Engineering Perspective
🔹 Building Accessible Apps with Jetpack Compose
🔹 Six Things ViewBinding Teaches Us
🔹 JetPack Compose Performance Tips & Tricks
🔹 Unveiling the Unseen Threat: Demystifying Memory Leaks in Android
🔹 Blast Off: Managing Hundreds of UI Updates for Emoji Cannons
🔹 Designing Jetpack Compose architecture for Gradual Migration from Fragments

#новости
🔥1
🔥 Хотите скидку в 10% на все наши курсы до конца года📚 ?

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

Подробности тут
🚀🚀 Управление состоянием — это основа всех фреймворков для разработки приложений, в том числе и Flutter. Под этим термином понимают то, как приложение может управлять данными, которые оно использует, и обновлять их.

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

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

Читать
Как создавать мобильные приложения, производительность которых ориентирована на пользователей?

Необходимо использовать и применять:
✏️ полезные метрики;
✏️ показатели эффективности;
✏️ пороговые значения;
✏️ плавность движения и отзывчивость;
✏️ критические показатели;
✏️ правильный учет всех данных.

Подробности сможете найти в материале

#новость
👍2
Всем интересно 🤔, а особенно в текущее неспокойное время, как будет развиваться IT, какие тенденции нас ждут и что они принесут.

🥳 У нас появился материал, отвечающий на все эти вопросы.

Читать

#новость
👍4
Поиск неиспользуемого кода в Swift

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

Существует инструмент, который ставится через brew и можно пользоваться. Запускается оно так: periphery scan и через некоторое время будет виден результат работы.

Подробнее, читайте тут
👍1