This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Telephoto предлагает некоторые “строительные блоки” для пользовательского интерфейса Compose. Во-первых, это замена для Image() с поддержкой жестов панорамирования и масштабирования и автоматической субдискретизации больших изображений, которые иначе не поместились бы в память. Во-вторых, это детектор жестов, упакованный как отдельный модификатор, который можно использовать с composable, не относящимися к изображению.
Telephoto на GitHub: https://github.com/saket/telephoto
Платформа: Android
⭐️: 264
Telephoto на GitHub: https://github.com/saket/telephoto
Платформа: Android
⭐️: 264
Перформанс 2ГИС для Android
Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.
Статья: https://habr.com/ru/companies/2gis/articles/734688/
Платформа: Android
Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.
Статья: https://habr.com/ru/companies/2gis/articles/734688/
Платформа: Android
👍1👎1
Гибкая непрерывная интеграция для iOS
Многие из наших заданий CI для iOS выполняются на компьютерах Mac, что позволяет использовать инструменты для разработчиков, предоставляемые Apple. Задания CI для всех остальных платформ в Airbnb выполняются в контейнерах на Amazon EC2 Linux. Для выполнения заданий CI на macOS мы исторически поддерживали альтернативную инфраструктуру CI вне AWS специально для iOS-разработки. Появление компьютеров Mac в AWS дало нам возможность переосмыслить наш подход к iOS CI.
Статья: https://medium.com/airbnb-engineering/flexible-continuous-integration-for-ios-4ab33ea4072f
Платформа: iOS
Многие из наших заданий CI для iOS выполняются на компьютерах Mac, что позволяет использовать инструменты для разработчиков, предоставляемые Apple. Задания CI для всех остальных платформ в Airbnb выполняются в контейнерах на Amazon EC2 Linux. Для выполнения заданий CI на macOS мы исторически поддерживали альтернативную инфраструктуру CI вне AWS специально для iOS-разработки. Появление компьютеров Mac в AWS дало нам возможность переосмыслить наш подход к iOS CI.
Статья: https://medium.com/airbnb-engineering/flexible-continuous-integration-for-ios-4ab33ea4072f
Платформа: iOS
Medium
Flexible Continuous Integration for iOS
How Airbnb leverages AWS, Packer, and Terraform to update macOS on hundreds of CI machines in hours instead of days
30 советов для эффективного проектирования пользовательского интерфейса
Хорошо продуманный пользовательский интерфейс может существенно повлиять на успех продукта. Я составил список из 30 советов, которые помогут вам улучшить свои навыки проектирования пользовательского интерфейса.
Статья: https://apptractor.ru/info/articles/30-sovetov-dlya-effektivnogo-proektirovaniya-polzovatelskogo-interfeysa.html
Платформа: дизайн и прототипирование
Хорошо продуманный пользовательский интерфейс может существенно повлиять на успех продукта. Я составил список из 30 советов, которые помогут вам улучшить свои навыки проектирования пользовательского интерфейса.
Статья: https://apptractor.ru/info/articles/30-sovetov-dlya-effektivnogo-proektirovaniya-polzovatelskogo-interfeysa.html
Платформа: дизайн и прототипирование
Control Room - это приложение для macOS, позволяющее управлять симуляторами iOS, tvOS и watchOS, их внешним видом, информацией в статус баре и многим другим. Оно использует собственный инструмент командной строки simctl от Apple, поэтому вам понадобится установленный Xcode. Из фич - получение скриншотов и видео с симуляторов, в том числе с рамками устройства, настройка системного времени и даты, управление статусами Wi-Fi, сотовой сети и батареи, редактирование UserDefaults, включение темного/светлого режима, смена языка, опций доступности, указание произвольной локации для пользователя, управление приложениями, отправка тестовых пуш-уведомлений или глубоких ссылок, получение цветов прямо из симулятора.
Control Room на GitHub: https://github.com/twostraws/ControlRoom
Платформа: iOS
⭐️: 5.2K
Control Room на GitHub: https://github.com/twostraws/ControlRoom
Платформа: iOS
⭐️: 5.2K
Построения графиков в Jetpack Compose
Использование кривых Безье для улучшения построения графиков из разрозненных точек в Jetpack Compose.
Статья: https://medium.com/mobile-app-development-publication/making-graph-plotting-function-in-jetpack-compose-95c80ee6fc7f
Платформа: Android
Использование кривых Безье для улучшения построения графиков из разрозненных точек в Jetpack Compose.
Статья: https://medium.com/mobile-app-development-publication/making-graph-plotting-function-in-jetpack-compose-95c80ee6fc7f
Платформа: Android
Объяснение диапазонов в Swift с примерами кода
Диапазоны (Range) в Swift позволяют нам выбирать части строк, коллекций и других типов данных. Они являются Swift-вариантом NSRange, который мы знаем из Objective-C, хотя они и отличаются в использовании. Диапазоны позволяют нам писать элегантный Swift-код, используя всего один оператор. Ваш первый опыт работы с ними может быть связан с тем, что вам нужно выбрать диапазон символов из строки, но вы можете сделать с ними гораздо больше!
Статья: https://www.avanderlee.com/swift/ranges-explained/
Платформа: iOS/Swift
Диапазоны (Range) в Swift позволяют нам выбирать части строк, коллекций и других типов данных. Они являются Swift-вариантом NSRange, который мы знаем из Objective-C, хотя они и отличаются в использовании. Диапазоны позволяют нам писать элегантный Swift-код, используя всего один оператор. Ваш первый опыт работы с ними может быть связан с тем, что вам нужно выбрать диапазон символов из строки, но вы можете сделать с ними гораздо больше!
Статья: https://www.avanderlee.com/swift/ranges-explained/
Платформа: iOS/Swift
SwiftLee
Ranges in Swift explained with code examples
Ranges in Swift come with multiple variants: closed, half-open, and one-sided. Ranges can be converted to NSRange using a convenience initialiser.
Purr - это инструмент командной строки zsh для просмотра и поиска в логах Android. Он использует fzf для обеспечения простого, но мощного пользовательского интерфейса, возможностей нечеткого поиска и многого другого.
Хотя logcat в Android Studio достаточен для большинства приложений, он ломается в таких ситуациях, как доступ только через терминал или когда требуется быстрый доступ к нескольким устройствам. При выполнении разработки на самой операционной системе Android разработчики возвращаются к использованию сырого adb logcat в shell.
Это неоптимально и тратит много времени на написание grep-запросов и копание в сплошном нефильтрованном сером тексте с плохим пользовательским опытом. Purr предназначен для решения этой проблемы - это мощная программа просмотра логов, работающая полностью в shell, способная быстро просматривать миллионы логов.
Purr на GitHub: https://github.com/google/purr
Платформа: Android
⭐️: 81
Хотя logcat в Android Studio достаточен для большинства приложений, он ломается в таких ситуациях, как доступ только через терминал или когда требуется быстрый доступ к нескольким устройствам. При выполнении разработки на самой операционной системе Android разработчики возвращаются к использованию сырого adb logcat в shell.
Это неоптимально и тратит много времени на написание grep-запросов и копание в сплошном нефильтрованном сером тексте с плохим пользовательским опытом. Purr предназначен для решения этой проблемы - это мощная программа просмотра логов, работающая полностью в shell, способная быстро просматривать миллионы логов.
Purr на GitHub: https://github.com/google/purr
Платформа: Android
⭐️: 81
👍1
Видео и подкасты за неделю - обратите внимание, вышли все видео осеннего Mobius, аж под 40 роликов:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS En)
Learn how to add SwiftLint to your iOS Apps•
(iOS En)
Learn when SwiftUI re-renders views•
(iOS En)
SwiftUI Gooey Effect With Shape Morphing Animation•
(iOS En)
How to refactor Swift code like a pro, using Associated Values•
(iOS En)
Formatted Date strings in Swift and SwiftUI•
(And Ru)
ViewModels in CustomViews: как за пару секунд поменять функционал приложения•
(And Ru)
@Stable vs @Immutable и анимации на Compose•
(And Ru)
Gradle Review Show•
(And En)
Android game graphics - OpenGL ES vs. Vulkan case study•
(And En)
Squeezing out the last 5% of performance: AGDE, profile-guided optimization, and automation•
(And En)
Improving game performance with Android Dynamic Performance Framework•
(And En)
Now in Android: 83 - Android at Google I/O, second Beta of Android 14, and more!•
(And En)
The ULTIMATE Guide to Sharing Data Between Screens in Jetpack Compose•
(And En)
I've Tried the NEW Android Studio AI (Studio Bot 😱) - A True Competitor of ChatGPT?•
(Dev Ru)
IT’s Tinkoff product meetup: лайфстайл•
(Dev Ru)
Все видео Mobius 2022 Autumn•
(Dev Ru)
Podlodka #319: как оптимизировать сложность алгоритмов•
(Mrk En)
Paywall Design ExamplesПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
YouTube
Learn how to add SwiftLint to your iOS Apps
Hello Guys 🖐🖐🖐
I'm going show in this video how to add Swift Lint to our iOS project in order to preserve good Swift Style Rules | Swift Lint | SwiftUI SwiftLint | Swift | SwiftUI Xcode 14 | SwiftUI for iOS 16 | Xcode 14 SwiftUI.
#apple #swiftui #ios #xcode…
I'm going show in this video how to add Swift Lint to our iOS project in order to preserve good Swift Style Rules | Swift Lint | SwiftUI SwiftLint | Swift | SwiftUI Xcode 14 | SwiftUI for iOS 16 | Xcode 14 SwiftUI.
#apple #swiftui #ios #xcode…
This media is not supported in your browser
VIEW IN TELEGRAM
Squirrel (произносится как Scroll-Wheel) - приложение для macOS, которое добавляет нормальный скрол в симулятор Xcode. Теперь в нем можно скролить стандартным колесиком мыши!
Squirrel на GitHub: https://github.com/aheze/Squirrel
Платформа: iOS
⭐️: 562
Squirrel на GitHub: https://github.com/aheze/Squirrel
Платформа: iOS
⭐️: 562
👍3
Бесплатный курс "Промпт-инжиниринг ChatGPT для разработчиков"
DeepLearning.AI и OpenAI выпустили бесплатный курс, обучающий новому ключевому навыку, который нужен разработчикам для создания приложений с помощью ChatGTP. Курс представляет Эндрю Нг, основатель DeepLearningAI, соучредитель Coursera и известный многим по своему курсу машинного обучения. Основной материал предоставлен Исой Фулфорд, работницей OpenAI.
Курс: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
Платформа: обучение
DeepLearning.AI и OpenAI выпустили бесплатный курс, обучающий новому ключевому навыку, который нужен разработчикам для создания приложений с помощью ChatGTP. Курс представляет Эндрю Нг, основатель DeepLearningAI, соучредитель Coursera и известный многим по своему курсу машинного обучения. Основной материал предоставлен Исой Фулфорд, работницей OpenAI.
Курс: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
Платформа: обучение
www.deeplearning.ai
ChatGPT Prompt Engineering for Developers - DeepLearning.AI
Level up your use of LLMs with prompt engineering best practices. Learn to automate workflows, chain LLM calls, and build a custom chatbot.
Безопасная локализация строк в iOS: Localinter
Меня зовут Сергей Балалаев, я руковожу отделом разработки мобильного приложения «Пункт Ozon». Я хочу рассказать, как мы побороли типичные проблемы локализации для наших iOS-проектов, зачем собрали свой линтер для локализации и как это всё помогло упростить и автоматизировать процесс.
Статья: https://habr.com/ru/companies/ozontech/articles/734214/
Платформа: iOS
Меня зовут Сергей Балалаев, я руковожу отделом разработки мобильного приложения «Пункт Ozon». Я хочу рассказать, как мы побороли типичные проблемы локализации для наших iOS-проектов, зачем собрали свой линтер для локализации и как это всё помогло упростить и автоматизировать процесс.
Статья: https://habr.com/ru/companies/ozontech/articles/734214/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать анимированные шейдеры в Jetpack Compose
Jetpack Compose — молодой, но бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня я хотел бы описать одну из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на картинке.
Статья: https://habr.com/ru/companies/timeweb/articles/736192/
Платформа: Android
Jetpack Compose — молодой, но бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня я хотел бы описать одну из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на картинке.
Статья: https://habr.com/ru/companies/timeweb/articles/736192/
Платформа: Android
👍2
Coffee Drop - UI кофейного приложения, созданный с помощью Kotlin и Jetpack Compose. Дизайн вдохновлен концептом на Dribbble. Сам же код основан на Чистой архитектуре (или, по крайней мере, на ее понимании автором). Это не полнофункциональное приложение, скорее пример отработки пользовательского интерфейса.
Coffee Drop на GitHub: https://github.com/dev-xero/coffee-drop-ui
Платформа: Android
⭐️:26
Coffee Drop на GitHub: https://github.com/dev-xero/coffee-drop-ui
Платформа: Android
⭐️:26
Измерение задержки старта iOS-приложений в масштабе Uber
С введением функции предварительного прогрева в iOS 15, сама ОС может принимать решение о запуске процесса приложения в памяти на основе внешних условий, которые предвидят запуск приложения пользователем. Это сокращает время, которое пользователь должен ждать, пока приложение станет доступным при следующем его тапе на иконку. Но это нововведение усложнило процесс измерения задержки холодного старта для iOS, так как теперь уже не представлялось возможным указывать время от создания процесса до первого просмотра. Это привело к пересмотру процесса измерения задержки холодного запуска в Uber.
• Задержка при запуске
• Измерение времени запуска до iOS 15
• Измерение времени запуска с предварительным прогревом
• Объединение метрик на основе пользователя и сеанса
• Обработка данных MetricKit
• Заключение
Статья: https://apptractor.ru/info/articles/izmerenie-zaderzhki-starta-ios-prilozheniy-v-masshtabe-uber.html
Платформа: iOS/Отслеживание сбоев
С введением функции предварительного прогрева в iOS 15, сама ОС может принимать решение о запуске процесса приложения в памяти на основе внешних условий, которые предвидят запуск приложения пользователем. Это сокращает время, которое пользователь должен ждать, пока приложение станет доступным при следующем его тапе на иконку. Но это нововведение усложнило процесс измерения задержки холодного старта для iOS, так как теперь уже не представлялось возможным указывать время от создания процесса до первого просмотра. Это привело к пересмотру процесса измерения задержки холодного запуска в Uber.
• Задержка при запуске
• Измерение времени запуска до iOS 15
• Измерение времени запуска с предварительным прогревом
• Объединение метрик на основе пользователя и сеанса
• Обработка данных MetricKit
• Заключение
Статья: https://apptractor.ru/info/articles/izmerenie-zaderzhki-starta-ios-prilozheniy-v-masshtabe-uber.html
Платформа: iOS/Отслеживание сбоев
AppTractor
Измерение задержки старта iOS-приложений в масштабе Uber
Изменив архитектуру измерения задержки запуска, мы можем более надежно измерять эту метрику в мире предварительного прогрева.
Подготовка к собеседованиям для Android-разработчиков в 2023 году
Цель этой заметки - объяснить некоторые этапы типичного процесса собеседования для Android-разработчиков. Мы обсудим шаги, стратегии, цели и решения. Это поможет вам лучше подготовиться к получению следующей роли.
Этот блог основан на личном опыте, предупреждаю заранее, что ваш опыт может быть совершенно другим, но я прошел через множество процессов собеседования и могу с уверенностью сказать, что все они в конечном итоге следуют одной и той же структуре. Просто некоторые компании опускают одни части и добавляют другие. Как пряный соус для собеседования.
Статья: https://blog.blundellapps.co.uk/proven-prepping-for-easy-android-interviews-in-2023/
Платформа: Android
Цель этой заметки - объяснить некоторые этапы типичного процесса собеседования для Android-разработчиков. Мы обсудим шаги, стратегии, цели и решения. Это поможет вам лучше подготовиться к получению следующей роли.
Этот блог основан на личном опыте, предупреждаю заранее, что ваш опыт может быть совершенно другим, но я прошел через множество процессов собеседования и могу с уверенностью сказать, что все они в конечном итоге следуют одной и той же структуре. Просто некоторые компании опускают одни части и добавляют другие. Как пряный соус для собеседования.
Статья: https://blog.blundellapps.co.uk/proven-prepping-for-easy-android-interviews-in-2023/
Платформа: Android
👍2
AWS Amplify предоставляет декларативный и простой в использовании интерфейс для различных облачных операций. Реализация по умолчанию работает с Amazon Web Services (AWS), но AWS Amplify разработан как открытый и подключаемый к любому кастомному бэкенду или сервису.
Библиотека Amplify для Swift опирается на AWS SDK для Swift, который был выпущен в качестве Developer Preview в прошлом году. Это позволяет получить доступ к широкому спектру API: аналитика, GraphQL и REST, аутентификация, онлайн база данных, геолокация, хранение объектов в облаке.
AWS Amplify на GitHub: https://github.com/aws-amplify/amplify-swift
Платформа: iOS
⭐️: 347
Библиотека Amplify для Swift опирается на AWS SDK для Swift, который был выпущен в качестве Developer Preview в прошлом году. Это позволяет получить доступ к широкому спектру API: аналитика, GraphQL и REST, аутентификация, онлайн база данных, геолокация, хранение объектов в облаке.
AWS Amplify на GitHub: https://github.com/aws-amplify/amplify-swift
Платформа: iOS
⭐️: 347
Лучший способ структурировать iOS-проект
В этой статье я расскажу вам о некоторых распространенных ошибках, которые допускают начинающие разработчики, и поделюсь тем, как я структурирую каждый проект, над которым работаю.
Статья: https://levelup.gitconnected.com/the-best-way-to-struct-your-ios-project-a2daee7dcb45
Платформа: iOS
В этой статье я расскажу вам о некоторых распространенных ошибках, которые допускают начинающие разработчики, и поделюсь тем, как я структурирую каждый проект, над которым работаю.
Статья: https://levelup.gitconnected.com/the-best-way-to-struct-your-ios-project-a2daee7dcb45
Платформа: iOS
👍2
От идеи к реализации: разработка анимированной карусели с помощью Jetpack Compose
Почему бы не интегрировать увлекательную карусель для демонстрации новых фильмов? В этой статье я расскажу о своей разработке и внедрении кастомной карусели с помощью Compose, а также о различных этапах работы.
Статья: https://levelup.gitconnected.com/animated-carousel-with-jetpack-compose-7406a5a2b246
Платформа: Android
Почему бы не интегрировать увлекательную карусель для демонстрации новых фильмов? В этой статье я расскажу о своей разработке и внедрении кастомной карусели с помощью Compose, а также о различных этапах работы.
Статья: https://levelup.gitconnected.com/animated-carousel-with-jetpack-compose-7406a5a2b246
Платформа: Android
👍2
Reader - мультиплатформенный (iOS и Android) RSS-ридер, сделанный на Kotlin Mutliplatform и Compose Multiplatform. Кроме них из большого есть Ktor, SQLDelight, Decompose и Kotlin-inject.
Reader на GitHub: https://github.com/msasikanth/reader
Платформа: кроссплатформа
⭐️: 85
Reader на GitHub: https://github.com/msasikanth/reader
Платформа: кроссплатформа
⭐️: 85