Quick - behavior-driven фреймворк тестирования для Swift и Objective-C. Quick помогает вам проверить, как ведет себя ваш код в приложении, сравнивая то, что вы ожидаете от приложения, с тем, что получаете.
Quick на GitHub: https://github.com/Quick/Quick
Платформа: iOS
⭐️: 9.7K
Quick на GitHub: https://github.com/Quick/Quick
Платформа: iOS
⭐️: 9.7K
Портирование Graphing Calculator с C++ на Swift
Стоило ли мое время портирования на Swift? Мне понравилось изучать Swift, и теперь я намного больше доволен состоянием кода. Писать на Swift — сплошное удовольствие. С 80-х я намеревался в конечном итоге открыть исходный код. Когда я решил сделать это с кодовой базой C++, я понял, что это не будет полезным вкладом из-за накопившегося за десятилетия технического долга, делающего код C++ непригодным для сопровождения. Теперь я уверен, что новый код можно превратить в полезные автономные пакеты Swift для математических выражений, редактирования, числовых и символьных вычислений и построения графиков.
Статья: https://apptractor.ru/info/articles/portirovanie-graphing-calculator-s-c-na-swift.html
Платформа: iOS
Стоило ли мое время портирования на Swift? Мне понравилось изучать Swift, и теперь я намного больше доволен состоянием кода. Писать на Swift — сплошное удовольствие. С 80-х я намеревался в конечном итоге открыть исходный код. Когда я решил сделать это с кодовой базой C++, я понял, что это не будет полезным вкладом из-за накопившегося за десятилетия технического долга, делающего код C++ непригодным для сопровождения. Теперь я уверен, что новый код можно превратить в полезные автономные пакеты Swift для математических выражений, редактирования, числовых и символьных вычислений и построения графиков.
Статья: https://apptractor.ru/info/articles/portirovanie-graphing-calculator-s-c-na-swift.html
Платформа: iOS
Я хочу запускать любое количество Android UI тестов на каждом PR
Серия из 5 статей от Евгения Мацюка, который решает проблему автоматизации тестирования. Сам Евгений работает в Marathon Labs, которая как раз работает на тестовым облаком, так что он сравнивает все доступные решения и заодно продвигает свою платформу.
Статья: https://proandroiddev.com/i-want-to-run-any-number-of-android-ui-tests-on-each-pr-your-actions-part-i-40d694c7d641
Платформа: Android
Серия из 5 статей от Евгения Мацюка, который решает проблему автоматизации тестирования. Сам Евгений работает в Marathon Labs, которая как раз работает на тестовым облаком, так что он сравнивает все доступные решения и заодно продвигает свою платформу.
Статья: https://proandroiddev.com/i-want-to-run-any-number-of-android-ui-tests-on-each-pr-your-actions-part-i-40d694c7d641
Платформа: Android
👍2
AnkiDroid - полуофициальный порт на Android системы карточек Anki для интервального повторения. Есть ночной режим, вайтборд, виджет прогресса, статистика, синхронизация с AnkiWeb, text-to-speech, более 6000 готовых колод карточек, 2 алгоритма повторения, добавление новых карточек на основе интентов.
AnkiDroid на GitHub: https://github.com/ankidroid/Anki-Android
Платформа: Android
⭐️: 6.5K
AnkiDroid на GitHub: https://github.com/ankidroid/Anki-Android
Платформа: Android
⭐️: 6.5K
Kotlin Multiplatform и Compose Multiplatform — стратегический провал Apple
Kotlin Multiplatform (KMP) и Compose Multiplatform (CM) представляют собой одну из последних попыток решить эти проблемы. Вместе они представляют собой яркую надежду для менеджмента…
А для Apple они представляют собой крупный стратегический провал высшего порядка.
Статья: https://apptractor.ru/info/articles/kotlin-compose-multiplatform.html
Платформа: кроссплатформа
Kotlin Multiplatform (KMP) и Compose Multiplatform (CM) представляют собой одну из последних попыток решить эти проблемы. Вместе они представляют собой яркую надежду для менеджмента…
А для Apple они представляют собой крупный стратегический провал высшего порядка.
Статья: https://apptractor.ru/info/articles/kotlin-compose-multiplatform.html
Платформа: кроссплатформа
🤡6🤣1
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS Ru)
SwiftUI vs UIKit. Что выбрать новичку?•
(iOS En)
visionOS Fundamentals•
(iOS En)
SwiftUI Menu and Context Menu: How to Show Buttons with Dropdown Lists•
(iOS En)
SwiftUI Presentations with Modals, Bottom Sheets, and FullScreen cover in iOS•
(iOS En)
MatchedGeometryEffect in SwiftUI•
(And Ru)
Android TextView freezesText — замораживаем текст в Android-приложении•
(And Ru)
Что внутри Android SDK•
(And En)
Top 3 things to know from Google Play at Google I/O '2•
(And En)
Technical quality on Google Play•
(And En)
What is the Context? - Android Basics 2023•
(And En)
ViewModels & Configuration Changes - Android Basics 2023•
(And En)
The Art of App Modularization•
(Dev Ru)
Podlodka #323: выбираем язык конфигураций — YAML, TOML или DhallПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
SwiftUI vs UIKit. Что выбрать новичку?
Не пропустите это информативное руководство по выбору и начните свое путешествие в мир мобильной разработки с правильной основой!
👍1
iOS Starter Kit - бесконечный набор примеров для изучающих язык Swift. От самых простых примеров до архитектуры и полезных фишек.
iOS Starter Kit на GitHub: https://github.com/jrasmusson/ios-starter-kit
Платформа: iOS
⭐️: 793
iOS Starter Kit на GitHub: https://github.com/jrasmusson/ios-starter-kit
Платформа: iOS
⭐️: 793
GitHub
GitHub - jrasmusson/ios-starter-kit: A starter kit for those interested in iOS programming
A starter kit for those interested in iOS programming - jrasmusson/ios-starter-kit
🔥2
Осознанная оптимизация Compose
Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.
Статья: https://habr.com/ru/companies/ozontech/articles/742854/
Платформа: Android
Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.
Статья: https://habr.com/ru/companies/ozontech/articles/742854/
Платформа: Android
👍2
Императивный UIKit vs Декларативный SwiftUI
Цель статьи - помочь разработчикам приложений для iOS понять различия между императивным и декларативным подходами к программированию, а также рассмотреть плюсы и минусы фреймворков UIKit и SwiftUI. Знакомство с ними необходимо для оптимизации процесса разработки и создания продукта высокого качества.
Статья: https://habr.com/ru/companies/ozontech/articles/742750/
Платформа: iOS
Цель статьи - помочь разработчикам приложений для iOS понять различия между императивным и декларативным подходами к программированию, а также рассмотреть плюсы и минусы фреймворков UIKit и SwiftUI. Знакомство с ними необходимо для оптимизации процесса разработки и создания продукта высокого качества.
Статья: https://habr.com/ru/companies/ozontech/articles/742750/
Платформа: iOS
Flagfit - это мощная, легкая библиотека, предназначенная для превращения ваших функциональных флагов в простые в управлении интерфейсы Kotlin. Будь вы небольшим стартапом или крупной компанией, вы найдете универсальность и простоту Flagfit полезными для вашего цикла разработки программного обеспечения.
Интегрировав Flagfit в свой рабочий процесс разработки, вы сможете:
1. Эффективно управлять развертыванием функций: включать и выключать новые функции без деплоя нового кода, обеспечивая гибкость при тестировании, итерациях и выпуске в своем собственном темпе.
2. Проводить A/B-тестирование: легко создавать и управлять несколькими версиями вашего приложения для проведения экспериментов и принятия решений на основе данных.
3. Снижать риски: постепенно внедрять функции для подмножества пользователей, чтобы минимизировать влияние потенциальных ошибок или проблем.
Кроме того, Flagfit предоставляет набор надежных инструментов для создания собственных источников флагов, асинхронной выборки флагов с помощью Kotlin Coroutines, пользовательских аннотаций и многого другого.
Flagfit на GitHub: https://github.com/abema/flagfit
Платформа: Android
⭐️: 72
Интегрировав Flagfit в свой рабочий процесс разработки, вы сможете:
1. Эффективно управлять развертыванием функций: включать и выключать новые функции без деплоя нового кода, обеспечивая гибкость при тестировании, итерациях и выпуске в своем собственном темпе.
2. Проводить A/B-тестирование: легко создавать и управлять несколькими версиями вашего приложения для проведения экспериментов и принятия решений на основе данных.
3. Снижать риски: постепенно внедрять функции для подмножества пользователей, чтобы минимизировать влияние потенциальных ошибок или проблем.
Кроме того, Flagfit предоставляет набор надежных инструментов для создания собственных источников флагов, асинхронной выборки флагов с помощью Kotlin Coroutines, пользовательских аннотаций и многого другого.
Flagfit на GitHub: https://github.com/abema/flagfit
Платформа: Android
⭐️: 72
GitHub
GitHub - abema/flagfit: A Flexible Flag client for Android and Kotlin
A Flexible Flag client for Android and Kotlin. Contribute to abema/flagfit development by creating an account on GitHub.
Google запустил обучающий курс по генеративному ИИ
Программа состоит из 10 учебных потоков.
1. Введение в генеративный ИИ
2. Введение в большие языковые модели
3. Введение в ответственный ИИ
4. Основы генеративного ИИ
5. Введение в генерацию изображений
6. Архитектура Кодер-декодер
7. Механизм внимания
8. Модели Transformer и модель BERT
9. Создание моделей описания изображений
10. Введение в Generative AI Studio
Желательно иметь начальный уровень владения Python и знание Tensorflow.
Подробнее: https://apptractor.ru/learn/google-zapustil-obuchayuschiy-kurs-po-generativnomu-ii.html
Платформа: обучение
Программа состоит из 10 учебных потоков.
1. Введение в генеративный ИИ
2. Введение в большие языковые модели
3. Введение в ответственный ИИ
4. Основы генеративного ИИ
5. Введение в генерацию изображений
6. Архитектура Кодер-декодер
7. Механизм внимания
8. Модели Transformer и модель BERT
9. Создание моделей описания изображений
10. Введение в Generative AI Studio
Желательно иметь начальный уровень владения Python и знание Tensorflow.
Подробнее: https://apptractor.ru/learn/google-zapustil-obuchayuschiy-kurs-po-generativnomu-ii.html
Платформа: обучение
👍1
Как самому научиться Android-разработке
Андрей Белоус разрабатывает мобильные приложения уже больше 6 лет. В 2021 году занял 3 место на чемпионате Яндекса по мобильной разработке с 5000 участниками, а сейчас работает Senior Android Developer в Лондоне. До мобильной разработки он успел поработать программистом 1С и отучиться на сварщика в универе. А потом сам научился разрабатывать мобильные приложения, не потратив на это ни рубля. С ним мы поговорили о том, как самостоятельно стать Android-разработчиком.
Интервью: https://apptractor.ru/info/interview/kak-samomu-nauchitsya-android-razrabotke.html
Платформа: Android/обучение
Андрей Белоус разрабатывает мобильные приложения уже больше 6 лет. В 2021 году занял 3 место на чемпионате Яндекса по мобильной разработке с 5000 участниками, а сейчас работает Senior Android Developer в Лондоне. До мобильной разработки он успел поработать программистом 1С и отучиться на сварщика в универе. А потом сам научился разрабатывать мобильные приложения, не потратив на это ни рубля. С ним мы поговорили о том, как самостоятельно стать Android-разработчиком.
Интервью: https://apptractor.ru/info/interview/kak-samomu-nauchitsya-android-razrabotke.html
Платформа: Android/обучение
👍5
ReSwift - это Redux-подобная реализация архитектуры однонаправленного потока данных в Swift. ReSwift поможет вам разделить три важных аспекта компонентов вашего приложения:
• Состояния: в приложении ReSwift все состояния приложения хранится в явном виде в структуре данных. Это помогает избежать сложного кода управления состояниями, обеспечивает более простую отладку и имеет много других преимуществ.
• Представления: в приложении ReSwift ваши представления обновляются при изменении состояния. Ваши представления становятся простой визуализацией текущего состояния приложения.
• Изменения состояния: вы можете изменять состояние только с помощью действий. Действия - это небольшие фрагменты данных, которые описывают изменение состояния. Радикально ограничив способы изменения состояния, ваше приложение становится более понятным, и с ним легче работать в команде.
Библиотека ReSwift крошечная, что позволяет быстро погрузиться в код и понять каждую строчку.
ReSwift на GitHub: https://github.com/ReSwift/ReSwift
Статья о потоках: Реализация Unidirectional Data Flow в супераппе
Платформа: iOS
⭐️: 7.4K
• Состояния: в приложении ReSwift все состояния приложения хранится в явном виде в структуре данных. Это помогает избежать сложного кода управления состояниями, обеспечивает более простую отладку и имеет много других преимуществ.
• Представления: в приложении ReSwift ваши представления обновляются при изменении состояния. Ваши представления становятся простой визуализацией текущего состояния приложения.
• Изменения состояния: вы можете изменять состояние только с помощью действий. Действия - это небольшие фрагменты данных, которые описывают изменение состояния. Радикально ограничив способы изменения состояния, ваше приложение становится более понятным, и с ним легче работать в команде.
Библиотека ReSwift крошечная, что позволяет быстро погрузиться в код и понять каждую строчку.
ReSwift на GitHub: https://github.com/ReSwift/ReSwift
Статья о потоках: Реализация Unidirectional Data Flow в супераппе
Платформа: iOS
⭐️: 7.4K
Изнутри: Swift макрос — #Preview
Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко создавать превью для своих View, чтобы визуально оценить, как они выглядят и взаимодействуют.
Статья: https://habr.com/ru/companies/ozontech/articles/744216/
Платформа: iOS
Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко создавать превью для своих View, чтобы визуально оценить, как они выглядят и взаимодействуют.
Статья: https://habr.com/ru/companies/ozontech/articles/744216/
Платформа: iOS
Хабр
Изнутри: Swift макрос — #Preview
Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко...
This media is not supported in your browser
VIEW IN TELEGRAM
Dropbox переделал поиск на 40% быстрее с помощью Jetpack Compose
После внедрения Compose разработчики Dropbox переписали множество функций приложения, включая домашний экран, предварительный просмотр файлов и поиск. Поиск в Dropbox был полностью переделан всего за несколько недель, что на 40% меньше, чем ожидалось, и меньше половины времени, которое потребовалось на создание аналогичной функции для iOS.
Статья: https://android-developers.googleblog.com/2023/06/dropbox-rebuilt-search-experience-faster-with-jetpack-compose.html
Платформа: Android
После внедрения Compose разработчики Dropbox переписали множество функций приложения, включая домашний экран, предварительный просмотр файлов и поиск. Поиск в Dropbox был полностью переделан всего за несколько недель, что на 40% меньше, чем ожидалось, и меньше половины времени, которое потребовалось на создание аналогичной функции для iOS.
Статья: https://android-developers.googleblog.com/2023/06/dropbox-rebuilt-search-experience-faster-with-jetpack-compose.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
TranslationPlugin - плагин для IntelliJ/Android Studio IDE для перевода текста. Поддерживает несколько переводчиков, может переводить сразу на несколько языков, переводить целые документы, работать со словарями, автоматически переводить документацию и т.п.
TranslationPlugin на GitHub: https://github.com/YiiGuxing/TranslationPlugin
Платформа: Android
⭐️ : 10.1K
TranslationPlugin на GitHub: https://github.com/YiiGuxing/TranslationPlugin
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка статей про снижение времени запуска
• Официальное руководство Apple
• Как мы сократили время запуска нашего iOS-приложения на 60%
• Как 5 приложений для iOS могут сократить время запуска в среднем на 28%
• Измерение задержки старта iOS-приложений в масштабе Uber
• Официальное руководство Google
• Как мы снизили время запуска FullStory на Android на 75%
• Как мы сократили время запуска Android-приложения на 77%
• Как один Android-разработчик за месяц сократил время запуска приложения Lyft 21%
Платформа: iOS/Android
• Официальное руководство Apple
• Как мы сократили время запуска нашего iOS-приложения на 60%
• Как 5 приложений для iOS могут сократить время запуска в среднем на 28%
• Измерение задержки старта iOS-приложений в масштабе Uber
• Официальное руководство Google
• Как мы снизили время запуска FullStory на Android на 75%
• Как мы сократили время запуска Android-приложения на 77%
• Как один Android-разработчик за месяц сократил время запуска приложения Lyft 21%
Платформа: iOS/Android
Apple Developer Documentation
Reducing your app’s launch time | Apple Developer Documentation
Create a more responsive experience with your app by minimizing time spent in startup.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Создание часов в Jetpack Compose с помощью Canvas
В этой статье я объясню, как мы можем реализовать это с помощью API Compose Canvas. Я также расскажу о математических концепциях, связанных с вычислением координат на окружности и рисованием фигур и текста вокруг этих координат. Многие из используемых здесь формул были получены методом проб и ошибок, поэтому их понимание поначалу может оказаться сложным. Однако я буду упрощать объяснения с помощью диаграмм, чтобы облегчить их понимание. Надеюсь, вам понравится читать эту статью.
Статья: https://proandroiddev.com/crafting-a-clock-with-canvas-9b1ad430da72
Платформа: Android
В этой статье я объясню, как мы можем реализовать это с помощью API Compose Canvas. Я также расскажу о математических концепциях, связанных с вычислением координат на окружности и рисованием фигур и текста вокруг этих координат. Многие из используемых здесь формул были получены методом проб и ошибок, поэтому их понимание поначалу может оказаться сложным. Однако я буду упрощать объяснения с помощью диаграмм, чтобы облегчить их понимание. Надеюсь, вам понравится читать эту статью.
Статья: https://proandroiddev.com/crafting-a-clock-with-canvas-9b1ad430da72
Платформа: Android
❤3
Mapbox Maps SDK для iOS - это открытая библиотека для отображения интерактивных кастомизируемых карт в iOS. Она принимает стили карт, применяет их к векторным плиткам и отображает их с помощью Metal. Есть отдельные библиотеки для построения маршрутов, поиска локаций. То же самое и для Android.
Mapbox Maps SDK iOS на GitHub: https://github.com/mapbox/mapbox-maps-ios
Платформа: iOS
⭐️: 322
Mapbox Maps SDK iOS на GitHub: https://github.com/mapbox/mapbox-maps-ios
Платформа: iOS
⭐️: 322
Обзор библиотек для скриншот-тестирования Android проектов
Меня зовут Олег Осипенко и эта статья является развитием моего доклада, посвященного опыту внедрения скриншот-тестирования, который я презентовал на прошедшей недавно в Екатеринбурге конференции DUMP. Отдельную часть доклада я посвятил разбору имеющихся библиотек, но, будучи ограничен временными рамками доклада, я не мог подробно остановиться на их особенностях. И сейчас я хотел бы восполнить это упущение. К тому же уже после доклада я нашел еще 2 новых библиотеки в дополнение к тем 5, что я упоминал в своем выступлении.
Статья: https://habr.com/ru/articles/744796/
Платформа: Android
Меня зовут Олег Осипенко и эта статья является развитием моего доклада, посвященного опыту внедрения скриншот-тестирования, который я презентовал на прошедшей недавно в Екатеринбурге конференции DUMP. Отдельную часть доклада я посвятил разбору имеющихся библиотек, но, будучи ограничен временными рамками доклада, я не мог подробно остановиться на их особенностях. И сейчас я хотел бы восполнить это упущение. К тому же уже после доклада я нашел еще 2 новых библиотеки в дополнение к тем 5, что я упоминал в своем выступлении.
Статья: https://habr.com/ru/articles/744796/
Платформа: Android
Хабр
Обзор библиотек для скриншот-тестирования Android проектов. Часть 1
Практика скриншот-тестирования получает все большее распространение в сфере андроид-разработки, одним из свидетельств чего можно считать появление всё новых библиотек. Меня зовут Олег Осипенко и...