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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🔍Насколько легко «войти в айти»?

Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.

👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
21🥱1
очередной #дайджест полезностей для мобильного разработчика

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

🔍 Detect Face — обнаруживание лица и конкретные точки, или ориентиры, на этих лицах, используя неподвижные изображения, видеофайлы или поток с камеры в реальном времени c помощью MediaPipe.

💫 Анимации в стиле Spotify Wrapped —статья рассказывает о том, как создать анимации в стиле Spotify Wrapped 2023 с помощью Jetpack Compose.

🛠️ Инструмент Detekt — проверка и улучшения качества кода автотестов на Kotlin.

💻 Разработка для нестандартных устройств — разработка приложений для умных устройств, таких как колонки, телевизоры, лампочки и розетки. О слоях и процессах, вовлеченных в разработку для этих устройств.

🐌 Влияние на UI — что могут сделать продвинутые/менее известные модификаторы для вашего пользовательского интерфейса?

🔄 Kotlin K2 — последние функции и усовершенствования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💥 Подборка на выходные, кто не знает чем заняться

📹 «Хватит писать говнокод — то, что один разработчик считает плохим кодом, может быть приемлемым или даже хорошим для другого. Докладчик ссылается на исходный код Telegram, отмечая, что с точки зрения некоторых разработчиков, он написан плохо. Несмотря на это, Telegram функционирует хорошо, что ставит под сомнение утверждение, что только «красиво» написанный код может быть эффективным.

😤 «Не сходи с ума» — статья содержит советы по управлению стрессом и тревогой во время собеседований на работу. В ней рассматриваются общие страхи и предлагаются стратегии, такие как честность, задавание вопросов, перерывы и психологические приемы для управления тревогой.

🤯 «Нужно больше!» — автор сравнивает языки программирования с инструментами в ящике с инструментами, утверждая, что ни один язык не подходит для всех задач. В статье поделены личные опыты и мнения о различных языках, подчеркивается важность выбора правильного языка для конкретных задач и проектов.

👨‍💻 «Swift 30 Projects» — старый, но все еще полезный репозиторий с 30 учебными проектами для iOS-разработчика. В нем рассматриваются вопросы использования UIKit, UIScrollView, UITableView, UICollectionView, CAAnimations, Local Notification, MapKit, Contact и Core ML, Core Data, открытых фреймворков , TDD, XCTest и многого другого.

🤔 «Выбор пути» — различные методы разработки мобильных приложений, их преимущества и недостатки с бизнес-точки зрения. Статья охватывает опции, такие как конструкторы приложений для быстрой и недорогой разработки, разработку внутри компании или студии для создания уникальных приложений высокого качества, прогрессивные веб-приложения (PWA) для тестирования гипотез, и облачные решения для эффективной разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥1
🤫 Что нас ждёт в 2024? >>

AppsFlyer предоставили бурный отчет за 2023 год, и на основе этого, сделали проекцию на 2024 год.

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

Подробнее со всем можно ознакомиться тут 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
1🎉1
👨‍🍳👨‍💻 Из кондитера в программиста

Автор описывает свой опыт перехода из кондитера. Основное внимание уделяется критике онлайн-обучения Geekbrains: недостатки в качестве образования, организации курсов и методиках преподавания.

📖 Читать полностью
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7👍5
#вопросы_с_собеседований

🐦 Swift

Как вы оптимизируете производительность UITableView в сложном приложении? Опишите различные техники и подходы, которые вы использовали бы.

Ответ:

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

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

Использование Reuse Identifier: Эффективное использование идентификаторов повторного использования для ячеек помогает уменьшить нагрузку на память и улучшить скорость прокрутки, поскольку UITableView не будет создавать новую ячейку каждый раз при прокрутке.

Оптимизация макета ячеек: Использование Auto Layout может быть ресурсоемким. Старайтесь упростить макеты ячеек, минимизируя количество ограничений и вложенных представлений.

Использование prefetching данных: iOS предоставляет API для предварительной загрузки данных, что позволяет заранее подготовить данные, которые скоро будут отображаться.

Оптимизация вычислений в методах DataSource и Delegate: Убедитесь, что методы, такие как cellForRowAt и heightForRowAt, выполняются быстро и не содержат ресурсоемких операций.

Ограничение количества анимаций и сложных графических операций: Чрезмерное использование анимаций и сложных графических эффектов может замедлить прокрутку.
👍52
Beeper отказывается от борьбы с Apple

После нескольких попыток, компания Beeper отказалась от попытки вернуть iMessage на Android. Принято решение, перестать искать обходные пути, и вместо этого сосредоточиться на своей «долгосрочной цели».

«Каждый раз, когда Beeper Mini падает или становится ненадежным из-за вмешательства Apple, доверие к Beeper падает. Это неприемлемо. Как бы нам ни хотелось бороться за то, что мы считаем фантастическим продуктом, который действительно должен существовать, правда в том, что мы не можем победить в игре в кошки-мышки с крупнейшей компанией на Земле», — пишет Beeper.

Beeper по-прежнему считает, что у него есть моральное преимущество. «На данном этапе действия Apple по блокировке Beeper Mini выглядят так, что им все труднее оправдываться», — пишет Beeper. «Единственная потенциальная причина, которая у них осталась, — это то, что они могли бы заработать меньше денег на продаже iPhone, если бы iMessage был доступен на Android».
3🔥2😁1
⚙️ Возможности Animations во Flutter <//>

Статья посвящена настройке анимаций во Flutter — куда же без них! 😋

📌 Обзор включает в себя go_router и animation. Автор посвящает в различные типы анимаций, используемых в приложениях Flutter, такие как Rive-animation, Hero animations и Progressindicator, и представляет примеры создания пользовательских анимаций для разных задач.

Также рассматриваются четыре паттерна системы движения Material Design для переходов между компонентами: Container transform, Shared Axis, Fade Through и Fade, каждый с подробным объяснением и примерами. 💡

С полной статьей можно ознакомиться здесь 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
🛡 Защищаем своё приложение на Kotlin <//>

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

📌 В статье автор рассказывает о таких концепциях как:

– Проверка клона приложения
– Проверка рут-прав
– Защита общих настроек
– Обфускация кода

На каждую из концепций есть описание и пример с кодом.
Ознакомиться подробнее можно здесь 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2
#дайджест новостей — что происходит?

Часов не будет — Apple приостановила продажи Watch S9/Ultra 2 в США из-за нарушений патентов.

📃 Изменения в Google Play — изменения в Google Play и процессах загрузки приложений после урегулирования юридического спора.

💰 Google выплатит $700 млн — проигрыш по антимонопольному делу и обход платежки Google Play.

📊 Топ приложений — исключение компании Bird, ChatGPT в топах по загрузкам, спрос на приложения лечения психических заболеваний иссяк.

🚀 Силиконовая долина — мобильный разработчик в силиконовой долине: зарплаты, карьера, плюсы и минусы.
Please open Telegram to view this post
VIEW IN TELEGRAM
21
🧠🧩 Зачем айтишнику психолог?

В современных реалиях все больше специалистов ИТ-индустрии обращаются к психологам, чтобы разобраться с эмоциональными проблемами. Рассмотрим некоторые распространенные запросы и проблемы, с которыми сталкиваются айтишники.

🔗 Читать статью
🔗 Зеркало
👍4
🎄 Старый год уже почти ушёл, а значит пора строить планы на новый.

Делитесь, чему бы хотели научиться? 💬

#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3
🌀 Пассивный UI в Jetpack Compose

Статья рассказывает, как применять концепции и паттерны для создания «пассивного» или «тупого» пользовательского интерфейса; пользовательского интерфейса, который не делает ничего, кроме демонстрации визуальных эффектов.

🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🙅‍♂️ Перестань так делать <//>

Всё ещё используете перенос строки через \n? Тогда мы идём к вам!

На первый взгляд кажется, что ничего особенного:

let text = "Some kill\nsome steal\n some break your heart"


А если начать добавлять текст?






let text = "Some kill\nsome steal\n some break your heart\nAnd you'd have thought"


Это уже становится проблемой... Как можем от этого избавиться?

Всё просто! У Swift есть идеальное решение этой проблемы. Мы можем использовать функцию, называемую многострочной строкой — достаточно объявить нашу строку с тремя двойными кавычками вместо одной:





Some kill
some steal
some break your heart
And you'd have thought
"""


Результат выглядит куда лучше!

Сохраняй и пользуйся 🔝
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱9❤‍🔥21👍1🔥1
📱 Управляем навигацией с помощью координатора <//>

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

Краткий обзор шаблона с примерами кода смотрим тут 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎅 Новый год — отличное время для старта!

🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d

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

Конечно, советуем обратить внимание на наши самые популярные курсы:
Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)

🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.

☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.

👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d

🫶 Всех с наступающим новым годом!
👍1
👨🏻‍💻 Отслеживаем и обновляем состояние приложения в Jetpack Compose

В статье описываются основные концепции, связанные с использованием состояния в Jetpack Compose и API, которые Jetpack Compose предлагает для более простой работы с состоянием.

Jetpack Compose поможет вам чётко определить, где и как вы храните и используете состояние в приложении для Android.

📖 Узнать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1