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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
#джайджест полезностей мобильного разработчика

🔹 SberPay в своё приложение — как добавить и какие преимущества.

🔹 FlexibleBottomSheet — расширенный нижний экран для Jetpack Compose.

🔹 Библиотека foSho — создаём безопасную и эффективную навигацию в Jetpack Compose.

🔹 Не делайте так — какие практики и действия вредят качеству кода.

🔹 Inline функции — что это такое и зачем они нужны?

🔹 Мастер в функциях — какие функции в Kotlin являются необходимыми для каждого.

🔹 Baseline Profiles — создаём профиль для ускорения приложения.
👍3
💥 Подборка на выходные, кто не знает чем заняться

🎬 «Убийцы цветочной луны» — фильм рассказывает о трагической истории несправедливости, которая произошла в Оклахоме в начале XX века, когда местные индейцы были убиты за то, что нашли нефть на своей земле. В главных ролях сыграли Леонардо ДиКаприо, Роберт Де Ниро, Лили Гладстоун.

🎙️ Подкаст «Секреты собеседований» — различные аспекты собеседований в IT-секторе, включая технические и нетехнические этапы, подготовка резюме и опыт работы с тестовыми заданиями. Гость делится своим опытом работы в разных компаниях и процессами собеседований, включая уникальные вызовы и форматы тестовых заданий.

📖 «Облегчаем путь до мидла» — iOS-разработчик в компании Точка, делится своим опытом перехода из HR в разработку и предлагает советы для ускорения профессионального роста.

📺 «Как работает операционная система» —  Кирилл Розов, руководитель группы Android-разработки в Тинькофф, рассказывает что такое операционная система, граница между ОС и встроенным софтом, как создаются и многое другое.

📱 «Dime» — рассмотрите бесплатный открытый трекер расходов для iOS. Из технических фич — простой, но красивый дизайн, синхронизация с iCloud, кастомные напоминания, биометрическая аутентификация, быстрые действия с домашнего экрана, темная тема, виджеты.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1🎉1
🖼️ Легко создаём ассеты для своих проектов

AssetsGen — приложения для разработчиков iOS и Android, которое позволяет легко создавать и управлять ассетами. С помощью AssetsGen вы сможете:

– Генерировать ассеты разных размеров и форматов для разных устройств и платформ;
– Экспортировать ассеты в Xcode и Android Studio.

#полезное
1
🚀 Скрытая фишка typealias

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

💡 Пример:

typealias Point = (x: Int, y: Int)

Но здесь есть но. Если мы будем использовать Double, то код не сбилдится.

typealias Point = (x: Int, y: Int)
let pointUsingInt = Point(x: 1, y: 2)
let pointUsingDouble = Point (x: 3.0, y: 4.0)

И здесь нас спасут generic`и!

typealias Point<T> = (x: T, y: T)

Теперь наш код будем принимать Int и Double.

Но мы можем улучшить код. Ограничиваем ввод только числовым типом:

typealias Point<T: Numeric> = (x: T, y: T)

В чём ещё полезность? Мы можем убрать лишний код в completionHanlder:

typealias CompletionHandler<T> = (Result<T, Error>) –> Void

func fetchData(_ completion: @escaping CompletionHandler<Data>) { }

Выглядит лучше! Осваивайте новую фишку и используйте на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥱32😁1
📥 iMessage изнутри

В статье вы узнаете внутреннее устройство iMessage, изученного автором в процессе работы над pypush — опенсорсным проектом по воссозданию реализации iMessage. Автор простым языком расссказывает о системе получения сообщений от Apple. От APNs до шифрования и аутентификации.

Ознакомиться со статьей можно тут 🔗
Github pypush ⚙️
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1🎉1
🕸🤖 Новая основа ИИ для Android

Статья рассказывает о Gemini, новой мощной модели искусственного интеллекта от Google для Android. Gemini предназначена для работы в различных системах и представлена в трёх размерах: Ultra, Pro и Nano.

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

Нас ждёт интеграция с новой системой Android AICore в Android 14, обещающая новые горизонты в использовании AI на мобильных устройствах.

📘 Читать статью полностью
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👨‍💻 Функциональное программирование на Dart

Обширное видео по функциональному программированию в Dart, языке программирования, поддерживающем несколько парадигм. Как более эффективно использовать функции функционального программирования, сравнение объектно-ориентированного и функционального подхода к созданию иерархий классов и многое другое.

📖 Содержание:

00:00 — Императивное программирование против функционального
14:12 — Иерархии классов ООП
17:05 — Алгебраические типы данных
23:35 — Обработка ошибок с помощью Try-Catch
27:27 — Обработка ошибок с помощью Either

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
2🌚1
🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈
😁3🔥1
большой #дайджест полезностей по Kotlin и Swift

Swift
🔸 Swift Utilities — интегрируем SwiftUI в UIKit.

🔸 GPT for Apple — набор различных GPT, специализирующиеся на определенных фреймворках Apple.

🔸 Swift Macro — как скомпилировать макрос в бинарный файл и добавить его в спецификацию пода.

🔸 SFSafariViewController — открываем веб-страницы внутри приложения.

🔸 Интерактивные виджеты — Взаимодействуем с виджетами в SwiftUI.

Kotlin

🔹 Dynamic Features — как динамически загружать части функционала приложения в зависимости от потребностей пользователя или возможностей устройства.

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

🔹 Кража API ключей — использование различных инструментов для анализа сетевых запросов, декомпиляция и извлечения скрытых данных и как и предотвратить подобные атаки.

🔹 KSP2 — как настроить и использовать в своих проектах, и какие преимущества он дает.

🔹 CountryCP — библиотека для выбора страны и телефонного кода для Jetpack Compose.
1🔥1🎉1
🗂 Имитируем наследование в структурах

В Swift можно имитировать наследование с помощью перечислений. Автор показывает, как использовать перечисления с ассоциированными значениями для создания разных типов фигур, которые имеют общий протокол. Он демонстрирует, как реализовать полиморфизм и динамическое связывание с помощью switch-выражений и расширений протоколов.

Примеры кода, иллюстрации и сама статья по ссылке 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
#вопросы_с_собеседований

🤖 Kotlin

Зачем нужен класс Nothing в Kotlin?

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

Рассмотрим несколько сценариев, когда Nothing может быть использован:

1. Функции, выбрасывающие исключение:

fun throwError(): Nothing {
throw RuntimeException(«This function always throws an exception.»)
}

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

2. Бесконечные циклы:

fun infiniteLoop(): Nothing {
while (true) {
// код, который никогда не завершится
}
}

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

3. Процессы, которые не могут завершиться нормально:

fun launchRocket(): Nothing {
// код запуска ракеты, который не может завершиться нормально
}

Функции, представляющие процессы, которые не могут завершиться нормально, могут использовать Nothing в качестве типа возвращаемого значения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
👍3
🗺️ Дорожная карта по Kotlin Multiplatform на 2024 год

В статье команда JetBrains описывает свои планы на следующий год. Они планируют сделать все основные API и компоненты Jetpack Compose мультиплатформенными, улучшить производительность и доступность на iOS, предоставить общий API для работы с ресурсами и решение для мультиплатформенной навигации. Также идёт речь о инструменте для всех целей и кодовых баз.

Все подробности можно узнать здесь 🔗
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🚨 Новые требования Apple к сторонним SDK

Apple хочет, чтобы разработчики и пользователи были в курсе того, как сторонние SDK собирают и используют данные, и ввела новые функции для повышения прозрачности и безопасности: privacy manifests и signatures.

На странице Apple Developer приведён список SDK, для которых будут использоваться новые правила. Для каждого вида данных понадобится словарь NSPrivacyCollectedDataType, значения должны соответствовать этому списку.
2
📁💡 Где программисту взять идеи для портфолио

Портфолио — это классный способ впечатлить работодателей. Однако у большинства айтишников портфолио состоит из примерно одинаковых работ. Как правило, это «тудушки», калькуляторы и что-то в таком роде. Но таким удивить уже сложно.

Поэтому давайте разберемся, как собрать классное портфолио, а главное — где взять интересные идеи для пет-проектов.

🔗 Читать статью
1
📉 Кризис в IT: 35% российских IT-специалистов теряют доходы

Опрос Российской ассоциации электронных коммуникаций (РАЭК) среди IT-профессионалов также показывает разрыв между ростом доходов IT-компаний и уменьшением доходов сотрудников.

Несмотря на рост прибыли компаний, многие сотрудники, особенно молодые, сталкиваются с уменьшением заработка из-за колебаний валют и высокой инфляции.

💬 Расскажите, как поживают ваши доходы?

#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤔3🥱1
🎉 Xcode обновился до версии 15.1

Из важного:
@IBDesignable деприкейтед
– Запуск Xcode Cloud вручную
– Новая функция тестирования в StoreKit Testing
– Макросы в Playground

Со всеми изменениями можно ознакомиться здесь 🗺
Please open Telegram to view this post
VIEW IN TELEGRAM
2🥱2👾2
#дайджест полезностей мобильного разработчика

🔥 Почему Flutter? — почему он стал таким популярным, преимущества и недостатки.

🔥 Плоский дизайн — переход от плоского дизайна, который стал популярным после внедрения iOS 7 от Apple в 2013 году, к более детализированным и трехмерным элементам.

🔥 Yandex Cup 2023 — разбор задачи отборочного этапа.

🔥 На запястье — стоит ли создавать приложение для смарт часов?

🔥 Неэффективность pull request — почему стандартный рабочий процесс с PR в GitHub часто приводит к большим запросам на включение изменений, которые замедляют процесс разработки и уменьшают качество кода.

🔥 Gradle 8 в Android — перенос приложения на версию 8.1.1, для чего и какие проблемы вас ждут.

🔥 Догмы разработки — как привычные практики программирования могут превращаться в непродуктивные догмы и как критическое мышление может спасти ваш проект от 'модного' программирования.
4👍3
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

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

🐍Python

Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍5