Графика с использованием Jetpack Compose
В играх, приложениях для рисования или диаграмм порой требуется графика. Если вам нужен простой элемент, то его можно создать с помощью Jetpack Compose. В этом руководстве рассматривается, как использовать Graphics API с Сanvas:
— создание простых и более сложных фигур,
— отображение текста с помощью Paint,
— работа с объектами:
Подробнее:
https://www.kodeco.com/34506480-graphics-using-jetpack-compose
#compose
В играх, приложениях для рисования или диаграмм порой требуется графика. Если вам нужен простой элемент, то его можно создать с помощью Jetpack Compose. В этом руководстве рассматривается, как использовать Graphics API с Сanvas:
— создание простых и более сложных фигур,
— отображение текста с помощью Paint,
— работа с объектами:
Подробнее:
https://www.kodeco.com/34506480-graphics-using-jetpack-compose
#compose
TaskGroup: обработка ошибок в Swift
Механизм TaskGroup используется для запуска n-го числа дочерних задач и позволяет обрабатывать некоторые действия, например, распространение отмены. Группы бывают двух типов:
— withThrowingTaskGroup (пробрасывающие ошибки),
— withTaskGroup (предназначен для случаев, когда ошибки не выдаются).
В этой статье автор рассматривает 2 примера использования TaskGroup. В первом случае нужно остановить группу, как только произошла ошибка, и отменить всю оставшуюся работу. В другом случае рассматривается игнорирование любых ошибок в дочерних задачах и получение информации о задачах, которые были успешными:
https://augmentedcode.io/2023/03/06/taskgroup-error-handling-in-swift/
#ios
Механизм TaskGroup используется для запуска n-го числа дочерних задач и позволяет обрабатывать некоторые действия, например, распространение отмены. Группы бывают двух типов:
— withThrowingTaskGroup (пробрасывающие ошибки),
— withTaskGroup (предназначен для случаев, когда ошибки не выдаются).
В этой статье автор рассматривает 2 примера использования TaskGroup. В первом случае нужно остановить группу, как только произошла ошибка, и отменить всю оставшуюся работу. В другом случае рассматривается игнорирование любых ошибок в дочерних задачах и получение информации о задачах, которые были успешными:
https://augmentedcode.io/2023/03/06/taskgroup-error-handling-in-swift/
#ios
Kotlin: Null-безопасность и 3 подводных камня
Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?
В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:
https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62
#kotlin #android
Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?
В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:
https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62
#kotlin #android
Самые частые ошибки начинающих iOS-разработчиков
Александра Башкирова, старший код-ревьюер на курсе «iOS-разработчик» в Яндекс Практикуме, разбирает несколько популярных ошибок, которые допускают новички.
Например, ошибки в вёрстке, избыточные force unwrapping, неправильное использование switch и guard. Также автор рассказывает к чему приводят эти ошибки и как их избежать:
https://habr.com/ru/company/yandex_praktikum/blog/722812/
#ios
Александра Башкирова, старший код-ревьюер на курсе «iOS-разработчик» в Яндекс Практикуме, разбирает несколько популярных ошибок, которые допускают новички.
Например, ошибки в вёрстке, избыточные force unwrapping, неправильное использование switch и guard. Также автор рассказывает к чему приводят эти ошибки и как их избежать:
https://habr.com/ru/company/yandex_praktikum/blog/722812/
#ios
Руководство по Google Play Review API
Review API позволяет создать диалог с отзывом и оценкой пользователя, что может быть полезно для повышения рейтинга приложения. В этом видеоуроке, автор подробно рассматривает все шаги по реализации данного функционала для любого приложения:
https://youtu.be/NgQ5_QnoJb8
#android
Review API позволяет создать диалог с отзывом и оценкой пользователя, что может быть полезно для повышения рейтинга приложения. В этом видеоуроке, автор подробно рассматривает все шаги по реализации данного функционала для любого приложения:
https://youtu.be/NgQ5_QnoJb8
#android
This media is not supported in your browser
VIEW IN TELEGRAM
Как реализовать пользовательский ввод для Android Wear OS
Если вы запрашиваете ввод от пользователя на устройстве Wear OS, вы можете предложить ему сопутствующее приложение для телефона, но если это невозможно, можно запросить ввод текста или смайликов непосредственно с часов, используя встроенные инструменты IME.
В этой статье рассматривается пример того, как стандартные методы ввода могут быть реализованы с помощью RemoteInput API:
https://proandroiddev.com/typing-on-a-tiny-screen-e7601e846118
#wearos
Если вы запрашиваете ввод от пользователя на устройстве Wear OS, вы можете предложить ему сопутствующее приложение для телефона, но если это невозможно, можно запросить ввод текста или смайликов непосредственно с часов, используя встроенные инструменты IME.
В этой статье рассматривается пример того, как стандартные методы ввода могут быть реализованы с помощью RemoteInput API:
https://proandroiddev.com/typing-on-a-tiny-screen-e7601e846118
#wearos
Анимация приветствия от Apple
Наверняка вы видели популярную Macintosh анимацию «hello». К сожалению, в SwiftUI нет встроенной функции для достижения такого эффекта, поэтому герою статьи пришлось создавать всё с нуля:
https://tprg.ru/sgBH
А ещё делится интересным инструментом, который преобразует SVG в SwiftUI. Есть некоторые недостатки, но их можно доработать.
#ios
Наверняка вы видели популярную Macintosh анимацию «hello». К сожалению, в SwiftUI нет встроенной функции для достижения такого эффекта, поэтому герою статьи пришлось создавать всё с нуля:
https://tprg.ru/sgBH
А ещё делится интересным инструментом, который преобразует SVG в SwiftUI. Есть некоторые недостатки, но их можно доработать.
#ios
Как программисту сохранить зрение?
В 1999 году появилось понятие компьютерного зрительного синдрома. Основные формы: синдром сухого глаза и хронического утомления. Если вы длительно работаете за компьютером, то вы тоже можете быть в зоне риска.
Действительно, сейчас есть 4K мониторы, крутые очки, но усталость глаз рано или поздно может появиться у каждого. Собрали 7 крутых советов для программистов, которые помогут сберечь зрение:
https://tproger.ru/articles/7-prostyh-sovetov-dlja-programmista-kotorye-sberegut-ego-zrenie/
#it #здоровье
В 1999 году появилось понятие компьютерного зрительного синдрома. Основные формы: синдром сухого глаза и хронического утомления. Если вы длительно работаете за компьютером, то вы тоже можете быть в зоне риска.
Действительно, сейчас есть 4K мониторы, крутые очки, но усталость глаз рано или поздно может появиться у каждого. Собрали 7 крутых советов для программистов, которые помогут сберечь зрение:
https://tproger.ru/articles/7-prostyh-sovetov-dlja-programmista-kotorye-sberegut-ego-zrenie/
#it #здоровье
«Обновляю ссылку один месяц, или лёгких задач не бывает»
На Хабре вышла статья, где разработчики iOS-приложения Додо Пиццы рассказывают про скриншот-тесты. С помощью этих тестов можно быстро проверить, что вёрстка на экранах случайно никуда не поплыла.
Одна проблема: точность сравнения отличается на Intel и на Apple Silicon. Грустная история в мемах, как команда решила полностью использовать официальную версию библиотеки swift-snapshot-testing для скриншот-тестов — в статье:
https://habr.com/ru/company/dododev/blog/722354/
#ios
На Хабре вышла статья, где разработчики iOS-приложения Додо Пиццы рассказывают про скриншот-тесты. С помощью этих тестов можно быстро проверить, что вёрстка на экранах случайно никуда не поплыла.
Одна проблема: точность сравнения отличается на Intel и на Apple Silicon. Грустная история в мемах, как команда решила полностью использовать официальную версию библиотеки swift-snapshot-testing для скриншот-тестов — в статье:
https://habr.com/ru/company/dododev/blog/722354/
#ios
KMM: переход из Dagger & Hilt в kotlin-inject
Kotlin-inject — это библиотека для внедрения зависимостей похожая на Koin. Koin, действительно, более популярен, но, по мнению автора статьи, есть 2 главных недостатка:
— Compile-time safety,
— Различия с Dagger-API. Kotlin-inject написан полностью на Kotlin, поэтому проще в использовании, чем Koin.
В этой статье рассматривается пример перехода от Dagger и Hilt к kotlin-inject. Также автор подробно объясняет все плюсы использования kotlin-inject в их приложении:
https://proandroiddev.com/from-dagger-hilt-into-the-multiplatform-world-with-kotlin-inject-647d8e3bddd5
#android
Kotlin-inject — это библиотека для внедрения зависимостей похожая на Koin. Koin, действительно, более популярен, но, по мнению автора статьи, есть 2 главных недостатка:
— Compile-time safety,
— Различия с Dagger-API. Kotlin-inject написан полностью на Kotlin, поэтому проще в использовании, чем Koin.
В этой статье рассматривается пример перехода от Dagger и Hilt к kotlin-inject. Также автор подробно объясняет все плюсы использования kotlin-inject в их приложении:
https://proandroiddev.com/from-dagger-hilt-into-the-multiplatform-world-with-kotlin-inject-647d8e3bddd5
#android
Подкаст: заказчики, платформы и технологии
Команда Mobius выпустила новое видео с Алексеем Гладковым, в котором обсуждают заказчиков и вечный вопрос: Flutter, KMM или нативная разработка?
Самые странные хотелки заказчика, стоит ли соглашаться? Когда стоит отказаться от привычных технологий в пользу чего-то нового — в этом видео:
https://youtu.be/UGow5drkUvA
#android #kmm
Команда Mobius выпустила новое видео с Алексеем Гладковым, в котором обсуждают заказчиков и вечный вопрос: Flutter, KMM или нативная разработка?
Самые странные хотелки заказчика, стоит ли соглашаться? Когда стоит отказаться от привычных технологий в пользу чего-то нового — в этом видео:
https://youtu.be/UGow5drkUvA
#android #kmm
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Jetpack Compose: что нового?
1. Page: улучшили свайп между страницами контента (пример поведения на видео). Теперь дополнительные библиотеки, например, Accompanist, можно не использовать в проекте.
2. Новые Flow Layouts: Flow Row и Flow Column обеспечивают эффективный и компактный способ размещения элементов в контейнере, когда размер элементов или контейнера неизвестен или динамичен.
3. Повышение производительности в Modifier.
4. Text и TextField стали более функциональными: новые анимации, поддержка бегущей строки, более плавные переходы.
Источник: https://android-developers.googleblog.com/2023/03/whats-new-in-jetpack-compose-march-23-release.html
#android
1. Page: улучшили свайп между страницами контента (пример поведения на видео). Теперь дополнительные библиотеки, например, Accompanist, можно не использовать в проекте.
2. Новые Flow Layouts: Flow Row и Flow Column обеспечивают эффективный и компактный способ размещения элементов в контейнере, когда размер элементов или контейнера неизвестен или динамичен.
3. Повышение производительности в Modifier.
4. Text и TextField стали более функциональными: новые анимации, поддержка бегущей строки, более плавные переходы.
Источник: https://android-developers.googleblog.com/2023/03/whats-new-in-jetpack-compose-march-23-release.html
#android
Как написать первый автотест на Android-приложение?
Автоматизированное тестирование — одна из самых спорных тем в разработке программного обеспечения.
Как часто вы используете автотесты в приложении? А создаёте ли вы их сами? Если нет, то эта статья поможет разобраться в этой сложной теме начинающим:
https://habr.com/ru/company/yandex_praktikum/blog/721854/
#android #тестирование
Автоматизированное тестирование — одна из самых спорных тем в разработке программного обеспечения.
Как часто вы используете автотесты в приложении? А создаёте ли вы их сами? Если нет, то эта статья поможет разобраться в этой сложной теме начинающим:
https://habr.com/ru/company/yandex_praktikum/blog/721854/
#android #тестирование
Руководство по guard в Swift
Условные операторы явлюятся важной частью программирования в Swift (и многих других языков). Первый условный оператор, который обычно изучают новички, — это оператор if. Однако он не единственный и не самый часто используемый.
В Swift 2 было введен — guard, как и оператор if, он исполняет код, полагаясь на логическое значение выражения, но стал использоваться намного чаще.
В этой статье рассматривается, что такое оператор guard, когда следует использовать его использовать вместо оператора if, а также плюсы его использования:
https://matteomanferdini.com/swift-guard/
#swift
Условные операторы явлюятся важной частью программирования в Swift (и многих других языков). Первый условный оператор, который обычно изучают новички, — это оператор if. Однако он не единственный и не самый часто используемый.
В Swift 2 было введен — guard, как и оператор if, он исполняет код, полагаясь на логическое значение выражения, но стал использоваться намного чаще.
В этой статье рассматривается, что такое оператор guard, когда следует использовать его использовать вместо оператора if, а также плюсы его использования:
https://matteomanferdini.com/swift-guard/
#swift
Шесть открытых библиотек от Mad Brains, которые упростят жизнь Flutter-разработчика
Flutter постоянно развивается, однако всё равно разработчики могут столкнуться с отсутствием готовых решений.
В этой статье команда Mad Brains собрала библиотеки, которые могут понадобиться Flutter-разработчику. Например: для реализации оплаты, геокодер, плагин для пуш-уведомлений:
https://vc.ru/dev/641642-shest-otkrytyh-bibliotek-ot-mad-brains-kotorye-uprostyat-zhizn-flutter-razrabotchika
#flutter
Flutter постоянно развивается, однако всё равно разработчики могут столкнуться с отсутствием готовых решений.
В этой статье команда Mad Brains собрала библиотеки, которые могут понадобиться Flutter-разработчику. Например: для реализации оплаты, геокодер, плагин для пуш-уведомлений:
https://vc.ru/dev/641642-shest-otkrytyh-bibliotek-ot-mad-brains-kotorye-uprostyat-zhizn-flutter-razrabotchika
#flutter
Как прошла ваша неделя? Поделитесь своими успехами и похвастайтесь достижениями!
Может вы закончили пет-проект? Выучили что-то новое и интересное? Поделитесь своими яркими моментами в комментариях к статье:
https://tproger.ru/articles/chto-vy-delali-na-etoj-nedele-post-hvastovstva-za-20-24-marta/
#чат
Может вы закончили пет-проект? Выучили что-то новое и интересное? Поделитесь своими яркими моментами в комментариях к статье:
https://tproger.ru/articles/chto-vy-delali-na-etoj-nedele-post-hvastovstva-za-20-24-marta/
#чат
Оптимизация памяти в Android
Оптимизация памяти является важным аспектом разработки любого ПО, и это особенно важно в мобильных приложениях, где ресурсы часто ограничены.
В этой статье собраны полезные советы, которые помогут повысить производительность Android-приложения:
https://betulnecanli.medium.com/memory-optimizations-in-android-d50f4d1d2d82
#android
Оптимизация памяти является важным аспектом разработки любого ПО, и это особенно важно в мобильных приложениях, где ресурсы часто ограничены.
В этой статье собраны полезные советы, которые помогут повысить производительность Android-приложения:
https://betulnecanli.medium.com/memory-optimizations-in-android-d50f4d1d2d82
#android
This media is not supported in your browser
VIEW IN TELEGRAM
5 логико-математических задач, которые поставят в тупик
Выходные! А значит, можно поставить на паузу проекты и немного отдохнуть. Чтобы отдых был более полезным, предлагаем решить 5 задач, которые точно заставят вас задуматься:
https://tproger.ru/articles/5-logiko-matematicheskih-zadach-kotorye-postavjat-v-tupik/
#it
Выходные! А значит, можно поставить на паузу проекты и немного отдохнуть. Чтобы отдых был более полезным, предлагаем решить 5 задач, которые точно заставят вас задуматься:
https://tproger.ru/articles/5-logiko-matematicheskih-zadach-kotorye-postavjat-v-tupik/
#it
Дорожная карта для Android-разработчика в 2023
Филипп Лакнер выпустил новое видео, в котором рассказывает, что должен знать начинающий, чтобы стать Android-разработчиком. Видео будет полезно и для опытных разработчиков — для проверки своих знаний:
https://youtu.be/AhUL5tHF3uc
Филипп Лакнер выпустил новое видео, в котором рассказывает, что должен знать начинающий, чтобы стать Android-разработчиком. Видео будет полезно и для опытных разработчиков — для проверки своих знаний:
https://youtu.be/AhUL5tHF3uc
Исходный код Twitter просочился в Интернет, что известно?
24 марта компания направила повестку в суд на GitHub, где пользователь, идентифицированный как «FreeSpeechEnthusiast», поделился отрывками исходного кода Twitter без разрешения. Цель — идентифицировать лицо, ответственное за распространение кода.
GitHub, конечно, сразу удалил код. Но некоторые СМИ утверждают, что репозиторий был опубликован 2 месяца назад. Почему обнаружили только сейчас? Или это новый PR-ход от Маска?
Источник: https://www.cnbc.com/2023/03/26/twitter-source-code-leaked-online-court-filings-show-.html
#news
24 марта компания направила повестку в суд на GitHub, где пользователь, идентифицированный как «FreeSpeechEnthusiast», поделился отрывками исходного кода Twitter без разрешения. Цель — идентифицировать лицо, ответственное за распространение кода.
GitHub, конечно, сразу удалил код. Но некоторые СМИ утверждают, что репозиторий был опубликован 2 месяца назад. Почему обнаружили только сейчас? Или это новый PR-ход от Маска?
Источник: https://www.cnbc.com/2023/03/26/twitter-source-code-leaked-online-court-filings-show-.html
#news
Подборка актуальных вакансий
— Java-разработчик
Где: удалённо
Опыт: от 1 года
— Senior Java-разработчик
Где: Удалённо
Опыт: от 2 лет
— Главный разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Старший Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа
— Java-разработчик
Где: удалённо
Опыт: от 1 года
— Senior Java-разработчик
Где: Удалённо
Опыт: от 2 лет
— Главный разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Старший Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
#вакансии #работа