Новые Tech Talks видео от Apple
Apple опубликовала ряд новых видео для разработчиков на своем сайте. Сняты они в рамках Tech Talks — виртуальной конференции, которая прошла с 25 октября по 17 декабря. В данной подборке есть, например:
• Создание и развертывание Safari Extensions для iOS
• Кастомные страницы приложений
• Оптимизация продуктовых страниц
• Развертывание iOS 15 в организации
• Советы, которые помогут избежать типовых ошибок в ревью
• Исследование и управление данными в Swift с помощью TabularData
• Работа с CloudKit Sharing
• Работа с StoreKit 2 и App Store Server API
• Новое в Metal для A15 Bionic
Видео: https://apptractor.ru/ttlksvd
Платформа: iOS
Apple опубликовала ряд новых видео для разработчиков на своем сайте. Сняты они в рамках Tech Talks — виртуальной конференции, которая прошла с 25 октября по 17 декабря. В данной подборке есть, например:
• Создание и развертывание Safari Extensions для iOS
• Кастомные страницы приложений
• Оптимизация продуктовых страниц
• Развертывание iOS 15 в организации
• Советы, которые помогут избежать типовых ошибок в ревью
• Исследование и управление данными в Swift с помощью TabularData
• Работа с CloudKit Sharing
• Работа с StoreKit 2 и App Store Server API
• Новое в Metal для A15 Bionic
Видео: https://apptractor.ru/ttlksvd
Платформа: iOS
👍1
Библиотека нашего читателя - Jugger.dart, реализация внедрения зависимостей во время компиляции для Dart и Flutter.
Библиотека на GitHub: https://github.com/ivk1800/jugger.dart
Платформа: Flutter
⭐️: 3
Библиотека на GitHub: https://github.com/ivk1800/jugger.dart
Платформа: Flutter
⭐️: 3
GitHub
GitHub - ivk1800/jugger.dart: Dependency Injection for Flutter and Dart
Dependency Injection for Flutter and Dart. Contribute to ivk1800/jugger.dart development by creating an account on GitHub.
👍1
Исследуем Material You для Jetpack Compose
В этом посте мы рассмотрим новую библиотеку Material You, доступную для Jetpack Compose, и посмотрим, как мы можем применить ее динамические цвета к Stream Chat Compose SDK для веселого, красочного и персонализированного обмена сообщениями.
Статья: https://apptractor.ru/mtrUcmpz
Платформа: Android
👋: 145
В этом посте мы рассмотрим новую библиотеку Material You, доступную для Jetpack Compose, и посмотрим, как мы можем применить ее динамические цвета к Stream Chat Compose SDK для веселого, красочного и персонализированного обмена сообщениями.
Статья: https://apptractor.ru/mtrUcmpz
Платформа: Android
👋: 145
Forwarded from Код Воробья для iOS разработчиков
Как устроен онбординг в App Store. Контроллер назвали
Заголовок “What’s New…” поместили в контейнер, хотя внутри него только лейбл. Ячейки это
Тулбар обычная вью с фоном
Иконка, текст и кнопки в тулбаре поместили в вертикальный стек. Ненормально большой отсуп снизу тулбара задан фикс значением от layoutMargins.bottom + 89.
#ViewHierarchy
OnboardingViewController
. Не оборачивали в навигейшн. Основной вью выступает не коллекция, а UIScrollView
. Заголовок “What’s New…” поместили в контейнер, хотя внутри него только лейбл. Ячейки это
UIView
, а тайтл-описание находятся в стеке.Тулбар обычная вью с фоном
UIVisualEffectView
. Текст с кнопкой "See how your data..." это UITextView
. Иконка, текст и кнопки в тулбаре поместили в вертикальный стек. Ненормально большой отсуп снизу тулбара задан фикс значением от layoutMargins.bottom + 89.
#ViewHierarchy
👍6💩1
WindowState — это компонент для Jetpack Compose от Microsoft, который помогает вам легко получить сведения о состоянии окон на устройствах с двумя, складными или большими экранами с помощью библиотеки Google Jetpack WindowManager. Компонент предоставляет текущую информацию об окне в виде состояния Compose, включая положение складывания, ориентацию и классы размера окна. Для устройств с двумя экранами и складных устройств, сочетающих различные положения и ориентации складывания, компонент представляем четыре положения дисплея, чтобы можно было воспользоваться преимуществами этих новых форм-факторов: Двойной книжный, Двойной альбомный, Одиночный портретный, Одиночный альбомный.
Библиотека на GitHub: https://github.com/microsoft/surface-duo-compose-sdk/tree/main/WindowState
Платформа: Android
⭐️: 9
Библиотека на GitHub: https://github.com/microsoft/surface-duo-compose-sdk/tree/main/WindowState
Платформа: Android
⭐️: 9
Новые стенания про Google Play.
«Ваше приложение нарушает правила Google Play»: сводки из ада
Маркет Google Play хорошо всем известен. Он предустановлен на всех Android-девайсах, которые продаются в магазинах, так что приток пользователей там максимальный. Однако этим преимущества, собственно говоря, и исчерпываются. Проблема Google Play, впрочем, заключается не в деньгах, а в некомпетентности сотрудников.
Статья: https://apptractor.ru/prgp
Платформа: Android
⬆️: +22
«Ваше приложение нарушает правила Google Play»: сводки из ада
Маркет Google Play хорошо всем известен. Он предустановлен на всех Android-девайсах, которые продаются в магазинах, так что приток пользователей там максимальный. Однако этим преимущества, собственно говоря, и исчерпываются. Проблема Google Play, впрочем, заключается не в деньгах, а в некомпетентности сотрудников.
Статья: https://apptractor.ru/prgp
Платформа: Android
⬆️: +22
This media is not supported in your browser
VIEW IN TELEGRAM
Swimat - плагин Xcode для форматирования вашего кода Swift.
Плагин на GitHub: https://github.com/Jintin/Swimat
Платформа: iOS
⭐️: 1.5К
Плагин на GitHub: https://github.com/Jintin/Swimat
Платформа: iOS
⭐️: 1.5К
Учебный курс по GitHub Actions на YouTube
Курс посвящен GitHub как платформе автоматизации. Фактически, он научит вас, как написать свой первый конвейер рабочего процесса с GitHub Actions и GitHub API для автоматизированного создания, тестирования и развертывания ПО.
Есть 4 видео:
1. Написание вашего первого workflow с помощью GitHub Actions и GitHub API.
2. Создание конвейеров непрерывной интеграции (CI) Python и NodeJS с помощью GitHub Actions.
3. Непрерывное развертывание (CD) с помощью GitHub Actions.
4. Управляйте инфраструктурой AWS с помощью Terraform как профессиональный DevOps-инженер.
Видео: https://apptractor.ru/gthbact
Курс посвящен GitHub как платформе автоматизации. Фактически, он научит вас, как написать свой первый конвейер рабочего процесса с GitHub Actions и GitHub API для автоматизированного создания, тестирования и развертывания ПО.
Есть 4 видео:
1. Написание вашего первого workflow с помощью GitHub Actions и GitHub API.
2. Создание конвейеров непрерывной интеграции (CI) Python и NodeJS с помощью GitHub Actions.
3. Непрерывное развертывание (CD) с помощью GitHub Actions.
4. Управляйте инфраструктурой AWS с помощью Terraform как профессиональный DevOps-инженер.
Видео: https://apptractor.ru/gthbact
Введение в Jetpack DataStore
DataStore — это библиотека хранения данных Jetpack, которая обеспечивает безопасный и последовательный способ хранения небольших объемов данных, таких как настройки или состояние приложения. Он основан на корутинах Kotlin и Flow, которые обеспечивают асинхронное хранение данных. DataStore призван заменить SharedPreferences, поскольку является потокобезопасным и неблокирующимся. Он предоставляет две разные реализации: Proto DataStore, в котором хранятся типизированные объекты (поддерживаемые буферами протокола), и Preferences DataStore, в котором хранятся пары ключ-значение.
В этой статье более подробно рассматривается DataStore — как он работает, какие реализации предоставляет и каковы разные варианты его использования. Мы также рассмотрим, какие преимущества и улучшения он дает по сравнению с SharedPreferences, и почему это делает DataStore достойным вашего внимания.
Статья: https://apptractor.ru/info/articles/jetpack-datastore.html
Платформа: Android
DataStore — это библиотека хранения данных Jetpack, которая обеспечивает безопасный и последовательный способ хранения небольших объемов данных, таких как настройки или состояние приложения. Он основан на корутинах Kotlin и Flow, которые обеспечивают асинхронное хранение данных. DataStore призван заменить SharedPreferences, поскольку является потокобезопасным и неблокирующимся. Он предоставляет две разные реализации: Proto DataStore, в котором хранятся типизированные объекты (поддерживаемые буферами протокола), и Preferences DataStore, в котором хранятся пары ключ-значение.
В этой статье более подробно рассматривается DataStore — как он работает, какие реализации предоставляет и каковы разные варианты его использования. Мы также рассмотрим, какие преимущества и улучшения он дает по сравнению с SharedPreferences, и почему это делает DataStore достойным вашего внимания.
Статья: https://apptractor.ru/info/articles/jetpack-datastore.html
Платформа: Android
Faradle - игра типа Wordle, сделанная на Jetpack Compose.
Проект на GitHub: https://github.com/adibfara/Faradle
Платформа: Android
⭐️: 80
Проект на GitHub: https://github.com/adibfara/Faradle
Платформа: Android
⭐️: 80
Как меня разорили мои облачные расходы
Я был и остаюсь ярым сторонником «облака». Я создал Have I Been Pwned (HIBP) как cloud-first сервис, в котором использовались преимущества современных облачных парадигм, таких как Azure Table Storage, для значительного снижения затрат при сумасшедшем уровне производительности, которого я никогда раньше не мог достичь. Я написал много статей о том, как делать большие дела за небольшие деньги, и говорил по всему миру о большом успехе, которого я добился с помощью этих подходов. Один из таких докладов был «Как я поимел свои облачные расходы», поэтому кажется уместным, что сегодня я пишу о полной противоположности — о том, как мои облачные затраты поимели меня.
Статья: https://apptractor.ru/cldpwnd
Платформа: облако
Я был и остаюсь ярым сторонником «облака». Я создал Have I Been Pwned (HIBP) как cloud-first сервис, в котором использовались преимущества современных облачных парадигм, таких как Azure Table Storage, для значительного снижения затрат при сумасшедшем уровне производительности, которого я никогда раньше не мог достичь. Я написал много статей о том, как делать большие дела за небольшие деньги, и говорил по всему миру о большом успехе, которого я добился с помощью этих подходов. Один из таких докладов был «Как я поимел свои облачные расходы», поэтому кажется уместным, что сегодня я пишу о полной противоположности — о том, как мои облачные затраты поимели меня.
Статья: https://apptractor.ru/cldpwnd
Платформа: облако
Skailer - красивый музыкальный плеер, сделанный с помощью SwiftUI и демонстрирующий неоморфизм и использование MVVM-архитектуры.
Плагин на GitHub: https://github.com/jijotp/MusicPlayer
Платформа: iOS
⭐️: 4
Плагин на GitHub: https://github.com/jijotp/MusicPlayer
Платформа: iOS
⭐️: 4
🔥2
Исправление снижения производительности до того, как оно произойдет
В этом посте описывается, как команда Netflix TVUI реализовала надежную стратегию для быстрого и легкого обнаружения аномалий производительности до того, как они будут выпущены, а часто даже до того, как они будут приняты в кодовую базу.
Статья: https://apptractor.ru/ntflxprf
Платформа: тестирование
В этом посте описывается, как команда Netflix TVUI реализовала надежную стратегию для быстрого и легкого обнаружения аномалий производительности до того, как они будут выпущены, а часто даже до того, как они будут приняты в кодовую базу.
Статья: https://apptractor.ru/ntflxprf
Платформа: тестирование
4 малоизвестные функции Swift
Многие разработчики работают со стандартными функциями и часто не подозревают о многих выдающихся возможностях, скрытых в знакомых языках и библиотеках. Эти возможности могут быть уже знакомы некоторым читателям, но для меня они в последнее время стали небольшим открытием.
Статья: https://apptractor.ru/4swft
Платформа: iOS/Swift
👋: 525
Многие разработчики работают со стандартными функциями и часто не подозревают о многих выдающихся возможностях, скрытых в знакомых языках и библиотеках. Эти возможности могут быть уже знакомы некоторым читателям, но для меня они в последнее время стали небольшим открытием.
Статья: https://apptractor.ru/4swft
Платформа: iOS/Swift
👋: 525
Импакт-анализ на примере Android-проекта
Одной из самых дорогих по времени операций на CI-сервере является прогон автотестов. Есть множество способов их ускорения, например, распараллеливание выполнения по нескольким CI-агентам и/или эмуляторам, полная эмуляция внешнего окружения (backend/сервисы Google/вебсокеты), тонкая настройка эмуляторов (отключение анимации/Headless-сборки/отключение снепшотов) и так далее. Сегодня поговорим про импакт-анализ или запуск только тех тестов, которые связаны с последними изменениями в коде. Расскажу какие шаги нужны для импакт-анализа и как мы реализовали это в нашем проекте.
Статья: https://apptractor.ru/pktnlz
Платформа: Android/тестирование
⬆️: +22
Одной из самых дорогих по времени операций на CI-сервере является прогон автотестов. Есть множество способов их ускорения, например, распараллеливание выполнения по нескольким CI-агентам и/или эмуляторам, полная эмуляция внешнего окружения (backend/сервисы Google/вебсокеты), тонкая настройка эмуляторов (отключение анимации/Headless-сборки/отключение снепшотов) и так далее. Сегодня поговорим про импакт-анализ или запуск только тех тестов, которые связаны с последними изменениями в коде. Расскажу какие шаги нужны для импакт-анализа и как мы реализовали это в нашем проекте.
Статья: https://apptractor.ru/pktnlz
Платформа: Android/тестирование
⬆️: +22
Butterfly помогает создавать адаптивные и отзывчивые пользовательские интерфейсы для Android с помощью Jetpack WindowManager. Кроме того, библиотека поддерживает полезные функции для интеграции Jetpack Compose и LiveData.
Библиотека на GitHub: https://github.com/GetStream/butterfly
Платформа: Android
⭐️: 106
Библиотека на GitHub: https://github.com/GetStream/butterfly
Платформа: Android
⭐️: 106
Обзор решений для навигации в iOS
Навигация в iOS это сложно. Нужно уметь открывать целые цепочки экранов, проверять, не открыт ли уже этот экран, передавать аргументы, анимировать переходы, навешивать интерсепторы на авторизацию, поддерживать диплинки и многое другое!
В этом видео HH.ru формализует критерии выбора библиотеки мечты для навигации и прогоняет через них самые мощные из текущих решений.
Видео: https://apptractor.ru/iosnav
Платформа: iOS
Навигация в iOS это сложно. Нужно уметь открывать целые цепочки экранов, проверять, не открыт ли уже этот экран, передавать аргументы, анимировать переходы, навешивать интерсепторы на авторизацию, поддерживать диплинки и многое другое!
В этом видео HH.ru формализует критерии выбора библиотеки мечты для навигации и прогоняет через них самые мощные из текущих решений.
Видео: https://apptractor.ru/iosnav
Платформа: iOS
👍3
Lucilla — это библиотека для полнотекстового поиска в памяти для Kotlin. Она позволяет вам создавать индекс для данных, которые не нужно сохранять в базе и выполнять поисковые запросы по нему, чтобы быстро найти соответствующие документы. Есть расширенный конвейер обработки текста с поддержкой токенизации, стемминга, удаления пунктуации и т.п., расширяемая обработка текста с настраиваемыми шагами, ранжирование результатов поиска с использованием оценок, настраиваемый анализ документов с возможностью игнорировать нежелательные поля.
Библиотека на GitHub: https://github.com/haroldadmin/lucilla
Платформа: Android/Kotlin
⭐️: 52
Библиотека на GitHub: https://github.com/haroldadmin/lucilla
Платформа: Android/Kotlin
⭐️: 52
GitHub
GitHub - haroldadmin/lucilla: Fast, efficient, in-memory Full Text Search for Kotlin
Fast, efficient, in-memory Full Text Search for Kotlin - haroldadmin/lucilla