Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
SwiftUI Deep Links in iOS - Deep Linking TabView & NavigationStack•
(iOS En)
Firebase Firestore Maps and Arrays Tutorial for iOS•
(iOS En)
Roll your own networking stack•
(iOS En)
Fantastic Swift tools and where to find them•
(iOS En)
Previews and Package Oriented Programming•
(And En)
Now in Android: 80 - Media3, Jetpack Compose 1.4, Crash Management, and more•
(And En)
Accessibility services and how users interact with them•
(And En)
Firebase Google Sign-In With Jetpack Compose & Clean Architecture•
(And En)
Automatic Security Scan for Your Android App With AppSweep & GitHub Actions•
(And En)
What's new in Kotlin 1.8.20: K2 compiler, language updates, stdlib improvements, and Java interop•
(Dev Ru)
Yet Another Mobile Party (YAMP)•
(Dev Ru)
Менторство в IT•
(Dev Ru)
Podlodka #314: нужны ли программисты, если AI пишет код•
(Dev Ru)
Зачем нужны тимлидыПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
YouTube
SwiftUI Deep Links in iOS - Deep Linking TabView & NavigationStack - Xcode 14 - SwiftUI Tutorials
Hello Guys 🖐🖐🖐
II'm going to demonstrate in this video how to create multiple views using SwiftUI's Tab View and NavigationStack and embed them with deep links | SwiftUI Deep Links | Deep Linking App | Deep Linking iOS | SwiftUI Deep Link Navigation Stack…
II'm going to demonstrate in this video how to create multiple views using SwiftUI's Tab View and NavigationStack and embed them with deep links | SwiftUI Deep Links | Deep Linking App | Deep Linking iOS | SwiftUI Deep Link Navigation Stack…
Stream Result - “железнодорожно-ориентированная” библиотека для моделирования и простой обработки успехов/неудач для Kotlin, Android и Retrofit.
Железнодорожно-ориентированное программирование - это функциональный подход к обработке success/failure нормализованными способами, всегда позволяющий предсказать результат. Эта библиотека поможет вам реализовать железнодорожно-ориентированные модели и функции в Kotlin и Android (особенно с помощью Retrofit).
Stream Result на GitHub: https://github.com/getStream/stream-result
Платформа: Android
⭐️: 59
Железнодорожно-ориентированное программирование - это функциональный подход к обработке success/failure нормализованными способами, всегда позволяющий предсказать результат. Эта библиотека поможет вам реализовать железнодорожно-ориентированные модели и функции в Kotlin и Android (особенно с помощью Retrofit).
Stream Result на GitHub: https://github.com/getStream/stream-result
Платформа: Android
⭐️: 59
Шаблон Цепочка обязанностей и его реализация на Swift
Поведенческие модели проектирования необходимы для оптимизации взаимодействия между объектами в программной системе. Один из таких паттернов, «Цепочка обязанностей», особенно полезен для организации и управления тем, как запрос обрабатывается различными компонентами системы. Отделяя отправителя запроса от его получателей, этот паттерн повышает гибкость и упрощает сопровождение кода. В этой статье мы рассмотрим паттерн «Цепочка обязанностей» и продемонстрируем его реализацию с помощью кода Swift.
Статья: https://apptractor.ru/Chain-of-responsibility
Платформа: Swift
Поведенческие модели проектирования необходимы для оптимизации взаимодействия между объектами в программной системе. Один из таких паттернов, «Цепочка обязанностей», особенно полезен для организации и управления тем, как запрос обрабатывается различными компонентами системы. Отделяя отправителя запроса от его получателей, этот паттерн повышает гибкость и упрощает сопровождение кода. В этой статье мы рассмотрим паттерн «Цепочка обязанностей» и продемонстрируем его реализацию с помощью кода Swift.
Статья: https://apptractor.ru/Chain-of-responsibility
Платформа: Swift
Swift Power Assert - показывает информацию о состоянии всех переменных ассерта в виде удобной диаграммы (Power assertions или Диаграммные утверждения дополняют неудачи утверждений информацией о значениях, полученных при оценке условия, и представляют ее в легко усваиваемой форме).
Swift Power Assert реализована с использованием макросов - экспериментальной возможности Swift. Поэтому для использования этой библиотеки необходимо использовать предварительную версию инструментов Swift.
Swift Power Assert на GitHub: https://github.com/kishikawakatsumi/swift-power-assert
Платформа: iOS
⭐️: 136
Swift Power Assert реализована с использованием макросов - экспериментальной возможности Swift. Поэтому для использования этой библиотеки необходимо использовать предварительную версию инструментов Swift.
Swift Power Assert на GitHub: https://github.com/kishikawakatsumi/swift-power-assert
Платформа: iOS
⭐️: 136
В Compose враг номер один - это ненужные рекомпозиции. Часто разработчики используют такие инструменты, как recompositionHighligher, LogComposition и layout inspector для подсчета рекомпозиций, но нет прямого способа понять, почему произошла рекомпозиция. Rebugger - это простая функция компоновки, которая может отслеживать изменения в заданных аргументах. Она выводит причину рекомпозиции в окно Logcat.
Rebugger на GitHub: https://github.com/theapache64/rebugger
Платформа: Android
⭐️: 339
Rebugger на GitHub: https://github.com/theapache64/rebugger
Платформа: Android
⭐️: 339
До того, как это стало стримом — рассказываем о настройке потокового вещания
Пользователь запускает приложение, нажимает кнопку — и вжух, уже стримит в сеть, а к его стриму подключаются другие пользователи. В плеере в этот момент происходит огромная работа: скрипты забирают изображение и звук, кодируют, пакуют в контейнеры, и передают данные в местный разгрузочный порт, где контейнер снова разбивают на упакованное в него видео и аудио. Сколько усилий! Как эти усилия выглядят на самом деле и о способах настройки потокового вещания на примере работы с протоколом SRT рассказывает iOS-разработчик CleverPumpkin Никита Тархов.
Статья: https://apptractor.ru/stream-potok
Платформа: iOS
Пользователь запускает приложение, нажимает кнопку — и вжух, уже стримит в сеть, а к его стриму подключаются другие пользователи. В плеере в этот момент происходит огромная работа: скрипты забирают изображение и звук, кодируют, пакуют в контейнеры, и передают данные в местный разгрузочный порт, где контейнер снова разбивают на упакованное в него видео и аудио. Сколько усилий! Как эти усилия выглядят на самом деле и о способах настройки потокового вещания на примере работы с протоколом SRT рассказывает iOS-разработчик CleverPumpkin Никита Тархов.
Статья: https://apptractor.ru/stream-potok
Платформа: iOS
MarkdownUI - это мощная библиотека для отображения и настройки Markdown-текста в SwiftUI. Она совместима с GitHub Flavored Markdown Spec и может отображать изображения, заголовки, списки, кавычки, блоки кода, таблицы, а также стилизованный текст и ссылки.
MarkdownUI предлагает понятные функции создания тем для настройки отображения текста. Вы можете использовать встроенные темы, создавать свои собственные или переопределять стили текста и блоков.
Работает минимум на iOS 15.0.
MarkdownUI на GitHub: https://github.com/gonzalezreal/swift-markdown-ui
Платформа: iOS
⭐️: 1.3K
MarkdownUI предлагает понятные функции создания тем для настройки отображения текста. Вы можете использовать встроенные темы, создавать свои собственные или переопределять стили текста и блоков.
Работает минимум на iOS 15.0.
MarkdownUI на GitHub: https://github.com/gonzalezreal/swift-markdown-ui
Платформа: iOS
⭐️: 1.3K
5 способов подготовить ваше приложение к выходу Android Studio Flamingo
При обновлении до Android Studio Flamingo и Android Gradle Plugin 8.0 необходимо обновить файлы сборки приложений, чтобы учесть пять важных изменений в поведении сборки.
Статья (
Платформа: Android
При обновлении до Android Studio Flamingo и Android Gradle Plugin 8.0 необходимо обновить файлы сборки приложений, чтобы учесть пять важных изменений в поведении сборки.
Статья (
En
): https://apptractor.ru/5-ways-to-prepare-your-appПлатформа: Android
Как использовать If Case Let в Swift и не сойти с ума
Например, если у вас есть коробка конфет и вы хотите проверить, есть ли в ней карамель, вы можете использовать для этого "if case let".
Статья (
Платформа: iOS
Например, если у вас есть коробка конфет и вы хотите проверить, есть ли в ней карамель, вы можете использовать для этого "if case let".
Статья (
En
): https://apptractor.ru/if-case-let-in-swiftПлатформа: iOS
Forwarded from Код Воробья для iOS разработчиков
В 💻 Xcode 14 прокачали автокомплит - инициализаторы, Codable, форматирование и другое. В видео наглядно, как это работает.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытатьфся его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat).
Статья: https://habr.com/ru/companies/timeweb/articles/726086/
Платформа: Android
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытатьфся его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat).
Статья: https://habr.com/ru/companies/timeweb/articles/726086/
Платформа: Android
😱2❤1
Pocket Shop - мобильный магазин, выполненный в лучших правилах MAD. Внутри Kotlin, Coroutines + Flow, Jetpack, MVVM, Retrofit2 & OkHttp3, Moshi и все остальные инструменты.
Pocket Shop на GitHub: https://github.com/AYOMITIDE-OAJ/pocketshop
Платформа: Android
⭐️: 1
Pocket Shop на GitHub: https://github.com/AYOMITIDE-OAJ/pocketshop
Платформа: Android
⭐️: 1
Вышла стабильная версия Android Studio Flamingo
Этот выпуск включает улучшения, помогающие создавать до пикселя идеальный пользовательский интерфейс с помощью Live Edit, шаблоны проектов с Jetpack Compose и Material 3, новые функции, помогающие инспектировать ваше приложение, обновления IntelliJ, App Quality Insights и многое другое.
Анонс: https://android-developers.googleblog.com/2023/04/android-studio-flamingo-is-stable.html
Платформа: Android
Этот выпуск включает улучшения, помогающие создавать до пикселя идеальный пользовательский интерфейс с помощью Live Edit, шаблоны проектов с Jetpack Compose и Material 3, новые функции, помогающие инспектировать ваше приложение, обновления IntelliJ, App Quality Insights и многое другое.
Анонс: https://android-developers.googleblog.com/2023/04/android-studio-flamingo-is-stable.html
Платформа: Android
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
Видео iOS Conf SG 2023•
(iOS En)
I built a mobile app without experience in just one day using AI•
(iOS En)
Understanding the Role of Expressions in Swift•
(iOS En)
Meet the New Native Video Picker API For SwiftUI•
(And Ru)
Как научиться программировать под андроид с нуля•
(And Ru)
Как уменьшить размер Android приложения•
(And Ru)
Оптимизация Compose•
(And En)
What's new in Android Studio - Flamingo•
(And En)
CameraX Foundations•
(And En)
Building Your First Wear OS App with Jetpack Compose•
(And En)
Pagination from Remote API & Local Cache Using Paging3, Compose and Clean Architecture•
(Crs Ru)
Видео Flutter Weekend Study•
(Dev Ru)
Mobile SRE: что перезагружать, когда перезагружать нечего•
(Dev Ru)
DivKit. Server Driven UI. Ольга Ким. Яндекс•
(Dev Ru)
Трудности архитектуры, платформ и их изучения•
(Dev En)
Being Successful with Open Source in Game DevelopmentПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
Видео iOS Conf SG 2023
Как и каждый год, в январе 2023 года сотни разработчиков со всего мира собрались вместе, чтобы поделиться своими знаниями и навыками.
Освоение Canvas в SwiftUI
В SwiftUI можно рисовать 2D-графику с помощью Shape API, но в итоге фреймворк преобразует все фигуры в представления SwiftUI и рендерит их. У этого подхода есть свои плюсы и минусы. К счастью, мы можем рисовать насыщенную 2D-графику, не комбинируя несколько фигур. На этой неделе мы узнаем, как использовать представление Canvas в SwiftUI.
Статья: https://swiftwithmajid.com/2023/04/11/mastering-canvas-in-swiftui/
Платформа: iOS
В SwiftUI можно рисовать 2D-графику с помощью Shape API, но в итоге фреймворк преобразует все фигуры в представления SwiftUI и рендерит их. У этого подхода есть свои плюсы и минусы. К счастью, мы можем рисовать насыщенную 2D-графику, не комбинируя несколько фигур. На этой неделе мы узнаем, как использовать представление Canvas в SwiftUI.
Статья: https://swiftwithmajid.com/2023/04/11/mastering-canvas-in-swiftui/
Платформа: iOS
👍1
Mockingbird - библиотека для мокирования, позволяет легко подражать, создавать заглушки и проверять объекты в модульных тестах Swift. Вы можете тестировать как Swift, так и Objective-C код без написания шаблонов или модификации производственного кода.
Mockingbird на GitHub: https://github.com/birdrides/mockingbird
Платформа: iOS
⭐️: 573
Mockingbird на GitHub: https://github.com/birdrides/mockingbird
Платформа: iOS
⭐️: 573
KotlinConf 2023 Keynote
На открытии KotlinConf 2023 представители JetBrains сделали несколько интересных анонсов о языке Kotlin и развитии экосистемы вокруг него.
Так:
• Компилятор K2 будет выпущен с Kotlin 2.0.
• Gradle Kotlin DSL будет использоваться по умолчанию в новых сборках.
• В Google наблюдается стремительный рост внедрения языка Kotlin.
• Kotlin Foundation запускает программу финансирования для авторов библиотек и программу членства для компаний.
• Kotlin Multiplatform станет стабильным в этом году.
• Вышла альфа-версия Compose для iOS.
• Экспериментальный Compose для Web будет работать на базе Kotlin/Wasm.
Видео: https://youtu.be/c4f4SCEYA5Q
Сайт: https://blog.jetbrains.com/kotlin/2023/04/kotlinconf-2023-opening-keynote/
Платформа: Android
На открытии KotlinConf 2023 представители JetBrains сделали несколько интересных анонсов о языке Kotlin и развитии экосистемы вокруг него.
Так:
• Компилятор K2 будет выпущен с Kotlin 2.0.
• Gradle Kotlin DSL будет использоваться по умолчанию в новых сборках.
• В Google наблюдается стремительный рост внедрения языка Kotlin.
• Kotlin Foundation запускает программу финансирования для авторов библиотек и программу членства для компаний.
• Kotlin Multiplatform станет стабильным в этом году.
• Вышла альфа-версия Compose для iOS.
• Экспериментальный Compose для Web будет работать на базе Kotlin/Wasm.
Видео: https://youtu.be/c4f4SCEYA5Q
Сайт: https://blog.jetbrains.com/kotlin/2023/04/kotlinconf-2023-opening-keynote/
Платформа: Android
👍2
Цикломатическая сложность в Swift
Вы когда-нибудь чувствовали, что ваш код выходит из-под контроля? Вам трудно понять или поддерживать определенную функцию или модуль в вашем приложении? Если да, то вы можете столкнуться с проблемой цикломатической сложности, и это более распространенное явление, чем вы думаете.
Цикломатическая сложность — это модный термин, обозначающий количество точек принятия решений в коде. На самом деле это очень просто. По сути, чем больше у вас точек принятия решений — например, операторов if, switch, циклов и так далее, — тем сложнее становится ваш код. А чем сложнее код, тем труднее его понимать, тестировать и поддерживать.
Статья: https://apptractor.ru/info/articles/tsiklomaticheskaya-slozhnost-v-swift.html
Платформа: Swift/программирование
Вы когда-нибудь чувствовали, что ваш код выходит из-под контроля? Вам трудно понять или поддерживать определенную функцию или модуль в вашем приложении? Если да, то вы можете столкнуться с проблемой цикломатической сложности, и это более распространенное явление, чем вы думаете.
Цикломатическая сложность — это модный термин, обозначающий количество точек принятия решений в коде. На самом деле это очень просто. По сути, чем больше у вас точек принятия решений — например, операторов if, switch, циклов и так далее, — тем сложнее становится ваш код. А чем сложнее код, тем труднее его понимать, тестировать и поддерживать.
Статья: https://apptractor.ru/info/articles/tsiklomaticheskaya-slozhnost-v-swift.html
Платформа: Swift/программирование
Что такое Gradle Kotlin DSL?
В этой статье мы поговорим о Gradle, почему именно Kotlin DSL, и о переходе от Groovy к Kotlin DSL.
Статья: https://medium.com/@talhafaki/what-is-gradle-kotlin-dsl-a995aafc5e5c
Платформа: Android
В этой статье мы поговорим о Gradle, почему именно Kotlin DSL, и о переходе от Groovy к Kotlin DSL.
Статья: https://medium.com/@talhafaki/what-is-gradle-kotlin-dsl-a995aafc5e5c
Платформа: Android