Самые раздражающие баги и недочёты, которые встречаются на сайтах и приложениях
Типичный крик души программиста, который рассказал об ошибках, которые бесят почти каждого в веб- и моб. приложениях в статье на Хабре:
https://habr.com/ru/post/709494/
Чтобы вы добавили?
Типичный крик души программиста, который рассказал об ошибках, которые бесят почти каждого в веб- и моб. приложениях в статье на Хабре:
https://habr.com/ru/post/709494/
Чтобы вы добавили?
5 способов передачи данных из UIKit в SwiftUI
В этой статье разбираются основные способы передачи данных из UIKit в SwiftUI. В четырёх из них данные могут обновляться сами, и вам не нужно повторно воссоздавать представление, только в одном это невозможно:
— View Initializer,
— Observable Objects,
— User Defaults,
— Environment Object,
— Notification Center.
По словам автора, самое главное в этой задаче — найти метод, который лучше всего подходит для вашего проекта:
https://holyswift.app/best-way-to-send-data-from-uikit-to-swiftui/
#ios
В этой статье разбираются основные способы передачи данных из UIKit в SwiftUI. В четырёх из них данные могут обновляться сами, и вам не нужно повторно воссоздавать представление, только в одном это невозможно:
— View Initializer,
— Observable Objects,
— User Defaults,
— Environment Object,
— Notification Center.
По словам автора, самое главное в этой задаче — найти метод, который лучше всего подходит для вашего проекта:
https://holyswift.app/best-way-to-send-data-from-uikit-to-swiftui/
#ios
Как правильно использовать Transactional
Какие проблемы могут возникнуть при обработке данных БД в условиях асинхронных вызовов высоконагруженного приложения? Никита Летов, тимлид бэкенд-разработки мобильного приложения ДБО, рассказывает про транзакции и блокировки в БД, где использовать таймауты запросов, свойства @Transactional и накладные расходы при использовании аннотации — в докладе:
https://youtu.be/QZ9rXZT0DlQ
Какие проблемы могут возникнуть при обработке данных БД в условиях асинхронных вызовов высоконагруженного приложения? Никита Летов, тимлид бэкенд-разработки мобильного приложения ДБО, рассказывает про транзакции и блокировки в БД, где использовать таймауты запросов, свойства @Transactional и накладные расходы при использовании аннотации — в докладе:
https://youtu.be/QZ9rXZT0DlQ
YouTube
Никита Летов — Используем @Transactional like a Pro
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Поговорим о том, как не ошибиться при использовании аннотации @Transactional в коде, как не бояться блокировок на БД и сохранить консистентность…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Поговорим о том, как не ошибиться при использовании аннотации @Transactional в коде, как не бояться блокировок на БД и сохранить консистентность…
Новые схемы мошенников: всё больше приложений ChatGPT появляются в App Store и Play Store
ChatGPT — самая горячая тема для обсуждения в IT сфере. Некоторые разработчики пытаются воспользоваться этой тенденцией, создавая сомнительные приложения — как в App Store, так и в Play Store.
Например, приложение «ChatGPT Chat GPT AI With GPT-3» сумело попасть в топ-чарты во многих странах до того, как его удалили. Но на его замену уже появились новые. В основном такие приложения предлагают еженедельные ($7,99) и ежемесячные ($49,99) пакеты для неограниченного общения с ботом.
Как мошенники проходят проверку в сторах — загадка. Однако такие приложения не имеют ничего общего с ChatGPT.
Источник: https://techcrunch.com/2023/01/10/app-store-and-play-store-are-flooded-with-dubious-chatgpt-apps/amp/
#новости
ChatGPT — самая горячая тема для обсуждения в IT сфере. Некоторые разработчики пытаются воспользоваться этой тенденцией, создавая сомнительные приложения — как в App Store, так и в Play Store.
Например, приложение «ChatGPT Chat GPT AI With GPT-3» сумело попасть в топ-чарты во многих странах до того, как его удалили. Но на его замену уже появились новые. В основном такие приложения предлагают еженедельные ($7,99) и ежемесячные ($49,99) пакеты для неограниченного общения с ботом.
Как мошенники проходят проверку в сторах — загадка. Однако такие приложения не имеют ничего общего с ChatGPT.
Источник: https://techcrunch.com/2023/01/10/app-store-and-play-store-are-flooded-with-dubious-chatgpt-apps/amp/
#новости
React и Jetpack Compose — сравнительный анализ
Две библиотеки со схожими концепциями и функциями. Какие термины Jetpack Compose эквивалентны для React? Автор создал небольшую подборку с пояснениями:
https://habr.com/ru/company/samokat_tech/blog/707038/
По словам автора, знания React ему пригодились в личном проекте больше, чем Android. Но тут есть с чем поспорить.
#compose
Две библиотеки со схожими концепциями и функциями. Какие термины Jetpack Compose эквивалентны для React? Автор создал небольшую подборку с пояснениями:
https://habr.com/ru/company/samokat_tech/blog/707038/
По словам автора, знания React ему пригодились в личном проекте больше, чем Android. Но тут есть с чем поспорить.
#compose
Kotlin: функции высокого (высшего) порядка
Для простоты автор создал метод, который принимает два параметра и на его примере показал, как работают функции высшего порядка под капотом. Если вы только начинаете изучать Kotlin и не знаете про работу Functions.kt, то статья будет вам полезна:
https://proandroiddev.com/higher-order-functions-in-kotlin-under-the-hood-49196d0db7eb
#kotlin
Для простоты автор создал метод, который принимает два параметра и на его примере показал, как работают функции высшего порядка под капотом. Если вы только начинаете изучать Kotlin и не знаете про работу Functions.kt, то статья будет вам полезна:
https://proandroiddev.com/higher-order-functions-in-kotlin-under-the-hood-49196d0db7eb
#kotlin
Android Studio Electric Eel: что нового?
— новый Logcat UI,
— автоматические обновление Compose preview, а также использование Compose Preview на разных устройствах,
— новые возможности эмуляторов,
— появилась возможность просматривать информацию в IDE о сбоях в приложении из Firebase Crashlytics.
Стабильная версия Electric Eel уже доступна для скачивания. Об этих и других обновлениях — в видеообзоре:
https://youtu.be/bVt14IBv4NA
#android
— новый Logcat UI,
— автоматические обновление Compose preview, а также использование Compose Preview на разных устройствах,
— новые возможности эмуляторов,
— появилась возможность просматривать информацию в IDE о сбоях в приложении из Firebase Crashlytics.
Стабильная версия Electric Eel уже доступна для скачивания. Об этих и других обновлениях — в видеообзоре:
https://youtu.be/bVt14IBv4NA
#android
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация с помощью MotionLayout
MotionLayout — мощный инструмент для создания анимаций в Android-приложении. Чаще всего MotionLayout используется, чтобы переместить, изменить размер или анимировать UI-элементы с которыми взаимодействует пользователь.
Однако не всегда получается анимировать всё c его помощью. В этой статье пример, в котором автор показал, как работать с MotionLayout, а также самостоятельно реализовал анимацию для кнопки с заполнением прогресса:
https://habr.com/ru/company/ru_mts/blog/709958/
#android
MotionLayout — мощный инструмент для создания анимаций в Android-приложении. Чаще всего MotionLayout используется, чтобы переместить, изменить размер или анимировать UI-элементы с которыми взаимодействует пользователь.
Однако не всегда получается анимировать всё c его помощью. В этой статье пример, в котором автор показал, как работать с MotionLayout, а также самостоятельно реализовал анимацию для кнопки с заполнением прогресса:
https://habr.com/ru/company/ru_mts/blog/709958/
#android
Подробный разбор ArraySlice в Swift
В статье приведены примеры использования ArraySlice
с операторами range (полуоткрытого диапазона и закрытого диапазона) и prefix: upTo, while.
Автор подробно объясняет случаи, когда безопаснее использовать prefix, возможные ошибки при работе с range, а также причины этих ошибок:
https://swdevnotes.com/swift/2023/arrayslice-with-range-operator-and-prefix-in-swift/
#swift
В статье приведены примеры использования ArraySlice
с операторами range (полуоткрытого диапазона и закрытого диапазона) и prefix: upTo, while.
Автор подробно объясняет случаи, когда безопаснее использовать prefix, возможные ошибки при работе с range, а также причины этих ошибок:
https://swdevnotes.com/swift/2023/arrayslice-with-range-operator-and-prefix-in-swift/
#swift
Лайф-стриминг по ChatGPT
Недавно у нас был пост про разработчика, который написал Android-приложение с помощью ChatGPT. Алексей Гладков решил повторить эксперимент, но только в прямом эфире. Если вам интересно посмотреть, как работает ChatGPT, создавая приложение, то стриминг будет сегодня в 19:00 по мск:
https://youtu.be/eBRlAFqUIgk
#ии
Недавно у нас был пост про разработчика, который написал Android-приложение с помощью ChatGPT. Алексей Гладков решил повторить эксперимент, но только в прямом эфире. Если вам интересно посмотреть, как работает ChatGPT, создавая приложение, то стриминг будет сегодня в 19:00 по мск:
https://youtu.be/eBRlAFqUIgk
#ии
Защита Flutter-приложения с помощью добавления SSL-Pinning
SSL Pinning — это внедрение SSL сертификата в код мобильного приложения. По сути, выполняется дополнительная проверка, чтобы удостовериться, что сертификат, хранящийся в приложении, совпадает с сертификатом, используемым сервером.
Такой подход позволяет защитить приложение от MITM-атак, однако требует постоянного обновления SSL-сертификата. В этой статье разбирается, как импортировать сертификат с веб-сайта и настроить его в приложении на Flutter:
https://medium.com/@dwirandyherdinanto/securing-your-flutter-app-by-adding-ssl-pinning-474722e38518
#flutter
SSL Pinning — это внедрение SSL сертификата в код мобильного приложения. По сути, выполняется дополнительная проверка, чтобы удостовериться, что сертификат, хранящийся в приложении, совпадает с сертификатом, используемым сервером.
Такой подход позволяет защитить приложение от MITM-атак, однако требует постоянного обновления SSL-сертификата. В этой статье разбирается, как импортировать сертификат с веб-сайта и настроить его в приложении на Flutter:
https://medium.com/@dwirandyherdinanto/securing-your-flutter-app-by-adding-ssl-pinning-474722e38518
#flutter
Основные ошибки, которые допускают разработчики
Подборка видеоуроков Филиппа Лакнера:
1. Чистая архитектура: топ-3 ошибки в Android
2. Топ-3 ошибки в Jetpack Compose и как их избежать
3. Плохой код: 5 ошибок в Kotlin
#kotlin #android
Подборка видеоуроков Филиппа Лакнера:
1. Чистая архитектура: топ-3 ошибки в Android
2. Топ-3 ошибки в Jetpack Compose и как их избежать
3. Плохой код: 5 ошибок в Kotlin
#kotlin #android
Обзор на функцию автодополнения в Xcode 14
Прошлой осенью вышел Xcode 14 с некоторыми улучшениями, которые должны были повысить производительность Xcode и сделать его проще в использовании. Герой статьи протестировал некоторые из них и рассказал, как они работают на практике:
— предложение Frame,
— автовыравнивание,
— инициализатор в Struct и другие:
https://habr.com/ru/post/710282/
#ios #xcode
Прошлой осенью вышел Xcode 14 с некоторыми улучшениями, которые должны были повысить производительность Xcode и сделать его проще в использовании. Герой статьи протестировал некоторые из них и рассказал, как они работают на практике:
— предложение Frame,
— автовыравнивание,
— инициализатор в Struct и другие:
https://habr.com/ru/post/710282/
#ios #xcode
«Рик и Морти» приложение на Swift
Серия видеоуроков по созданию iOS-приложения на тему популярного мультсериала с помощью Swift и UIKit.
Приложение отображает всех персонажей и эпизоды, но это только часть функциональности:
https://youtu.be/EZpZDuOAFKE
#swift #ios
Серия видеоуроков по созданию iOS-приложения на тему популярного мультсериала с помощью Swift и UIKit.
Приложение отображает всех персонажей и эпизоды, но это только часть функциональности:
https://youtu.be/EZpZDuOAFKE
#swift #ios
Шпаргалка по DateFormatter, формулы и примеры на Swift
В этой статье представлены примеры и сниппеты кода с DateFormatter и Date, которые позволяют анализировать, форматировать (например, из Date в String) и извлекать компоненты из дат:
https://tprg.ru/9tKM
#ios #swift
В этой статье представлены примеры и сниппеты кода с DateFormatter и Date, которые позволяют анализировать, форматировать (например, из Date в String) и извлекать компоненты из дат:
https://tprg.ru/9tKM
#ios #swift
Применение Kotlin Context Receivers
Context Receivers — относительно новая фича, которая была представлена в Kotlin 1.6.20. В этой статье рассматривается один из вариантов использования Context Receiver на примере с Jetpack Compose:
https://proandroiddev.com/applying-kotlin-context-receivers-5f2ad2ec4043
#kotlin
Context Receivers — относительно новая фича, которая была представлена в Kotlin 1.6.20. В этой статье рассматривается один из вариантов использования Context Receiver на примере с Jetpack Compose:
https://proandroiddev.com/applying-kotlin-context-receivers-5f2ad2ec4043
#kotlin
Пример реализации магазина на Kotlin Multiplatform
Интересный проект, который был реализован с помощью Kotlin Multiplatform и включает в себя 6 приложений. Все приложения используют общий модуль и нативный UI для своих платформ.
В этом репозитории показана реализации данного проекта и сами приложения (Web, Android, iOS и другие):
https://github.com/keygenqt/km-shop
#kotlin #ios #android
Интересный проект, который был реализован с помощью Kotlin Multiplatform и включает в себя 6 приложений. Все приложения используют общий модуль и нативный UI для своих платформ.
В этом репозитории показана реализации данного проекта и сами приложения (Web, Android, iOS и другие):
https://github.com/keygenqt/km-shop
#kotlin #ios #android
Руководство по Dart Frog
Простое приложение на Flutter для счёта, которое подключается к серверу Dart Frog с помощью WebSockets и увеличивает значение счётчика в режиме реального времени на всех платформах.
В статье показывается, как реализовать проект с нуля и создать пакет counter_repository, который будет управлять доменом счетчика:
https://verygood.ventures/blog/dart-frog-full-stack-tutorial
#flutter
Простое приложение на Flutter для счёта, которое подключается к серверу Dart Frog с помощью WebSockets и увеличивает значение счётчика в режиме реального времени на всех платформах.
В статье показывается, как реализовать проект с нуля и создать пакет counter_repository, который будет управлять доменом счетчика:
https://verygood.ventures/blog/dart-frog-full-stack-tutorial
#flutter
This media is not supported in your browser
VIEW IN TELEGRAM
Jetpack Compose Samples — примеры приложений
Compose Samples — один из самых популярных репозиториев по изучению Jetpack Compose. Каждый пример демонстрирует различные варианты использования Compose, уровни сложности и API, например:
— приложение для финансов,
— мессенджер,
— приложение для путешествий и другие.
Если вы давно не заходили на проект, то советуем проверить, вдруг найдёте что-то новое и интересное для себя:
https://github.com/android/compose-samples
#compose #android
Compose Samples — один из самых популярных репозиториев по изучению Jetpack Compose. Каждый пример демонстрирует различные варианты использования Compose, уровни сложности и API, например:
— приложение для финансов,
— мессенджер,
— приложение для путешествий и другие.
Если вы давно не заходили на проект, то советуем проверить, вдруг найдёте что-то новое и интересное для себя:
https://github.com/android/compose-samples
#compose #android