Как создавать мобильные приложения, производительность которых ориентирована на пользователей?
Необходимо использовать и применять:
✏️ полезные метрики;
✏️ показатели эффективности;
✏️ пороговые значения;
✏️ плавность движения и отзывчивость;
✏️ критические показатели;
✏️ правильный учет всех данных.
Подробности сможете найти в материале
#новость
Необходимо использовать и применять:
✏️ полезные метрики;
✏️ показатели эффективности;
✏️ пороговые значения;
✏️ плавность движения и отзывчивость;
✏️ критические показатели;
✏️ правильный учет всех данных.
Подробности сможете найти в материале
#новость
👍2
Поиск неиспользуемого кода в Swift
В любом коде присутствует много 😱 неиспользуемого кода. Он захламляет весь проект, мешает чтению и дебагу.
Существует инструмент, который ставится через brew и можно пользоваться. Запускается оно так: periphery scan и через некоторое время будет виден результат работы.
Подробнее, читайте тут
В любом коде присутствует много 😱 неиспользуемого кода. Он захламляет весь проект, мешает чтению и дебагу.
Существует инструмент, который ставится через brew и можно пользоваться. Запускается оно так: periphery scan и через некоторое время будет виден результат работы.
Подробнее, читайте тут
👍1
Queryable: ML-поиск фотографий на iOS
🔥 Это опенсорсное приложения, работающее на CLIP-модели (Contrastive Language-Image Pre-Training) от OpenAI.
Чтобы с помощью Queryable что-то найти, можно использовать для поиска в галерее фразы на естественном языке, например «девочка и персики». Большой плюс в карму - личные данные никуда не передаются поскольку софт работает в автономном режиме.
А подробнее о приложении можно узнать тут
#новость
🔥 Это опенсорсное приложения, работающее на CLIP-модели (Contrastive Language-Image Pre-Training) от OpenAI.
Чтобы с помощью Queryable что-то найти, можно использовать для поиска в галерее фразы на естественном языке, например «девочка и персики». Большой плюс в карму - личные данные никуда не передаются поскольку софт работает в автономном режиме.
А подробнее о приложении можно узнать тут
#новость
👍3
🎉🎉🎉 Встречайте — Android 14 Beta 4
Beta 4 доступна для поддерживаемых устройств семейства Pixel, что не может не радовать — можно пощупать релиз на разных форм-факторах.
API-интерфейсы и все элементы UI/UX, используемые в приложениях, уже готовы для ознакомления и интеграции в приложения, так что, уже можно выкладывать приложения в Google Play для устройств под управлением Android 14.
Читать
#новость
Beta 4 доступна для поддерживаемых устройств семейства Pixel, что не может не радовать — можно пощупать релиз на разных форм-факторах.
API-интерфейсы и все элементы UI/UX, используемые в приложениях, уже готовы для ознакомления и интеграции в приложения, так что, уже можно выкладывать приложения в Google Play для устройств под управлением Android 14.
Читать
#новость
👍3
🐇 Как проводить успешные переговоры: 3 правила активного слушания
Разбираемся, как избежать факапа на важных переговорах.
Читать
Разбираемся, как избежать факапа на важных переговорах.
Читать
👍1
😎 Очередной #дайджест полезных статей по мобильной разработке:
Отслеживание запуска Android-приложения в продакшене — о способах отслеживания запуска, метриках и показателях.
История о legacy codebase — что делать с устаревшим кодом и техниками в проекте.
Работа с HTTP-запросами в Swift — прекрасная библиотека с набором представлений для HTTP-запросов и ответов.
Динамическое создание кортежей и рефакторинг дженериков с помощью Swift’s Parameter Packs — видос о том, как parameter packs могут помочь создавать переменное количество generic-параметров и кортежей.
Как собрать iOS-фреймворк из исходных файлов на Kotlin — тут все понятно
Мультиплатформенная загрузка изображений: Coil 3.0 — это следующая крупная итерация Coil, которая фокусируется на поддержке мультиплатформенности Kotlin.
Отслеживание запуска Android-приложения в продакшене — о способах отслеживания запуска, метриках и показателях.
История о legacy codebase — что делать с устаревшим кодом и техниками в проекте.
Работа с HTTP-запросами в Swift — прекрасная библиотека с набором представлений для HTTP-запросов и ответов.
Динамическое создание кортежей и рефакторинг дженериков с помощью Swift’s Parameter Packs — видос о том, как parameter packs могут помочь создавать переменное количество generic-параметров и кортежей.
Как собрать iOS-фреймворк из исходных файлов на Kotlin — тут все понятно
Мультиплатформенная загрузка изображений: Coil 3.0 — это следующая крупная итерация Coil, которая фокусируется на поддержке мультиплатформенности Kotlin.
🔥1
Недавно был проведен опрос, в котором приняли участие 3000 человек, и выяснилось, что большая часть опрошенных работает больше нормы — 54%, а 35% россиян не жалуются на переработки.
А как у вас с переработками/задержками? Оплачиваются ли они?
Anonymous Poll
16%
Постоянно так делаю и не оплачивают
25%
Никогда не работаю больше, а если заставляют - увольняюсь
24%
Конечно оплачивают! Стоимость часа выше обычного в 2 раза
20%
Приходится перерабатывать т.к. не успеваю ничего
14%
Оплачивают?!!! Вы о чем вообще?!!!
Как создать Callback, используя Async Stream в Swift
🤲🤲🤲 В Swift Concurrency есть несколько мощных компонентов. Одним из них является AsyncStream, специализированная форма AsyncSequence, которая хорошо подходит для создания callback-ов.
В статье разбирается пример того, как AsyncStream можно использовать для отслеживания хода выполнения загрузки.
Приступим!
🤲🤲🤲 В Swift Concurrency есть несколько мощных компонентов. Одним из них является AsyncStream, специализированная форма AsyncSequence, которая хорошо подходит для создания callback-ов.
В статье разбирается пример того, как AsyncStream можно использовать для отслеживания хода выполнения загрузки.
Приступим!
Вопрос по Kotlin
#вопросы_с_собеседований
Что такое нелокальный return?
...............................................................................................................
Это механизм, который позволяет выйти из внешней функции или лямбда-выражения и вернуться к вызывающему коду, обходя оставшуюся часть текущей функции.
Есть нюансы работы:
В не-inline функциях:
Если внутри функции есть лямбда-выражение, non-local return из лямбда-выражения может привести к нелокальному завершению внешней функции.
Для использования non-local return внутри лямбда-выражения в не-inline функции, необходимо использовать метку (label) и оператор return@label.
В inline-функциях:
В inline-функциях, лямбда-выражения становятся частью кода функции и имеют локальный контроль над потоком управления.
Оператор return внутри лямбда-выражения в inline-функции приведет только к завершению самого лямбда-выражения, не влияя на внешнюю функцию.
#вопросы_с_собеседований
Что такое нелокальный return?
...............................................................................................................
Это механизм, который позволяет выйти из внешней функции или лямбда-выражения и вернуться к вызывающему коду, обходя оставшуюся часть текущей функции.
Есть нюансы работы:
В не-inline функциях:
Если внутри функции есть лямбда-выражение, non-local return из лямбда-выражения может привести к нелокальному завершению внешней функции.
Для использования non-local return внутри лямбда-выражения в не-inline функции, необходимо использовать метку (label) и оператор return@label.
В inline-функциях:
В inline-функциях, лямбда-выражения становятся частью кода функции и имеют локальный контроль над потоком управления.
Оператор return внутри лямбда-выражения в inline-функции приведет только к завершению самого лямбда-выражения, не влияя на внешнюю функцию.
👍4
💪 Очень занятный материал о параметрах Push-уведомлений в Swift UI.
Присутствует немного воды, но автор постарался 💪
Рассматриваются: запросы на Push-уведомления, параметры Alert Push Notification, Badge Push Notification и еще парочка; упомянута даже обработка ошибок и подробный разбор каждого параметра. Рекомендуем 🧑🎓
Читать
Присутствует немного воды, но автор постарался 💪
Рассматриваются: запросы на Push-уведомления, параметры Alert Push Notification, Badge Push Notification и еще парочка; упомянута даже обработка ошибок и подробный разбор каждого параметра. Рекомендуем 🧑🎓
Читать
👍1
HTML5-игры в игровой библиотеке нового поколения
Яндекс Игры запустил «Игроток»: выглядит как аналог бесконечной ленты с короткими видео, только вместо видео — игры. При свайпе вверх появляется новая игра: получается непрерывный поток игрового контента, который подстраивается под вкусы пользователей.
Предполагаем, что такой формат может привлечь новых пользователей и изменить процесс потребления игр — он станет таким же привычным, как и потребление контента в социальных сетях.
#новость
Яндекс Игры запустил «Игроток»: выглядит как аналог бесконечной ленты с короткими видео, только вместо видео — игры. При свайпе вверх появляется новая игра: получается непрерывный поток игрового контента, который подстраивается под вкусы пользователей.
Предполагаем, что такой формат может привлечь новых пользователей и изменить процесс потребления игр — он станет таким же привычным, как и потребление контента в социальных сетях.
#новость
🔥2
🤔 Как и когда использовать изолированные классы в Kotlin и Android
Автор на примерах кода кратко и понятно объяснил, что такое закрытые классы в Kotlin, когда и как их использовать.
Изолированные классы/ интерфейсы представляют собой тип, который ограничен определенными значениями и только этими значениями. Наследники такого класса могут иметь разные параметры, но все равно принадлежать к одному и тому же типу.
Читать
Автор на примерах кода кратко и понятно объяснил, что такое закрытые классы в Kotlin, когда и как их использовать.
Изолированные классы/ интерфейсы представляют собой тип, который ограничен определенными значениями и только этими значениями. Наследники такого класса могут иметь разные параметры, но все равно принадлежать к одному и тому же типу.
Читать
😎 Очередной #дайджест полезных статей по мобильной разработке:
🔹 Делаем эмулятор Android через Terminal: пошаговое руководство — о том, как создать эмулятор Android с помощью GUI Android Studio и командной строки на macOS.
🔹 Now in Android: 86 — новое и примечательное из мира Android-разработки.
🔹 MVI Compose Multiplatform — создание приложения со списком контактов на Compose Multiplatform.
🔹 Как управлять состоянием во Flutter-приложении с помощью State Groups — все, что вам нужно знать 😉
🔹 Становимся iOS-lite разработчиком — о том, что нужно для повышения квалификации.
🔹 RadialGradient в SwiftUI — процесс создания радиального градиента в SwiftUI
🔹 Делаем эмулятор Android через Terminal: пошаговое руководство — о том, как создать эмулятор Android с помощью GUI Android Studio и командной строки на macOS.
🔹 Now in Android: 86 — новое и примечательное из мира Android-разработки.
🔹 MVI Compose Multiplatform — создание приложения со списком контактов на Compose Multiplatform.
🔹 Как управлять состоянием во Flutter-приложении с помощью State Groups — все, что вам нужно знать 😉
🔹 Становимся iOS-lite разработчиком — о том, что нужно для повышения квалификации.
🔹 RadialGradient в SwiftUI — процесс создания радиального градиента в SwiftUI
🔥1
✏️✏️ Если вам необходимы инструменты для дебаггинга iOS-приложений — держите статью.
Вас ждут нативные и сторонние инструменты, доступные для отладки iOS-приложений, как ими пользоваться и когда применять.
Перейти к статье
#новость
Вас ждут нативные и сторонние инструменты, доступные для отладки iOS-приложений, как ими пользоваться и когда применять.
Перейти к статье
#новость
🔥3
🤔 Интересен ли вам вопрос, как устроено подписывание iOS-приложений?
Автор видоса, как раз рассказывает об этом, а еще, и какое шифрование использует в процессе.
Переходим, смотрим
Автор видоса, как раз рассказывает об этом, а еще, и какое шифрование использует в процессе.
Переходим, смотрим
🔥2