Мобильная разработка
前往频道在 Telegram
@haarrp - admin @itchannels_telegram - 🔥лучшие ит-каналы @javascriptv - продвинутый javascript @JavaScript_testit- js тесты @programming_books_it - бесплатные it книги @ai_machinelearning_big_data - ml
显示更多3 881
订阅者
-224 小时
-97 天
-4830 天
帖子存档
3 882
30 проектов и библиотек для Flutter-разработчиков
В этой статье — подборка полезных репозиториев GitHub и проектов, которые могут помочь начинающим в изучении Flutter, а более опытным разработчикам найти полезные библиотеки для проектов:
https://www.theinsaneapp.com/2023/03/best-flutter-github-repositories.html
#flutter
3 882
Архитектурная секция на собеседованиях
Команда мобильной разработки Яндекс 360 записала пример прохождения архитектурной секции в Яндекс. В интервью участвуют руководитель технического управления сервисами Виктор Брыксин, а в роли кандидата — руководитель мобильной разработки Михаил Буравлев.
В тестовом задании нужно было спроектировать абстрактное мобильное приложение для медитаций: с отдельным экраном для списка треков, возможностью воспроизведения аудиозаписей, упрощённым календарём и пуш-уведомлениями. После этого нужно было поработать с требованиями, архитектурой и API, а также показать ход мысли и защитить свои решения.
Забирайте наглядный пример прохождения секции!
Смотреть на Youtube
Смотреть в ВК
3 882
Задача с LeetCode по Swift
Описание: Дана строка s. Вернуть длину самой длинной подстроки, которая содержит не более двух различных символов.
Пример:
Input: s = «eceba» Output: 3 Explanation: The substring is «ece» which its length is 3.Алгоритм: 1. Вернуть N, если длина строки N меньше 3. 2. Установить оба указателя в начало строки: left = 0 и right = 0, и инициализировать максимальную длину подстроки max_len = 2. 3. Пока указатель right меньше N: Если хеш-таблица содержит менее 3 различных символов, добавить текущий символ s[right] в хеш-таблицу и сдвинуть указатель right вправо. Если хеш-таблица содержит 3 различных символа, удалить самый левый символ из хеш-таблицы и сдвинуть указатель left так, чтобы скользящее окно содержало только 2 различных символа. Обновить max_len. Решение:
func lengthOfLongestSubstringTwoDistinct(_ s: String) -> Int {
let n = s.count
if n < 3 { return n }
let chars = Array(s)
var left = 0
var right = 0
var hashmap = [Character: Int]()
var max_len = 2
while right < n {
hashmap[chars[right]] = right
right += 1
if hashmap.count == 3 {
let del_idx = hashmap.values.min()!
hashmap.removeValue(forKey: chars[del_idx])
left = del_idx + 1
}
max_len = max(max_len, right - left)
}
return max_len
}3 882
Disk — хранение структур, изображений и данных
Disk — это крутая мощная библиотека управления файлами, созданная с учетом рекомендаций Apple по хранению данных в iOS. Disk максимально эффективно использует новый протокол Codable, представленный в Swift 4, и дает вам возможность сохранять структуры, не заботясь о кодировании/декодировании. Disk также помогает сохранять изображения и другие типы данных на диск всего одной строкой кода.
Github
3 882
Repost from Java
🖥 Курс по основам программирования на Kotlin
Kotlin — современный язык программирования от Google, который упрощает процесс разработки и повышает безопасность кода.
Сохраните себе этот курс, посвященный основам программирования на Kotlin. В нём рассматриваются ключевые концепции, такие как типы данных, операторы, переменные, условные выражения, циклы, массивы и функции. Этот вводный курс идеально подходит для новичков или тех, у кого есть минимальный опыт программирования.
Курс
#java #курс
@javatg
3 882
Убираем M из MVVM в SwiftUI
Я так часто сталкиваюсь с этим вопросом, что наконец-то хочу написать о нем. Это не будет длинный пост об архитектуре iOS-приложений, и это даже не будет провокационный быстрый комментарий. Это просто то, как я создаю iOS-приложения в эти дни, особенно Ice Cubes, мой SwiftUI клиент Mastodon с открытым исходным кодом. Если вы достаточно хорошо инкапсулируете свой код, ваши View — это просто представления состояний, не меньше и не больше.
https://blog.stackademic.com/removing-the-m-from-mvvm-with-swiftui-a58b239e9e3e
#ios
3 882
🍏 Apple опубликовал новую открытую библиотеку гомоморфного шифрования
Компания Apple объявила о создании открытой библиотеки с реализацией методов гомоморфного шифрования на языке Swift.
Библиотека позволяет создавать приложения, обрабатывающие данные, доступные только в зашифрованном виде, без промежуточной расшифровки ни на одном из этапов вычислений. На выходе выдаётся зашифрованный результат, который аналогичен шифрованию результата выполнения тех же вычислений над исходными незашифрованными данными.
Код проекта распространяется под лицензией Apache 2.0. Реализация основана на схеме BFV (Brakerski-Fan-Vercauteren), которая, в свою очередь, основана на задаче обучения с ошибками в кольце (RLWE), защищённой от криптоанализа квантовыми компьютерами. Низкоуровневые примитивы для шифрования используются из библиотеки Swift Crypto.
Работа с данными при гомоморфном шифровании сводится к тому, что пользователь шифрует данные и без раскрытия ключей передаёт для обработки на внешний сервер. Сервер выполняет заявленные вычисления и формирует зашифрованный результат, не имея возможности определить с какими именно данными он работает.
Пользователь при помощи своих ключей расшифровывает выданные данные и получает результат в открытом виде. Гомоморфное шифрование может применяться в облачных сервисах для конфиденциальных вычислений, реализациях систем электронного голосования, организации работы с зашифрованными данными в СУБД и конфиденциальной тренировке систем машинного обучения.
В инфраструктуре Apple реализованная система применяется для конфиденциальной проверки "Caller ID" - пользователь передаёт на сервер Apple зашифрованный номер телефона, а сервер, без его расшифровки, проверяет наличие номера в чёрных списках для блокирования спама или базах данных с информацией о принадлежности номеров. В отличие от типовых схем конфиденциальной проверки ключа без его раскрытия серверу, в которых сервер передаёт клиенту всю БД, а клиент осуществляет проверку на своей стороне, применение гомоморфного шифрования позволяет ограничиться передачей на сторону клиента лишь небольшой порции метаданных.
Подобный подход позволяет организовать проверку в очень больших БД, которые не могут быть переданы на сторону клиента. Код серверной части для организации подобных проверок опубликован под лицензией Apache 2.0.
▪Github
@mobdevelop
3 882
🔝Топ 5 крутых плагинов для Android Studio
1. Kotlin Fill Class — крутейший плагин, который делает разработку намного более приятной и быстрой. С его помощью вы можете заполнять классы и функции на лету.
2. ADB Idea — это полезное дополнение к ADB, которое вы можете запустить с помощью всплывающего окна.
3. Android Drawable Preview — с помощью этого крутого плагина вы больше не заблудитесь, так как в нем отображаются небольшие предварительные изображения всех значков внутри каталога.
4. Key Promotex X — инструмент, который поможет вам освоить основные сочетания клавиш во время работы. Когда вы нажимаете мышью на кнопку в среде IDE, Key Promoter X показывает сочетание клавиш, которое вы должны были использовать вместо этого.
5. IdeaVim — это Vim в Android Studio. Вы можете настроить его по своему вкусу с помощью файла .ideavimrc в вашем домашнем каталоге, как если бы вы использовали .vimrc.
@mobdevelop
3 882
🍏 Большая коллекция инструментов для iOS-разработчиков
Каждому разработчику необходим набор инструментов, которые помогут решать самые сложные задачи. В этой подборке вы найдете множество полезных утилит для аналитики, отладки, локализации, машинного обучения и многого другого.
Изучайте, сохраняйте пост в избранное и возвращайтесь к нему, когда понадобится:
📌 Ссылка на коллекцию инструментов
@mobdevelop
3 882
SweetPad: разрабатываем Swift/iOS-приложений на VSCode
Авторы проекта хотят сделать VSCode жизнеспособной альтернативой Xcode для разработки под iOS, интегрировав в VSCode swift-format, swiftlint, xcodebuild, xcrun, xcode-build-server и sourcekit-lsp.
Сейчас в SweetPad уже работает автодополнение кода, сборка, запуск и отладка приложения, форматирование кода, управление симуляторами, управление инструментами.
Исходники на гитхабе: https://github.com/sweetpad-dev/sweetpad
#ios
3 882
+1
📱 Вышла 3 бета-версия Android 15 с улучшениями для автономности, ИИ и конфиденциальности
С состоявшимся на днях выпуском Android 15 Beta 3 ОС получила статус Platform Stability — это значит, что API для разработчиков и связанное с приложениями поведение платформы меняться больше не будут, а ориентированные на Android 15 программные продукты уже могут выпускаться в Google Play.
Третья бета-версия Android 15 открывает новые возможности работы с медиаданными и ИИ, возможности использовать нестандартные формфакторы устройств; повышены эффективность аккумуляторов и стабильность работы приложений, повысились конфиденциальность и безопасность пользователей — и всё это коснулось разных линеек устройств.
При входе в учётные записи в оптимизированных для Android 15 приложений основным способом авторизации стали ключи доступа с защитой через биометрию или код блокировки — при его отклонении система предложит альтернативные варианты входа; все доступные варианты покажет системная клавиатура или выпадающие списки в полях ввода учётных данных. Сторонние разработчики смогут обращаться к системному механизму аутентификации.
Компонент Android WebView лишился поддержки WebSQL — параметры setDatabaseEnabled и getDatabaseEnabled считаются устаревшими. Ранее технология WebSQL была удалена из Chrome, теперь она перестанет работать в Android WebView. В ближайшие 12 месяцев эти методы будут деактивированы во всех версиях Android.
Google также призвала разработчиков обратить внимание на несколько важных технических нововведений Android 15. В частности, изменилось поведение состояния пакета FLAG_STOPPED: приложения сохраняют статус остановленных до тех пор, пока пользователь их не запустит или не осуществит с ними косвенное взаимодействие. Система также получила поддержку страниц памяти размером 16 кбайт — если при разработке приложения использовались инструменты Android Native Development Kit (NDK), которые открывают доступ к физическим компонентам устройства, то такие приложения придётся перекомпилировать с учётом поддержки страниц размером 16 кбайт. В Android 15 появилась функция «Личное пространство» (Private Space) — пространство на устройстве, в котором можно под дополнительным уровнем аутентификации хранить конфиденциальные приложения.
📎 Подробнее
@android_its
3 882
ComposeLevitation: эффект левитации для элементов UI
ComposeLevitation — это мощная библиотека Compose, которая предоставляет вам возможность легко создавать и настраивать эффекты левитации, добавляя интерактивный штрих к элементам пользовательского интерфейса. Умеет реагировать на жесты нажатия и перетаскивания, полностью настраиваема, можно сделать голографический эффект.
https://github.com/GIGAMOLE/ComposeLevitation
#Android
@mobdevelop
3 882
🖥🖥 Дроиды и питоны: как работать с ADB быстрее и проще
У нас вышла новая статья, в которой рассматривается как работать с ADB через python.
Если вы — разработчик или тестировщик приложений для Android, просто обычный программист или юзер — то вы попали по адресу.
Перед тем как начать, стоит понять, почему именно Python.
Python — один из моих любимых языков программирования. Простой и читаемый синтаксис, в последних версиях наблюдается увеличение оптимизации и производительности, а также добавления разных фич — например в Python 3.10 была добавления конструкция match-case.
https://habr.com/ru/articles/821781/
@DevOPSitsec
3 882
🖥🖥 Дроиды и питоны: как работать с ADB быстрее и проще
У нас вышла новая статья, в которой рассматривается как работать с ADB через python.
Если вы — разработчик или тестировщик приложений для Android, просто обычный программист или юзер — то вы попали по адресу.
Перед тем как начать, стоит понять, почему именно Python.
Python — один из моих любимых языков программирования. Простой и читаемый синтаксис, в последних версиях наблюдается увеличение оптимизации и производительности, а также добавления разных фич — например в Python 3.10 была добавления конструкция match-case.
https://habr.com/ru/articles/821781/
@mobdevelop
3 882
Последняя неделя регистрации на Yandex BDUI Conf! 🎉
22 июня Яндекс проведёт большую конференцию для мобильных разработчиков по BDUI
Вместе со спикерами из Яндекса, Яндекс Маркета, Авито, X5 Tech и ВСК будем разбираться, как с помощью бэкенда сделать красивые и функциональные приложения. В программе:
— 2 трека с докладами: продуктовый и инфраструктурный;
— активности от Яндекс Маркета с подарками;
— экскурсия по офису Яндекса на «Парке культуры»;
— афтерпати с нетворкингом и музыкой.
Зарегистрироваться можно на сайте конференции. Она пройдёт 22 июня в Москве в «Экстрополисе». Если не получится присутствовать очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
3 882
\\ Загрузчик файлов на основе WorkManager ⏲
Мощная, настраиваемая библиотека загрузчика файлов для Android, полностью построенная на Kotlin. Она упрощает процесс загрузки файлов в Android-приложениях, используя возможности WorkManager. Ketch гарантирует загрузку независимо от состояния приложения.
😎 Преимущества:
- Может загружать файлы любого типа
- Предоставляет всю информацию о загрузке
- Обеспечивает наблюдаемый поток загружаемых элементов
- Может загружать несколько файлов параллельно
Ссылка на GitHub 💻
3 882
+7
⚡️Руководитель команд разработки и один из разработчиков мобильного приложения Яндекс Карт рассказали, как они росли вместе с проектом. Подробнее в карточках.
Хотите так же? Это возможно 💯
Команда мобильной разработки Карт и Навигатора расширяется, и мы ищем:
➡️iOS-разработчика
#Москва #Белград #iOS
Что вы будете делать: участвовать в разработке мобильного приложения для iOS, глубоко прорабатывать задачи команды, совершенствовать процессы и инфраструктуру разработки.
➡️Android-разработчика
#Москва #Android
Что вы будете делать: участвовать в разработке мобильного приложения для Android, помогать расширять возможности существующих сценариев и создавать новые.
Приходите, будем расти вместе💪
Реклама. ООО "Яндекс", ИНН 7736207543.
3 882
Главные новости с презентации Apple
https://habr.com/ru/news/820833/
@machinelearning_ru
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
