Media player UI for Jetpack Compose - composable компоненты для AndroidX Media3, коллекции медиабиблиотек.
Media player на GitHub: https://github.com/fengdai/compose-media
Платформа: Android
⭐️: 54
Media player на GitHub: https://github.com/fengdai/compose-media
Платформа: Android
⭐️: 54
Как стать -10х инженером
10x разработчики может и миф, но инженеры -10x существуют.
Чтобы стать -10x инженером нужно просто потратить 400 инженерных часов в неделю. Вот какими стратегиями этого можно добиться.
• Свести к нулю результаты работы 10 инженеров
• Создайте 400 часов напряженной работы
• Создайте 400 часов выгорания/текучки
• Держите 10 инженеров в заложниках технической дискуссии
• Добавьте 400 часов накладных расходов на коммуникации
• Потратьте 10-недельный зарплатный фонд на облачные расходы
• Создавайте бесполезные инструменты
• Добавьте 400 часов времени на компиляцию/сборку
• Пишите бессмысленные тесты
• Потратьте 400 часов на проектирование плохой архитектуры
• Потратьте 400 часов на развертывание
• Потратьте 10-недельный зарплатный фонд на недовольных клиентов
• Пишите бесполезную документацию
• Заманите 10 инженеров в ловушку бесполезного проекта
• Добавьте зависимости, которые требуют 400 часов на поддержку
• Откладывайте пивот
• Наймите десять 0х инженеров
• Наймите пять -1x инженеров
• Не допускайте увольнения десяти -1x инженеров
• Потратьте 400 часов на устранение ошибок
Статья: https://apptractor.ru/info/articles/10h.html
10x разработчики может и миф, но инженеры -10x существуют.
Чтобы стать -10x инженером нужно просто потратить 400 инженерных часов в неделю. Вот какими стратегиями этого можно добиться.
• Свести к нулю результаты работы 10 инженеров
• Создайте 400 часов напряженной работы
• Создайте 400 часов выгорания/текучки
• Держите 10 инженеров в заложниках технической дискуссии
• Добавьте 400 часов накладных расходов на коммуникации
• Потратьте 10-недельный зарплатный фонд на облачные расходы
• Создавайте бесполезные инструменты
• Добавьте 400 часов времени на компиляцию/сборку
• Пишите бессмысленные тесты
• Потратьте 400 часов на проектирование плохой архитектуры
• Потратьте 400 часов на развертывание
• Потратьте 10-недельный зарплатный фонд на недовольных клиентов
• Пишите бесполезную документацию
• Заманите 10 инженеров в ловушку бесполезного проекта
• Добавьте зависимости, которые требуют 400 часов на поддержку
• Откладывайте пивот
• Наймите десять 0х инженеров
• Наймите пять -1x инженеров
• Не допускайте увольнения десяти -1x инженеров
• Потратьте 400 часов на устранение ошибок
Статья: https://apptractor.ru/info/articles/10h.html
AppTractor
Как стать -10х инженером
10x разработчики может и миф, но инженеры -10x существуют. Чтобы стать -10x инженером нужно просто потратить 400 инженерных часов в неделю. Вот какими стратегиями этого можно добиться. Свести к нулю результаты работы 10 инженеров Измените требования как можно…
SwiftFormat - библиотека и инструмент командной строки для реформатирования кода Swift. SwiftFormat выходит за рамки того, что можно ожидать от форматера кода. В дополнение к корректировке пробелов он может вставлять или удалять неявные self, удалять лишние скобки и исправлять многие другие отклонения от стандартных идиом Swift.
Многие программисты предпочитают свой стиль форматирования кода, а другие, кажется, совершенно не замечают существующих в проекте соглашений о форматировании (к негодованию своих коллег). При совместной работе над проектом может быть полезно договориться об общем стиле кодирования, но применение этого стиля вручную утомительно, чревато ошибками и может привести к спорам, если некоторые участники воспринимают его более серьезно, чем другие. Наличие инструмента для автоматического внедрения общего стиля устраняет эти проблемы и позволяет сосредоточиться на поведении кода, а не на его представлении.
SwiftFormat на GitHub: https://github.com/nicklockwood/SwiftFormat
Платформа: iOS
⭐️: 6.5K
Многие программисты предпочитают свой стиль форматирования кода, а другие, кажется, совершенно не замечают существующих в проекте соглашений о форматировании (к негодованию своих коллег). При совместной работе над проектом может быть полезно договориться об общем стиле кодирования, но применение этого стиля вручную утомительно, чревато ошибками и может привести к спорам, если некоторые участники воспринимают его более серьезно, чем другие. Наличие инструмента для автоматического внедрения общего стиля устраняет эти проблемы и позволяет сосредоточиться на поведении кода, а не на его представлении.
SwiftFormat на GitHub: https://github.com/nicklockwood/SwiftFormat
Платформа: iOS
⭐️: 6.5K
👍2
Создание Reddit Recap с помощью Jetpack Compose
Когда мы впервые представили Reddit Recap нашим пользователям в конце 2021 года, он завоевал огромную популярность, и мы знали, что он вернется в 2022 году. И хотя между выпусками прошел всего год, способ создания мобильных приложений в Reddit кардинально изменился, что заставило нас перестроить работу с Recap с нуля, сделав его более ярким, с богатой анимацией и расширенными возможностями шаринга.
Одним из самых значительных изменений стало внедрение Jetpack Compose и нашей архитектуры презентаций на основе композиций. Чтобы полностью использовать нашу реактивную UI-архитектуру, мы решили переписать весь пользовательский интерфейс с нуля на Compose. Мы посчитали, что это стоит того, поскольку Compose позволит нам выразить наш пользовательский интерфейс с помощью простых, многократно используемых компонентов.
Статья: https://apptractor.ru/reddit-recap
Платформа: Android
Когда мы впервые представили Reddit Recap нашим пользователям в конце 2021 года, он завоевал огромную популярность, и мы знали, что он вернется в 2022 году. И хотя между выпусками прошел всего год, способ создания мобильных приложений в Reddit кардинально изменился, что заставило нас перестроить работу с Recap с нуля, сделав его более ярким, с богатой анимацией и расширенными возможностями шаринга.
Одним из самых значительных изменений стало внедрение Jetpack Compose и нашей архитектуры презентаций на основе композиций. Чтобы полностью использовать нашу реактивную UI-архитектуру, мы решили переписать весь пользовательский интерфейс с нуля на Compose. Мы посчитали, что это стоит того, поскольку Compose позволит нам выразить наш пользовательский интерфейс с помощью простых, многократно используемых компонентов.
Статья: https://apptractor.ru/reddit-recap
Платформа: Android
Android User Interface Samples - коллекция фирменных Android-проектов от Google, которые помогут вам понять фичи UI и начать встраивать их в свои приложения.
Android User Interface Samples на GitHub: https://github.com/android/user-interface-samples
Платформа: Android
⭐️: 3.9K
Android User Interface Samples на GitHub: https://github.com/android/user-interface-samples
Платформа: Android
⭐️: 3.9K
Один год инди-разработки
После 12 месяцев работы над своими проектами я решил составить резюме и поделиться своим путешествием и некоторыми уроками, которые я усвоил. Написание моей первой статьи в блоге показалось мне идеальным способом сделать это, и я надеюсь, что вам понравится ее читать.
Статья: https://apptractor.ru/odin-god
Платформа: инди-разработка
После 12 месяцев работы над своими проектами я решил составить резюме и поделиться своим путешествием и некоторыми уроками, которые я усвоил. Написание моей первой статьи в блоге показалось мне идеальным способом сделать это, и я надеюсь, что вам понравится ее читать.
Статья: https://apptractor.ru/odin-god
Платформа: инди-разработка
SwiftWhisper - обертка для порта системы Whisper от OpenAI 🙈 Whisper - это модель распознавания речи общего назначения. Она обучена на большом наборе данных разнообразных аудиозаписей и является многозадачной моделью, которая может выполнять многоязычное распознавание речи, перевод речи и идентификацию языка. С помощью SwiftWhisper вы можете встроить стороннюю C/C++ имплементацию Whisper в свои приложения.
SwiftWhisper на GitHub: https://github.com/exPHAT/SwiftWhisper
Whisper.cpp на GitHub: https://github.com/ggerganov/whisper.cpp
OpenAI Whisper на GitHub: https://github.com/openai/whisper
Платформа: iOS
⭐️: 38
SwiftWhisper на GitHub: https://github.com/exPHAT/SwiftWhisper
Whisper.cpp на GitHub: https://github.com/ggerganov/whisper.cpp
OpenAI Whisper на GitHub: https://github.com/openai/whisper
Платформа: iOS
⭐️: 38
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(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