Используем Ktlint в вашем Android-проекте
Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты? Ktlint поможет вам предотвратить такие явления, предоставляя стандартные правила стилизации и форматирования, которые вы можете легко применить к своему проекту.
Статья: https://apptractor.ru/info/articles/ispolzuem-ktlint-v-vashem-android-proekte.html
Платформа: Android
Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты? Ktlint поможет вам предотвратить такие явления, предоставляя стандартные правила стилизации и форматирования, которые вы можете легко применить к своему проекту.
Статья: https://apptractor.ru/info/articles/ispolzuem-ktlint-v-vashem-android-proekte.html
Платформа: Android
👍1
LocalSend - это бесплатное приложение с открытым исходным кодом, позволяющее безопасно обмениваться файлами и сообщениями с близлежащими устройствами по локальной сети без необходимости подключения к Интернету. LocalSend использует защищенный протокол связи, который позволяет устройствам взаимодействовать друг с другом с помощью REST API. Все данные передаются по протоколу HTTPS, а сертификат TLS/SSL генерируется "на лету" на каждом устройстве, что обеспечивает максимальную безопасность. Приложения сделаны на Flutter и поддерживают Windows, macOS, Linux, Android, iOS и FireOS.
LocalSend на GitHub: https://github.com/localsend/localsend
Платформа: Flutter/кроссплатформа
⭐️: 23K
LocalSend на GitHub: https://github.com/localsend/localsend
Платформа: Flutter/кроссплатформа
⭐️: 23K
❤1
Сравнение производительности Compose и View
Jetpack Compose ускоряет разработку пользовательского интерфейса и в целом улучшает разработку под Android. Однако прежде чем добавлять новый инструмент в проект, обратите внимание на приводимые данные, поскольку фреймворк может повлиять на производительность сборки, размер APK и скорость работы приложения.
Статья: https://apptractor.ru/info/articles/sravnenie-proizvoditelnosti-compose-i-view.html
Платформа: Android
Jetpack Compose ускоряет разработку пользовательского интерфейса и в целом улучшает разработку под Android. Однако прежде чем добавлять новый инструмент в проект, обратите внимание на приводимые данные, поскольку фреймворк может повлиять на производительность сборки, размер APK и скорость работы приложения.
Статья: https://apptractor.ru/info/articles/sravnenie-proizvoditelnosti-compose-i-view.html
Платформа: Android
👍1
Отображение панели выбора фотографий в SwiftUI
Знаете ли вы, что Apple создала способ для SwiftUI получить доступ к фотографиям пользователя, не запрашивая разрешения и при этом сохраняя конфиденциальность? Мы расскажем о том, как это работает и как это можно использовать в собственных проектах.
Статья: https://apptractor.ru/info/articles/otobrazhenie-paneli-vybora-fotografiy-v-swiftui.html
Платформа: iOS
Знаете ли вы, что Apple создала способ для SwiftUI получить доступ к фотографиям пользователя, не запрашивая разрешения и при этом сохраняя конфиденциальность? Мы расскажем о том, как это работает и как это можно использовать в собственных проектах.
Статья: https://apptractor.ru/info/articles/otobrazhenie-paneli-vybora-fotografiy-v-swiftui.html
Платформа: iOS
MaterialTabBar - настраиваемая плавающая панель вкладок с материальным фоном, написанная полностью на SwiftUI.
• TabBarContainer привязывает представления вашего приложения к вкладкам, используя @ViewBuilder.
• TabBarItemPreferenceKey используется для передачи данных от дочерних представлений к родительским.
• matchedGeometryEffect добавляет выборочное выделение элементов в плавающей капсуле.
• symbolEffect добавляет анимацию к значкам при переключении пользователем вкладок.
MaterialTabBar на GitHub: https://github.com/bodhichristian/MaterialTabBar
Платформа: iOS
⭐️: 31
• TabBarContainer привязывает представления вашего приложения к вкладкам, используя @ViewBuilder.
• TabBarItemPreferenceKey используется для передачи данных от дочерних представлений к родительским.
• matchedGeometryEffect добавляет выборочное выделение элементов в плавающей капсуле.
• symbolEffect добавляет анимацию к значкам при переключении пользователем вкладок.
MaterialTabBar на GitHub: https://github.com/bodhichristian/MaterialTabBar
Платформа: iOS
⭐️: 31
10 быстрых советов по повышению качества iOS-кода: часть 2
1. Составляйте интерфейсы из компонентов
2. Переиспользуйте стилизацию с помощью модификаторов представления
3. Включите модульные тесты
4. Обрабатывайте ошибки
5. Документируйте код
6. Перечисления
7. Core Data + SwiftUI
8. Руководство по стилю
9. Инъекция зависимостей
10. Дизайн-система
Статья: https://apptractor.ru/info/articles/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-2.html
Платформа: iOS
1. Составляйте интерфейсы из компонентов
2. Переиспользуйте стилизацию с помощью модификаторов представления
3. Включите модульные тесты
4. Обрабатывайте ошибки
5. Документируйте код
6. Перечисления
7. Core Data + SwiftUI
8. Руководство по стилю
9. Инъекция зависимостей
10. Дизайн-система
Статья: https://apptractor.ru/info/articles/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-2.html
Платформа: iOS
Kaspresso для самых маленьких
Меня зовут Элчин, я занимаюсь автоматизацией тестирования мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Эта статья рассчитана на начинающих тестировщиков, но, возможно, и более опытные коллеги найдут для себя что-то полезное.
Статья: https://habr.com/ru/companies/hh/articles/773910/
Платформа: Android/тестирование
Меня зовут Элчин, я занимаюсь автоматизацией тестирования мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Эта статья рассчитана на начинающих тестировщиков, но, возможно, и более опытные коллеги найдут для себя что-то полезное.
Статья: https://habr.com/ru/companies/hh/articles/773910/
Платформа: Android/тестирование
👍2
Media is too big
VIEW IN TELEGRAM
Twitter UI Clone - клон пользовательского интерфейса Twitter, полностью построенный с помощью Jetpack Compose, вдохновленный недавним внедрением этой технологии в приложение Twitter для Android. Задача состояла в том, чтобы воссоздать пользовательский интерфейс Twitter до мельчайших деталей, и этот проект был выполнен без использования сторонних библиотек. Внутри Jetpack Compose с эффектами, MVVM, Compose Navigation, Material 3.
Twitter UI Clone на GitHub: https://github.com/Mahfoudh-Aggoun/Twitter-UI-clone-jetpack-compose-
Платформа: Android
⭐️: 8
Twitter UI Clone на GitHub: https://github.com/Mahfoudh-Aggoun/Twitter-UI-clone-jetpack-compose-
Платформа: Android
⭐️: 8
👍2
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Оцените подборку в 👍!
•
(iOS En)
Introducing Inferno: Metal shaders for SwiftUI•
(iOS En)
Adding Snapchat-Like Filters to a Video Calling App using SwiftUI•
(iOS En)
Build DALL·E 3 AI WhatsApp Sticker Generator SwiftUI App•
(iOS En)
Building Complex Scroll Animations With New iOS 17 API’s•
(iOS En)
SwiftData Dynamic Sorts and Filters•
(And Ru)
Android Storage: обзор инструментария•
(And En)
Now in Android: 95 - Google Play requirements, Animations in Compose, Passkeys in Android, and more!•
(And En)
How to Build an Animated Splash Screen on Android - The Full Guide•
(And En)
Top 3 Coroutine Cancellation Traps That Lead to Errors In Your Android App•
(And En)
Practical magic with animations in Jetpack Compose•
(Crs En)
Introducing the Flutter Casual Games Toolkit•
(Dev Ru)
GameDev и ОС Аврора. Портирование игры•
(Dev Ru)
Что нового в интерфейсе ОС Аврора 5: управление и паттерны взаимодействия•
(Dev Ru)
Avito Tech Managers meetup #1•
(Dev Ru)
Я прошел собеседования в Google… Как?•
(Dev En)
Master Technical Interviews – Full Course•
(Dsg En)
UI Design Livestream: Team Components, Dos and Donts, Design TipsОцените подборку в 👍!
YouTube
Introducing Inferno: Metal shaders for SwiftUI
Inferno is an open-source collection of Metal shaders built for SwiftUI, adding a variety of special effects and transitions to your projects with ease.
Get the code: gitHub.com/twostraws/Inferno
Watch the video: https://youtu.be/EgzWwgRpUuw
Get the code: gitHub.com/twostraws/Inferno
Watch the video: https://youtu.be/EgzWwgRpUuw
Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
В статье просто расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность.
Статья: https://habr.com/ru/articles/774426/
Платформа: Android
В статье просто расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность.
Статья: https://habr.com/ru/articles/774426/
Платформа: Android
Хабр
Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
Эта статья — оригинальная, а не копипаст и не машинный перевод. При копировании прошу ссылаться. В статье просто расскажу пару случаев из практики анализа защиты приложений Android. Имена и место...
❤1
Capturable - библиотека Jetpack Compose для преобразования Composable контента в растровые изображения. В предыдущей системе с View получение изображений из View было очень простым. Но с Jetpack Compose дело обстоит иначе, поскольку он во многих аспектах отличается от предыдущей системы. Данная библиотека позволяет легко добиться тех же результатов. Она построена на основе ComposeView и использует API View для рисования Bitmap-изображения.
Capturable на GitHub: https://github.com/PatilShreyas/Capturable
Платформа: Android
⭐️: 742
Capturable на GitHub: https://github.com/PatilShreyas/Capturable
Платформа: Android
⭐️: 742
👍1
Программирование на параллельных машинах: GPU, многоядерные вычисления, кластеры и многое другое
Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.
Скачать: https://heather.cs.ucdavis.edu/parprocbook
Платформа: разработка
Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.
Скачать: https://heather.cs.ucdavis.edu/parprocbook
Платформа: разработка
👍1
Листаем цифровые страницы: UIPageViewController
Сегодня я хочу поделиться кратким и простым руководством о том, как просто и программно реализовать UIPageViewController.
Статья: https://habr.com/ru/articles/774108/
Платформа: iOS
Сегодня я хочу поделиться кратким и простым руководством о том, как просто и программно реализовать UIPageViewController.
Статья: https://habr.com/ru/articles/774108/
Платформа: iOS
👍1
AcknowList - экран "Признательности", на котором отображается список лицензий, например, от зависимостей CocoaPods и Swift Package Manager. Может сам загружать список библиотек, поддерживает сториборды, темный режим, локализован на 13 языков, варианты UIKit и SwiftUI.
AcknowList на GitHub: https://github.com/vtourraine/AcknowList
Платформа: iOS
⭐️: 646
AcknowList на GitHub: https://github.com/vtourraine/AcknowList
Платформа: iOS
⭐️: 646
❤1👍1
Умный код — это, вероятно, худший код, который вы можете написать
Умный код труднее читать и он выглядит эзотерическим.
Понятный код труднее писать и он выглядит просто.
Статья: https://apptractor.ru/info/articles/umnyy-kod-eto-veroyatno-hudshiy-kod-kotoryy-vy-mozhete-napisat.html
Платформа: разработка
Умный код труднее читать и он выглядит эзотерическим.
Понятный код труднее писать и он выглядит просто.
Статья: https://apptractor.ru/info/articles/umnyy-kod-eto-veroyatno-hudshiy-kod-kotoryy-vy-mozhete-napisat.html
Платформа: разработка
👍1
Строки в Swift выглядят одинаково, но не являются таковыми?
Недавно я столкнулся с проблемой, которая вызвала у меня недоумение. Две одинаковые строки отличались друг от друга. Как такое может быть?
Рассмотрим следующий код:
Получаем следующий вывод:
Что??
Статья: https://apptractor.ru/info/articles/stroki-v-swift-vyglyadyat-odinakovo-no-ne-yavlyayutsya-takovymi.html
Платформа: iOS
Недавно я столкнулся с проблемой, которая вызвала у меня недоумение. Две одинаковые строки отличались друг от друга. Как такое может быть?
Рассмотрим следующий код:
print("String1: '\(string1)'")
print("String2: '\(string2)'")
print(string1 == string2)
Получаем следующий вывод:
String1: '123456'
String2: '123456'
false
Что??
Статья: https://apptractor.ru/info/articles/stroki-v-swift-vyglyadyat-odinakovo-no-ne-yavlyayutsya-takovymi.html
Платформа: iOS
Exposed - это легковесная SQL-библиотека JetBrains поверх JDBC-драйвера для языка Kotlin. Exposed имеет два варианта доступа к базам данных: типобезопасный SQL-обертка DSL и облегченный Data Access Objects (DAO). Exposed может быть использован для работы с различными движками баз данных, что позволяет создавать приложения, не зависящие от конкретной БД, и переключаться между ними с минимальными изменениями или вообще без них.
Exposed на GitHub: https://github.com/JetBrains/Exposed
Платформа: Android
⭐️: 7.6K
Exposed на GitHub: https://github.com/JetBrains/Exposed
Платформа: Android
⭐️: 7.6K
👍1
Курс "Генеративный ИИ для начинающих" от Microsoft
В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.
Сайт: https://microsoft.github.io/generative-ai-for-beginners/
Платформа: обучение
В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.
Сайт: https://microsoft.github.io/generative-ai-for-beginners/
Платформа: обучение
Пишем Kotlin DSL для графов навигации в домашних условиях
Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.
Статья: https://habr.com/ru/companies/tinkoff/articles/775288/
Платформа: Android
Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.
Статья: https://habr.com/ru/companies/tinkoff/articles/775288/
Платформа: Android
Новые API для адаптивных макетов в Jetpack Compose
Мы выпустили первую альфа-версию наших новых адаптивных макетов Material. В первую очередь мы остановились на компонентах
Статья: https://apptractor.ru/info/articles/novye-api-dlya-adaptivnyh-maketov-v-jetpack-compose.html
Платформа: Android
Мы выпустили первую альфа-версию наших новых адаптивных макетов Material. В первую очередь мы остановились на компонентах
ListDetailPaneScaffold
и NavigationSuiteScaffold
.Статья: https://apptractor.ru/info/articles/novye-api-dlya-adaptivnyh-maketov-v-jetpack-compose.html
Платформа: Android
Отладка представлений SwiftUI: что вызывает изменения?
Представления SwiftUI с большим количеством триггеров перерисовки могут стать проблемой. Каждый
Статья: https://apptractor.ru/info/articles/otladka-predstavleniy-swiftui-chto-vyzyvaet-izmeneniya.html
Платформа: iOS
Представления SwiftUI с большим количеством триггеров перерисовки могут стать проблемой. Каждый
@State
, @ObservedObject
или другой триггер может вызвать перерисовку представления и повлиять на динамику, например, на анимацию. В таких случаях особенно полезно знать, как отладить представление SwiftUI.Статья: https://apptractor.ru/info/articles/otladka-predstavleniy-swiftui-chto-vyzyvaet-izmeneniya.html
Платформа: iOS
👍1