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
Как справляться с техническим долгом в масштабе суперприложения
Во Flo каждая команда ориентирована на продукт, даже платформенные команды. Сосредоточение внимания на продукте очень важно, но оно должно соответствовать скорости разработки, которая со временем может снижаться, давая меньше возможностей экспериментировать или приносить пользу.
В этой статье Директор по инжинирингу во Flo рассказывает, как в компании работают с техническим долгом и как эволюционная архитектура и SRE помогают сбалансировать инновации и качество в мобильной разработке.
Статья 🇬🇧: https://apptractor.ru/flodbt
Платформа: разработка
👋: 233
Во Flo каждая команда ориентирована на продукт, даже платформенные команды. Сосредоточение внимания на продукте очень важно, но оно должно соответствовать скорости разработки, которая со временем может снижаться, давая меньше возможностей экспериментировать или приносить пользу.
В этой статье Директор по инжинирингу во Flo рассказывает, как в компании работают с техническим долгом и как эволюционная архитектура и SRE помогают сбалансировать инновации и качество в мобильной разработке.
Статья 🇬🇧: https://apptractor.ru/flodbt
Платформа: разработка
👋: 233
Тренды Android-разработки 2022 - текстовая расшифровка видео Android Broadcast
Вот и наступил 2022 год, а это значит, что нам нужно определить тренды и вектор развития — куда в этом году стоит развиваться Android-разработчикам, что будет интересного, какую архитектуру использовать, нужны ли еще Android View, что там с Compose, готов ли он уже к продакшн и или мы уже опаздываем? На все эти вопросы отвечаем в этой статье.
Статья 🇷🇺: https://apptractor.ru/drddev2022
Платформа: Android
Вот и наступил 2022 год, а это значит, что нам нужно определить тренды и вектор развития — куда в этом году стоит развиваться Android-разработчикам, что будет интересного, какую архитектуру использовать, нужны ли еще Android View, что там с Compose, готов ли он уже к продакшн и или мы уже опаздываем? На все эти вопросы отвечаем в этой статье.
Статья 🇷🇺: https://apptractor.ru/drddev2022
Платформа: Android
Siren - библиотека уведомляет пользователя о том, что вышла новая версия приложения и предлагает обновиться. Данные берет из App Store, есть три вида предупреждений, настраиваемые правила показа, проверка совместимости устройства, локализация на более чем 40 языков.
Библиотека на GitHub: https://github.com/ArtSabintsev/Siren
Платформа: iOS
⭐️: 3.9К
Библиотека на GitHub: https://github.com/ArtSabintsev/Siren
Платформа: iOS
⭐️: 3.9К
Flutter vs натив: почему мы переходим с первого на второй
Наступил момент, когда наш продукт из стартапа с документооборотом решил перерасти в долгоиграющий проект, бизнесу захотелось перейти от количественного к качественному: более нативного поведения и вообще, чтобы ставили только пять звёзд. Как убедить бизнес, что нужно всё переписать на Native? И вообще надо ли? А что будет с командой? Захотят ли спецы на Flutter возвращаться на старый добрый Native-стек?
Статья 🇷🇺: https://apptractor.ru/fltntv
Платформа: разработка
⬆️: +19
Наступил момент, когда наш продукт из стартапа с документооборотом решил перерасти в долгоиграющий проект, бизнесу захотелось перейти от количественного к качественному: более нативного поведения и вообще, чтобы ставили только пять звёзд. Как убедить бизнес, что нужно всё переписать на Native? И вообще надо ли? А что будет с командой? Захотят ли спецы на Flutter возвращаться на старый добрый Native-стек?
Статья 🇷🇺: https://apptractor.ru/fltntv
Платформа: разработка
⬆️: +19
👍3👎1
Чему мы научились, используя KMM для iOS
В этой статье я рассказал о некоторых основных задачах и проблемах, с которыми мы столкнулись при работе с KMM на iOS. Не обо всем, но вполне достаточно, чтобы дать вам представление о KMM. Несмотря на проблемы и более длительное, чем ожидалось, время разработки, MVP был успешным, и у нас был рабочий модуль KMM, который использовался на двух платформах сразу. Мы продолжали работать с КММ, и теперь он с большим успехом используется в продакшене. KMM все еще может быть в ранней стадии разработки, но если вы проявите упорство, несмотря на все трудности, вы, безусловно, сможете использовать его. Моей целью при изложении проблем было не напугать вас, а поделиться с вами трудностями использования KMM в сегодняшнем состоянии.
Статья 🇷🇺: https://apptractor.ru/kmmios
Платформа: iOS/кроссплатформа
👋: 688
В этой статье я рассказал о некоторых основных задачах и проблемах, с которыми мы столкнулись при работе с KMM на iOS. Не обо всем, но вполне достаточно, чтобы дать вам представление о KMM. Несмотря на проблемы и более длительное, чем ожидалось, время разработки, MVP был успешным, и у нас был рабочий модуль KMM, который использовался на двух платформах сразу. Мы продолжали работать с КММ, и теперь он с большим успехом используется в продакшене. KMM все еще может быть в ранней стадии разработки, но если вы проявите упорство, несмотря на все трудности, вы, безусловно, сможете использовать его. Моей целью при изложении проблем было не напугать вас, а поделиться с вами трудностями использования KMM в сегодняшнем состоянии.
Статья 🇷🇺: https://apptractor.ru/kmmios
Платформа: iOS/кроссплатформа
👋: 688
Forwarded from Код Воробья для iOS разработчиков
Как устроен системный калькулятор.
Приложение написано на сценах. Root-контроллер называется
Клавиатуру сделали обычный вью и назвали
#ViewHierarchy
Приложение написано на сценах. Root-контроллер называется
DisplayViewController
. Лейбл с введенными цифрами обернули в контейнер DisplayView
и добавили жесты LongPress, Swipe и Tap.Клавиатуру сделали обычный вью и назвали
CalculatorKeypadView
. Кнопки сделаны как UIButton. Все кнопки - объекты одного класса, даже измененный 0. Контейнер лейаутится через AutoLayout, а вот сетку с кнопками расставили с помощью фреймов.#ViewHierarchy
👍4
SpotiFlyer - музыкальный загрузчик с поддержкой Spotify, Youtube, Gaana, Jio-Saavn и SoundCloud на Kotlin Multiplatform. Позволяет скачивать альбомы, отдельные треки, плейлисты и т.п. В настоящий момент поддерживается Android, Windows, Linux, MacOS и веб.
Проект на GitHub: https://github.com/Shabinder/SpotiFlyer
Платформа: Android/KMM
⭐️: 2.8К
Проект на GitHub: https://github.com/Shabinder/SpotiFlyer
Платформа: Android/KMM
⭐️: 2.8К
Принципы SOLID с (почти) реальными примерами на Java
Принципы SOLID — одни из старейших правил в мире программного обеспечения. Они позволяют нам писать поддерживаемый, читаемый, повторно используемый код. В этом тексте пример применения этих принципов из реальной жизни.
Статья 🇬🇧: https://apptractor.ru/solidjava
Платформа: программирование
👋: 790
Принципы SOLID — одни из старейших правил в мире программного обеспечения. Они позволяют нам писать поддерживаемый, читаемый, повторно используемый код. В этом тексте пример применения этих принципов из реальной жизни.
Статья 🇬🇧: https://apptractor.ru/solidjava
Платформа: программирование
👋: 790
💩2🔥1
Эволюция UI-тестов в iOS-приложении
Даша из Яндекс.Маркета рассказывает о том, как эволюционировал подход компании к к UI-тестам и, более конкретно, какие работы провели для их «улучшения» - почему решили избавиться от JSON-моков и как справились с этой задачей.
Статья 🇷🇺: https://apptractor.ru/uitstios
Платформа: iOS/тестирование
⬆️: +13
Даша из Яндекс.Маркета рассказывает о том, как эволюционировал подход компании к к UI-тестам и, более конкретно, какие работы провели для их «улучшения» - почему решили избавиться от JSON-моков и как справились с этой задачей.
Статья 🇷🇺: https://apptractor.ru/uitstios
Платформа: iOS/тестирование
⬆️: +13
This media is not supported in your browser
VIEW IN TELEGRAM
ReadabilityKit - извлекает превью для заданного URL-а. Может получать название, Title и Description страницы, изображение и видео, ключевые слова и дату публикации.
Библиотека на GitHub: https://github.com/exyte/ReadabilityKit
Платформа: iOS
⭐️: 767
Библиотека на GitHub: https://github.com/exyte/ReadabilityKit
Платформа: iOS
⭐️: 767
Accompanist — это группа библиотек, целью которых является дополнение Jetpack Compose функциями, которые обычно требуются разработчикам, но пока недоступны. Сейчас в Accompanist, например, есть Insets, System UI Controller, Pager, Placeholder, Navigation Animation, Swipe to Refresh и т.п.
Библиотека на GitHub: https://github.com/google/accompanist
Платформа: Android
⭐️: 4.1К
Библиотека на GitHub: https://github.com/google/accompanist
Платформа: Android
⭐️: 4.1К
4,5 года из жизни iOS-команды в пяти историях и одном техрадаре
Стас, лид мобильной разработки Туту.ру, рассказывает о технологиях и процессах разработки в компании. Часть решений может шокировать. Поехали!
Статья 🇷🇺: https://apptractor.ru/45tutu
Платформа: iOS
⬆️: +16
Стас, лид мобильной разработки Туту.ру, рассказывает о технологиях и процессах разработки в компании. Часть решений может шокировать. Поехали!
Статья 🇷🇺: https://apptractor.ru/45tutu
Платформа: iOS
⬆️: +16
👍1