Внедрение электронной цифровой подписи в мобильное приложение на Android
Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика.
Статья: https://habr.com/ru/companies/ppr/articles/855314/
Платформа: Android
Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика.
Статья: https://habr.com/ru/companies/ppr/articles/855314/
Платформа: Android
Хабр
Внедрение электронной цифровой подписи в мобильное приложение на Android
Привет, Хабр! Сегодня мы хотим поделиться решением интересной и новой для нас задачи: нужно встроить поддержу ЭЦП в мобильное приложение заказчика. Основные принципы и тезисы Электронная цифровая...
👍2❤1
Как я писал суперкастомизированное Android-приложение в 2024 году
В начале года у меня появилась прикольная идея: сделать Android-приложение, которое будет показывать анимации для алгоритмов сортировки.
Статья: https://habr.com/ru/companies/ruvds/articles/851256/
Платформа: Android
В начале года у меня появилась прикольная идея: сделать Android-приложение, которое будет показывать анимации для алгоритмов сортировки.
Статья: https://habr.com/ru/companies/ruvds/articles/851256/
Платформа: Android
👍5
Ultraviolence - декларативный фреймворк для рендеринга Metal в Swift.
Metal - невероятно мощный API, но имеет репутацию сложного в работе. В основном потому, что это низкоуровневый API, требующий кучи шаблонного кода для того, чтобы запустить что-то базовое. С другой стороны, такие фреймворки, как SceneKit и RealityKit, предлагают высокоуровневые абстракции, которые упрощают 3D-рендеринг, но могут быть ограничены, когда вам нужно больше контроля.
Ultraviolence (пока это только рабочее название) будет стремиться найти баланс между этими крайностями. Он предоставит декларативный API, вдохновленный SwiftUI, который будет прост в использовании, но при этом даст вам низкоуровневый контроль, когда это необходимо.
Ultraviolence на GitHub: https://github.com/schwa/Ultraviolence
Платформа: iOS
⭐️: 22
Metal - невероятно мощный API, но имеет репутацию сложного в работе. В основном потому, что это низкоуровневый API, требующий кучи шаблонного кода для того, чтобы запустить что-то базовое. С другой стороны, такие фреймворки, как SceneKit и RealityKit, предлагают высокоуровневые абстракции, которые упрощают 3D-рендеринг, но могут быть ограничены, когда вам нужно больше контроля.
Ultraviolence (пока это только рабочее название) будет стремиться найти баланс между этими крайностями. Он предоставит декларативный API, вдохновленный SwiftUI, который будет прост в использовании, но при этом даст вам низкоуровневый контроль, когда это необходимо.
Ultraviolence на GitHub: https://github.com/schwa/Ultraviolence
Платформа: iOS
⭐️: 22
❤1
Диалог — часть навигации или нет?
Недавно я начал разработку собственной библиотеки для UI-навигации на Kotlin Multiplatform. Создать решение, которое бы удовлетворяло все творческие задумки дизайнеров и продуктовых менеджеров, оказалось задачей непростой. Поэтому я решил делиться концепцией и функциональными возможностями библиотеки еще на стадии разработки, чтобы получать обратную связь от коллег-разработчиков.
Одной из обсуждаемых тем стало: «Следует ли диалог отображаться через навигацию и сохраняться как часть истории пользовательской навигации?» Мой ответ: «Это зависит от того, что именно мы подразумеваем под диалогом».
Меня зовут Кирилл Розов, и в этой статье я расскажу, что я понимаю под диалогом в Material Design и как, на мой взгляд, стоит работать с ними в системе навигации.
Статья: https://habr.com/ru/articles/854988/
Платформа: Android
Недавно я начал разработку собственной библиотеки для UI-навигации на Kotlin Multiplatform. Создать решение, которое бы удовлетворяло все творческие задумки дизайнеров и продуктовых менеджеров, оказалось задачей непростой. Поэтому я решил делиться концепцией и функциональными возможностями библиотеки еще на стадии разработки, чтобы получать обратную связь от коллег-разработчиков.
Одной из обсуждаемых тем стало: «Следует ли диалог отображаться через навигацию и сохраняться как часть истории пользовательской навигации?» Мой ответ: «Это зависит от того, что именно мы подразумеваем под диалогом».
Меня зовут Кирилл Розов, и в этой статье я расскажу, что я понимаю под диалогом в Material Design и как, на мой взгляд, стоит работать с ними в системе навигации.
Статья: https://habr.com/ru/articles/854988/
Платформа: Android
👍1
Как использовать URLSession с Async/Await для сетевых запросов в Swift
URLSession позволяет выполнять сетевые запросы и становится еще более мощным благодаря API async/await. Вы можете запросить данные с целевого URL и спарсить их в декодированную структуру перед отображением в представлении.
Популярные фреймворки, такие как Alamofire, стремятся упростить выполнение запросов, но для многих приложений можно обойтись и без сторонних решений. В этой статье мы расскажем об основах выполнения API-запросов и декодирования JSON-данных с помощью Swift Concurrency.
Статья: https://apptractor.ru/info/articles/kak-ispolzovat-urlsession-s-async-await-dlya-setevyh-zaprosov-v-swift.html
Платформа: iOS
URLSession позволяет выполнять сетевые запросы и становится еще более мощным благодаря API async/await. Вы можете запросить данные с целевого URL и спарсить их в декодированную структуру перед отображением в представлении.
Популярные фреймворки, такие как Alamofire, стремятся упростить выполнение запросов, но для многих приложений можно обойтись и без сторонних решений. В этой статье мы расскажем об основах выполнения API-запросов и декодирования JSON-данных с помощью Swift Concurrency.
Статья: https://apptractor.ru/info/articles/kak-ispolzovat-urlsession-s-async-await-dlya-setevyh-zaprosov-v-swift.html
Платформа: iOS
Talaiot - это расширяемая библиотека, предназначенная для команд, использующих систему сборки Gradle. Она записывает продолжительность сборок/задач, помогая понять проблемы и обнаружить узкие места. Для каждой записи она добавляет дополнительную информацию, определяемую стандартными или пользовательскими метриками.
Talaiot совместим с различными системами, такими как InfluxDb, Elasticsearch или RethinkDb. Для работы с Talaiot необходимо использовать плагины. Вы можете использовать стандартные, включающие всю функциональность, или, если у вас есть специфические требования, создать свой плагин.
Talaiot на GitHub: https://github.com/cdsap/Talaiot
Платформа: Android
⭐️: 588
Talaiot совместим с различными системами, такими как InfluxDb, Elasticsearch или RethinkDb. Для работы с Talaiot необходимо использовать плагины. Вы можете использовать стандартные, включающие всю функциональность, или, если у вас есть специфические требования, создать свой плагин.
Talaiot на GitHub: https://github.com/cdsap/Talaiot
Платформа: Android
⭐️: 588
👍2
Поющий молится дважды или пишем приложение в помощь хористу
Как обычно со мной бывает, работа скорее представляет собой что-то вроде proof of concept. Несмотря на достаточное количество автоматизации, здесь по-прежнему требуется много ручного вмешательства (краудсорсинг?), а также в источнике представлены далеко не все страницы оригинальной книги, например, фрагменты литургии на латинском языке. Так или иначе, теперь это хотя бы можно скачать и пощупать, а также покопаться в исходниках при желании. Конструктивная критика горячо приветствуется.
Статья: https://habr.com/ru/articles/856330/
Платформа: Android
Как обычно со мной бывает, работа скорее представляет собой что-то вроде proof of concept. Несмотря на достаточное количество автоматизации, здесь по-прежнему требуется много ручного вмешательства (краудсорсинг?), а также в источнике представлены далеко не все страницы оригинальной книги, например, фрагменты литургии на латинском языке. Так или иначе, теперь это хотя бы можно скачать и пощупать, а также покопаться в исходниках при желании. Конструктивная критика горячо приветствуется.
Статья: https://habr.com/ru/articles/856330/
Платформа: Android
👍2
Лучшая работа с Android Studio: 5 советов
В этой статье вы узнаете о некоторых из самых полезных и продуктивных фич в Android Studio.
Статья: https://apptractor.ru/develop/ide/luchshaya-rabota-s-android-studio-5-sovetov.html
Платформа: Android
В этой статье вы узнаете о некоторых из самых полезных и продуктивных фич в Android Studio.
Статья: https://apptractor.ru/develop/ide/luchshaya-rabota-s-android-studio-5-sovetov.html
Платформа: Android
👍2
17.webm
227.3 KB
Искрящаяся переливающаяся кнопка с помощью Metal и SwiftUI
Для эффектов свечения и пульсации мы изучим и применим шейдерные эффекты SwiftUI. Когда облако частиц будет реализовано, мы копнем немного глубже и создадим вычислительный конвейер с помощью Metal.
Статья: https://apptractor.ru/info/articles/iskryaschayasya-perelivayuschayasya-knopka-s-pomoschyu-metal-i-swiftui.html
Платформа: iOS
Для эффектов свечения и пульсации мы изучим и применим шейдерные эффекты SwiftUI. Когда облако частиц будет реализовано, мы копнем немного глубже и создадим вычислительный конвейер с помощью Metal.
Статья: https://apptractor.ru/info/articles/iskryaschayasya-perelivayuschayasya-knopka-s-pomoschyu-metal-i-swiftui.html
Платформа: iOS
open_floating_popup.gif
21.9 MB
LNPopupUI - это библиотека SwiftUI для показа представлений в виде попапов, как в приложениях Apple Music и Podcasts.
Библиотека расширяет SwiftUI View новой функциональностью для представления всплывающих окон с содержимым, а также для их настройки и установки информации, такой как заголовок всплывающей панели, изображение и элементы кнопок панели. При представлении всплывающей панели она автоматически адаптируется к представлению, на котором она была показана, для обеспечения наилучшего внешнего вида.
LNPopupUI на GitHub: https://github.com/LeoNatan/LNPopupUI
Платформа: iOS
⭐️: 359
Библиотека расширяет SwiftUI View новой функциональностью для представления всплывающих окон с содержимым, а также для их настройки и установки информации, такой как заголовок всплывающей панели, изображение и элементы кнопок панели. При представлении всплывающей панели она автоматически адаптируется к представлению, на котором она была показана, для обеспечения наилучшего внешнего вида.
LNPopupUI на GitHub: https://github.com/LeoNatan/LNPopupUI
Платформа: iOS
⭐️: 359
Управление памятью в ассемблере для Apple Silicon
В статье мы познакомимся с языком ассемблера для Apple Silicon (ARM64). Рассмотрим основные регистры, запись данных из регистров в память и обратно. Затронем также и базовые навыки работы с LLDB.
Статья: https://habr.com/ru/articles/852874/
Платформа: iOS
В статье мы познакомимся с языком ассемблера для Apple Silicon (ARM64). Рассмотрим основные регистры, запись данных из регистров в память и обратно. Затронем также и базовые навыки работы с LLDB.
Статья: https://habr.com/ru/articles/852874/
Платформа: iOS
👍2🤯1
Обзор решений описания и обновления state экрана в Сompose
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
👍1
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) SDK и BDUI в Яндекс Пэй и Яндекс Банке•
(iOS En) Master Xcode 16: Essential Navigation Shortcuts for Faster Coding•
(iOS En) Custom TextField Menu Actions•
(iOS En) Optional View Modifiers•
(And Ru) 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!•
(And En) Now in Android: 111 - Android API level and schedule updates, Gemini in Android Studio, Google Play•
(And En) Subtyping Composables•
(And En) How Compose Compiler Plugin Works•
(Crs En) Unpacking Compose Multiplatform Accessibility•
(Dev Ru) Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder•
(Dev Ru) ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность•
(Dev Ru) Мобильная ферма: тесты мобильных приложений без телефона и эмулятора•
(Dev Ru) AIOps — grafana, observability, aiops, ai•
(Dev En) Build and Deploy a RAG Chatbot•
(Dev En) AI Foundations Course – Python, Machine Learning, Deep Learning, Data Science#ios #android #mobile #video
👍1
Lumolight - это приложение-фонарик с открытым исходным кодом, которое может работать как экраном, так и с задней вспышкой. Приложение разработано на основе системы дизайна Material You, поддерживает как светлые, так и темные темы, а также поддерживает динамическое тематическое оформление и разные настройки для свечения.
Lumolight на GitHub: https://github.com/BitMavrick/Lumolight
Платформа: Android
⭐️: 9
Lumolight на GitHub: https://github.com/BitMavrick/Lumolight
Платформа: Android
⭐️: 9
App Intents: новые возможности для разработчиков в iOS 18
Эта статья поможет узнать, что такое App Intents и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения. А еще я расскажу об обновлениях фреймворка App Intents, представленных на WWDC24.
Статья: https://habr.com/ru/companies/kts/articles/857078/
Платформа: iOS
Эта статья поможет узнать, что такое App Intents и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения. А еще я расскажу об обновлениях фреймворка App Intents, представленных на WWDC24.
Статья: https://habr.com/ru/companies/kts/articles/857078/
Платформа: iOS
Обзор решений описания и обновления state экрана в Сompose
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.
Статья: https://habr.com/ru/companies/sberbank/articles/856544/
Платформа: Android
Mockolo - это эффективный генератор моков для Swift. Swift не поддерживает мокирование, а Mockolo предоставляет быстрый и простой способ автогенерации mock-объектов, которые можно тестировать в коде. Одна из главных целей Mockolo - высокая производительность. В отличие от других фреймворков, Mockolo обеспечивает высокопроизводительную и масштабируемую генерацию mock-объектов с помощью легковесного инструмента командной строки, поэтому его можно запускать как часть линтера или сборки, если вы захотите это сделать. Попробуйте Mockolo и улучшите тестовое покрытие вашего проекта эффективным и производительным способом.
Mockolo на GitHub: https://github.com/uber/mockolo
Платформа: iOS
⭐️: 823
Mockolo на GitHub: https://github.com/uber/mockolo
Платформа: iOS
⭐️: 823
Как силами мобильных разработчиков автоматизировать процесс разработки
Меня зовут Женя Мельцайкин, я старший инженер-программист в компании Контур. Большую часть времени в Контуре я работал и работаю Android-разработчиком, но статья будет не про Android и даже не про мобильную разработку. А про команду Мобильной разработки в Контуре и про наши процессы разработки! Давайте же начнем разбираться, причем тут мобильные разработчики, автоматизация и бэкенд.
Статья: https://habr.com/ru/companies/skbkontur/articles/856374/
Платформа: разработка
Меня зовут Женя Мельцайкин, я старший инженер-программист в компании Контур. Большую часть времени в Контуре я работал и работаю Android-разработчиком, но статья будет не про Android и даже не про мобильную разработку. А про команду Мобильной разработки в Контуре и про наши процессы разработки! Давайте же начнем разбираться, причем тут мобильные разработчики, автоматизация и бэкенд.
Статья: https://habr.com/ru/companies/skbkontur/articles/856374/
Платформа: разработка
Начинаем работу с LiteRT (Tensorflow Lite)
Недавно Google переименовал TensorflowLite в LiteRT. И да, это был действительно гениальный ход. Потому что теперь впервые в жизни я действительно хочу попробовать TFLite... да, я имею в виду LiteRT.
В реальном мире вы в идеале должны думать как обычный ML-разработчик и начинать с поиска набора данных, который затем используется для обучения модели. А затем, в качестве следующего шага, вы бы придумали проблему, которую можно решить с помощью обученной модели.
Но в этом эксперименте мы не будем усложнять ситуацию и построим «Hello World» во вселенной машинного обучения с упражнением «Собаки против кошек».
Статья: https://apptractor.ru/info/articles/nachinaem-rabotu-s-litert-tensorflow-lite.html
Платформа: iOS
Недавно Google переименовал TensorflowLite в LiteRT. И да, это был действительно гениальный ход. Потому что теперь впервые в жизни я действительно хочу попробовать TFLite... да, я имею в виду LiteRT.
В реальном мире вы в идеале должны думать как обычный ML-разработчик и начинать с поиска набора данных, который затем используется для обучения модели. А затем, в качестве следующего шага, вы бы придумали проблему, которую можно решить с помощью обученной модели.
Но в этом эксперименте мы не будем усложнять ситуацию и построим «Hello World» во вселенной машинного обучения с упражнением «Собаки против кошек».
Статья: https://apptractor.ru/info/articles/nachinaem-rabotu-s-litert-tensorflow-lite.html
Платформа: iOS
🔥2👍1
LibreSudoku - приложение для игры в судоку с открытым исходным кодом, разработанное для максимально удобного использования и кастомизации. Создано с помощью Jetpack Compose и Material3.
LibreSudoku на GitHub: https://github.com/kaajjo/LibreSudoku
Платформа: Android
⭐️: 385
LibreSudoku на GitHub: https://github.com/kaajjo/LibreSudoku
Платформа: Android
⭐️: 385
Все, что вам нужно знать об Android на Raspberry Pi
В этой статье мы расскажем:
• 4 причины, по которым вам стоит использовать Android на Raspberry Pi
• Где взять Android для Raspberry Pi?
• Какой выбрать?
• Перспективы на будущее
Статья: https://medium.com/paradox-cat-tech-hub/android-on-raspberry-pi-aa4b8eea72c6
Платформа: Android
В этой статье мы расскажем:
• 4 причины, по которым вам стоит использовать Android на Raspberry Pi
• Где взять Android для Raspberry Pi?
• Какой выбрать?
• Перспективы на будущее
Статья: https://medium.com/paradox-cat-tech-hub/android-on-raspberry-pi-aa4b8eea72c6
Платформа: Android