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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🪄 Jetmagic //

Jetmagic — фреймворк для создания отзывчивых приложений для Android с использованием Jetpack Compose. Основная задача Jetmagic — предоставить инфраструктуру, необходимую для управления composable элементами, а вы при этом сможете сосредоточиться на создании основной задачи вашего продукта.

Ссылка на Github

#полезное #библиотека
🤔4👍1
На WWDC 2024 в SwiftUI был представлен протокол TextRenderer, предоставляющий разработчикам новые возможности по настройке производительности рендеринга компонента Text, что позволяет достичь многих ранее невообразимых эффектов.

В этой статье подробно рассматривается новая функция.
👏31
🛠️ Опыт внедрения Kotlin и Compose Multiplatform в продакшн-решение

Если вы хотите сократить количество платформенного кода и ресурсы на разработку и поддержку приложения, не спешите этого делать. Леонид Емельянов делится опытом перехода на Kotlin и Compose Multimplatform.

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

Видео по ссылке 📺
Please open Telegram to view this post
VIEW IN TELEGRAM
Возможности языка Kotlin в версии 2.0

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

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


KotlinConf'24
👍2🥱1
👨‍💻 Упрощенная работа с App Store Connect

В свет вышло крутое приложение, которое упрощает работу с App Store Connect в разы!

Какие фичи есть:

🔜 Легко управляйте всеми пользователями и сборками TestFlight. При желании вы даже можете импортировать контакты из своей адресной книги.
🔜 Поддержка нескольких команд.
🔜 Проверка статуса билдов.

Скачать можно по ссылке 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱4👍2😢2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
🎤 Джуны бывают разные…

#жиза
🔥12👍2
Как в 2024 выложить приложение в Apple Store и Google Play

Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива.

Автор, после успешного преодоления ограничений делится инструкцией, как это делать в нынешних условиях.
😢5🔥3
🚫 Паттерн Синглтон — небезопасен!

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

В статье рассматривается, почему синглтоны могут быть проблематичными, и приведы пять примеров с фрагментами кода, чтобы проиллюстрировать эти проблемы.
😁4🔥3👏2🌚1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🔥2
🛠️ Инструменты Android-разработчика

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

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

Он делится своим опытом и рассказывает о наиболее полезных инструментах, которые использует в своей повседневной работе.
👍3🔥2😁2
Apple открывает Translate API

На WWDC компания Apple анонсировала открытие нового API, позволяющего разработчикам интегрировать инструмент перевода Apple в свои приложения.

Как было подробно рассказано на одной из сессий WWDC 2024, недавно в iOS 17.4 Apple представила новый Translation API, который позволяет интегрировать Apple Translate в приложения сторонних разработчиков. Благодаря API разработчикам больше не придется полагаться на сторонние платформы для обеспечения функций перевода в своих приложениях.

🖥 Документация
➡️ Видео с WWDC
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍑 Подборка лучших статей «Библиотеки программиста» за июнь: сохраняй в заметки, чтобы не пропустить #самыйсок

💻 8 причин участвовать в хакатонах
✉️ Как завалить собеседование, даже не начав его: 8 ошибок в сопроводительных письмах
🦅 Делаем нативное мобильное приложение с ИИ и бэкендом
🤖👨‍💻 Пишем Telegram-бота для подготовки к собеседованию на Frontend-разработчика
💵 ТОП-15 самых востребованных профессий в ИТ: куда все катится в 2024 году
🈺 Как перевести все ваши iOS-приложения на 20 языков за 5 минут
🏆👁️ Топовая задачка на Stack Overflow: как найти k пропущенных чисел в потоке данных
🐍🤖💬 Создаём бота-автоответчика для Telegram на ChatGPT и Aiogram 3: пошаговое руководство
🤖🎙️ S.T.A.R.K. — первый фреймворк для создания голосового ассистента
😌 5 техник для снятия стресса на работе
🐍🎓 5 задач для подготовки к собеседованию по Python
⚛️ 6 самых важных шаблонов проектирования в React
💠 Пишем свою нейросеть: пошаговое руководство
🐍🏗️ Основы архитектуры для джунов: построение масштабируемых и чистых приложений на Python
💡 Кем работать в IT, если ты гуманитарий: 10 альтернативных профессий
🎓 Продвинутый SQL: секреты профессионалов
👶 Новичок в компании: 18 советов, как быстро адаптироваться и освоить новые навыки
🛠️ Set в JavaScript: теперь с новыми суперспособностями
⚒️ 10 незаменимых плагинов для VS Code в 2024 году
🐍🕵 5 лучших Python инструментов для специалистов по кибербезопасности
📧 Отклик на вакансию по email: как сделать так, чтобы ваше письмо выделялось
🐍📦 Ваш код достоин PyPI: как правильно опубликовать Python-пакет
🏃 Самоучитель по Go для начинающих. Часть 13. Работа с датой и временем. Пакет time
👋 Slack уходит из России: чем заменить зарубежный сервис
🗣️ «Иногда решение не в изменении системы, а в изменении отношения заказчика». Интервью с системным аналитиком
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Привет, друзья! 👋

Мы готовим статью о типичных ошибках начинающих разработчиков. И нам очень нужна ваша помощь! 🙏

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

Самые интересные и полезные советы мы обязательно включим в статью, а их авторов упомянем в публикации! 😊
Создаем Flutter-приложение для оплаты через СБП без натива

Автор объясняет, как использовать два пакета из pub.dev для интеграции СБП, описывает структуру API СБП, и демонстрирует шаги по созданию приложения, включая настройку и обработку диплинков, а также отслеживание состояния приложения при переходах в банковские приложения.

Ссылка на статью 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔3🥱2
InjectionIII — «горячая перезагрузка» для Swift, позволяет обновлять реализацию функций и любых методов классов, структур или перечислений мгновенно в симуляторе iOS без необходимости полной пересборки или перезапуска приложения. Это экономит разработчику значительное количество времени на доработку кода или итерации над дизайном.

По сути, это превращает Xcode из «редактора исходного кода» в «редактор программы», где изменения исходного кода не просто сохраняются на диск, а непосредственно отображаются в вашей работающей программе.

Ссылка на Github
🎉3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
9 гифок, наглядно иллюстрирующих числовые последовательности

https://proglib.io/p/sequences/

#math
🎉2
Новинки SwiftUI в iOS 18

Это еще один удачный год для SwiftUI, с очередным пакетом улучшений scrollview, некоторыми полезными функциями macOS, замечательным контролем над отображением текста и многим другим — Apple есть чем гордиться.

Но есть также одно важное архитектурное изменение, о котором вам нужно знать...
👍3
#вопросы_с_собеседований

Swift

Вопрос: назовите известные проблемы с многопоточностью?

Ответ:

Многопоточность — это мощный инструмент в разработке ПО, который позволяет вашему приложению выполнять несколько задач одновременно. Однако с её мощностью приходят и сложности. Вот некоторые из проблем:

1. Состояние гонки (Race Conditions): Это происходит, когда два или более потока пытаются одновременно изменить общие данные. Результат выполнения таких операций может зависеть от того, в каком порядке выполняются потоки, что может привести к непредсказуемому поведению программы.


var sharedResource = [String]()

DispatchQueue.global().async {
for _ in 0..<1000 {
sharedResource.append("A")
}
}

DispatchQueue.global().async {
for _ in 0..<1000 {
sharedResource.append("B")
}
}
// Предполагаемый результат может быть непредсказуемым, так как оба потока работают с одним и тем же ресурсом одновременно.


2. Взаимная блокировка (Deadlocks): Взаимная блокировка может произойти, когда два или более потока блокируются, ожидая, пока другие потоки освободят ресурсы, которые они уже удерживают, в результате чего ни один из потоков не может продолжить выполнение.


let queue1 = DispatchQueue(label: "queue1")
let queue2 = DispatchQueue(label: "queue2")

queue1.async {
queue2.sync {
// Делаем что-то
}
}

queue2.async {
queue1.sync {
// Делаем что-то
}
}
// Здесь потоки будут ждать друг друга бесконечно, создавая взаимную блокировку.


3. Условия гонки при работе с памятью (Memory Races): Похоже на условия гонки, но здесь конфликт возникает при доступе к памяти. Это может привести к повреждению данных, когда несколько потоков пытаются одновременно читать и записывать данные в одно и то же место в памяти без должной синхронизации.

4. Голодание (Starvation): Происходит, когда поток никогда не получает доступ к ресурсу или исполнителю из-за постоянного захвата этих ресурсов другими потоками.

5. Чрезмерная синхронизация (Over-Synchronization): Происходит, когда для предотвращения проблем с многопоточностью добавляется слишком много блокировок, что в свою очередь может серьёзно снизить производительность программы, так как потоки часто ожидают возможности доступа к ресурсам.

Чтобы избежать этих и других проблем с многопоточностью, разработчики используют различные техники синхронизации, такие как блокировки, семафоры и барьеры. Однако нужно быть осторожным, чтобы не переусложнить программу и не снизить её производительность.
👍7👏2