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
OpenAI API client for Kotlin - клиент для API OpenAI с возможностями мультиплатформенной работы и корутинами. Может работать со множеством режимов - дополнение, чатом, редактирование, генерацией изображений и т.п. В исходниках есть пример готового приложения.
OpenAI API client for Kotlin на GitHub: https://github.com/aallam/openai-kotlin
Платформа: Android (напомню, что есть такое и для Swift - вот, например)
⭐️: 714
OpenAI API client for Kotlin на GitHub: https://github.com/aallam/openai-kotlin
Платформа: Android (напомню, что есть такое и для Swift - вот, например)
⭐️: 714
GitHub
GitHub - aallam/openai-kotlin: OpenAI API client for Kotlin with multiplatform and coroutines capabilities.
OpenAI API client for Kotlin with multiplatform and coroutines capabilities. - aallam/openai-kotlin
👍3
Самоучитель программирования Dart для абсолютных новичков
В этом 8-часовом курсе мы погрузимся в язык программирования Dart. Этот курс разработан таким образом, чтобы его могли пройти начинающие программисты, программисты с опытом кодирования на каком-либо другом языке и вообще не программисты. Flutter использует Dart и позволяет создавать приложения для iOS, Android, Web и Desktop с единой кодовой базой. Таким образом, важно освоить Dart, прежде чем переходить к Flutter.
Видео: https://www.youtube.com/watch?v=Fqcsow_7go4
Платформа: программирование
В этом 8-часовом курсе мы погрузимся в язык программирования Dart. Этот курс разработан таким образом, чтобы его могли пройти начинающие программисты, программисты с опытом кодирования на каком-либо другом языке и вообще не программисты. Flutter использует Dart и позволяет создавать приложения для iOS, Android, Web и Desktop с единой кодовой базой. Таким образом, важно освоить Dart, прежде чем переходить к Flutter.
Видео: https://www.youtube.com/watch?v=Fqcsow_7go4
Платформа: программирование
YouTube
Dart Programming Tutorial For Absolute Beginners | Master Dart In 8 Hours | Flutter Tutorial Pt 1
In this 8 hour course, we are going to dive into the Dart programming language. This course is designed such that beginners, programmers with coding experience in some other language and non programmers are able to follow along. Flutter uses Dart and allows…
❤1
Как протестировать компонент навигации в Jetpack Compose?
Тестирование важно для гарантии того, что ваш код ведет себя так, как ожидается, и для повышения качества вашего проекта путем выявления ошибок на ранних стадиях процесса разработки. В этой статье мы узнаем, как протестировать компонент Navigation в Jetpack Compose.
Статья: https://medium.com/huawei-developers/how-to-test-the-navigation-component-in-jetpack-compose-1ab4ccaba761
Платформа: Android
Тестирование важно для гарантии того, что ваш код ведет себя так, как ожидается, и для повышения качества вашего проекта путем выявления ошибок на ранних стадиях процесса разработки. В этой статье мы узнаем, как протестировать компонент Navigation в Jetpack Compose.
Статья: https://medium.com/huawei-developers/how-to-test-the-navigation-component-in-jetpack-compose-1ab4ccaba761
Платформа: Android
Medium
How to Test the Navigation Component in Jetpack Compose?
In this article, we will learn how to test the Jetpack Navigation component.
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS Ru)
Музыка в iOS приложениях: подводные камни при разработке•
(iOS En)
CocoaHeadsNL Meetup: 25 May 2023•
(iOS En)
Result Builders in Action: Simplifying HTML Generation in Swift•
(iOS En)
SwiftUI PreferenceKeys•
(iOS En)
Basic Physics in RealityKit: Roll-A-Ball game•
(iOS En)
3 tips to write BETTER Swift code•
(And Ru)
Ускоряем написание кода•
(And En)
Studio Bot - Android Developers Backstage•
(And En)
New Jetpack Compose BasicTextField2•
(And En)
Full Guide to Nested Navigation Graphs in Jetpack Compose•
(And En)
How to Build a Home Screen Widget in Jetpack Compose with Glance•
(Mlt En)
Create a game with libGDX•
(Mlt En)
Multiplatform Secrets with Philipp Lackner•
(Mlt En)
Самоучитель программирования Dart для абсолютных новичков•
(Dev Ru)
Состояние дел в Fuchsia•
(Dev Ru)
Доступность для всех•
(Dev Ru)
It is fine или как эффективно выгореть•
(Dev Ru)
Podlodka #321: SQLПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
Музыка в iOS приложениях: подводные камни при разработке
Разработка функциональности, связанной с аудио, таит в себе много неожиданных кейсов, которые либо отнимут приличное количество вашего времени, либо обернутся большим негативом от пользователей. Екатерина Батеева (Одноклассники) расскажет, как в ее команде…