Держите полезную статью
Кроссплатформенные инструменты помогают бизнесу не писать код два раза под iOS и Android, а переиспользовать его на обеих платформах. В статье — о том, чем Kotlin Multiplatform отличается от Flutter и в каких случаях он переигрывает и уничтожает Flutter.
Flutter — это решение для быстрого запуска небольшого продукта в том случае, если вы готовы мириться с ограничениями готовых компонентов.
Однако если у вас:
— премиальный продукт и вы хотите повысить комфорт пользователя
— есть планы нанять разработчиков в штат
— в команде есть готовые разработчики на Android и iOS
— уже есть нативное приложение
— вам нужно использование Bluetooth, приём звонков и другие нативные фичи
то лучше использовать KMP, позволяющий создать максимально привычный интерфейс
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
Держите годный пошаговый гайд по созданию RecyclerView на Kotlin в Android Studio.
План туториала:
├╼ Создание базового шаблона элемента├╼ Реализация адаптера для ресайклью├╼ Реализация ресайклью и переход на новую активити├╼ Создание элемента в ресайквью├╼ Обработка клика├╼ Создание инфо элемента╰╼ Реализация клика@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🔥2
Что внутри:
— Relay и для чего он нужен
— Как его установить
— Как настроить проект
— Как создать новостное приложение с помощью Relay
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤2
Отличная идея для пет-проекта;
описание возможностей приложения:
• Инициализация платежа
• Отмена платежа
• Возврат платежа
• Проведение клиринга
• Проведение рекуррентного платежа
• Получение информации/статуса платежа
• Добавление карт/Удаление карт
• Оплата добавленными картами
• Безакцептные платежи
• Создание платежа с Google Pay
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2
Соглашения в сфере разработки призваны помочь разработчикам писать понятный друг для друга код, в статье речь именно об этом.
Если вы только переходите от написания пет-проектов к работе над чем-то более серьёзным — загляните по ссылке в конце
Затрагиваются такие очевидные и не совсем вещи:
Пишите код и помните: однажды работать с ним будет маньяк, который знает, где вы живёте)
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2🥴1
На собеседовании может всплыть вопрос в духе: "Что будет являться монитором для блока кода, помеченного сразу двумя аннотациями
@Synchronized и @JvmStatic в Котлин?". Держите полезную статью, в которой рассматривается, для чего используются данные аннотации и каким будет результат при их одновременном использовании.
А пока немного о
@Synchronized и @JvmStatic:@Synchronized в Kotlin является аннотацией для методов и блоков кода, которая обеспечивает синхронизацию доступа к ним между потоками. Когда метод или блок кода помечены аннотацией @Synchronized, только один поток может получить право их выполнения в определенный момент времени, остальные потоки будут ожидать освобождения монитора, прежде чем получить доступ. Это позволяет избежать состояния гонки и обеспечить правильное выполнение кода в многопоточной среде.@JvmStatic в Kotlin указывает компилятору, что функция или свойство должны быть статическими в Java-коде после компиляции. Когда мы используем @JvmStatic перед функцией или свойством в объекте- компаньоне или внутри объекта, компилятор Kotlin создает соответствующий статический элемент в Java-коде. Это позволяет вызывать этот элемент напрямую из Java-кода, без необходимости ссылаться на экземпляр класса или объекта.@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
f(a)(b) называется каррированием в честь Хаскелла Карри.// Пример каррированной функции с применением fun
fun f(a: Int) = { b: Int -> a + b }
// Пример каррированной функции с применением переменной
val f2: (Int) -> (Int) -> Int = { b -> { a -> a + b } }
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
При использовании корутин в Kotlin рано или поздно появляется вопрос о том, какие примитивы необходимо использовать для передачи потоков данных между несколькими корутинами.
Для этого в библиотеке
kotlinx.coroutines имеется специальный механизм, который так и называется — Channel. @android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
x в выражении:val x = null + null
public operator fun String?.plus(other: Any?): String
Левый аргумент может принимать все строки плюс
null, а правый — вообще любые значения Kotlin, включая null.Поэтому исходное выражение аналогично такой записи:
val s: String? = null
val x: String = s + null
x можно вот так:fun main() {
val x = null + null
println(x::class.simpleName)
}
// String@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥1
Google обновляет цикл выпуска инструмента для создания приложений Android Studio. С помощью Feature Drops разработчики получат «более частые и целенаправленные обновления».
Первое обновление включает новейшие возможности платформы IntelliJ IDEA компании Jetbrains, на которой основана Android Studio. Сюда входят «улучшения удобства использования, производительности и стабильности», такие как обновления терминала и редактора.
Эти изменения появятся в стабильном канале быстрее, чем это происходило ранее.
Затем последует выпуск функций, в том числе инструментов, помогающих тестировать/оптимизировать форм-фактор большого экрана. Бета-версия станет доступна вскоре после того, как обновление платформы IDE выйдет в стабильном канале. В предстоящем выпуске функций Koala Feature Drop будут добавлены:
— новый процесс входа в систему, который значительно упрощает подключение к нескольким сервисам Google, таким как Firebase и Gemini, в Android Studio;
— ярлыки настроек пользовательского интерфейса в окне работающего устройства для быстрого тестирования приложения на соответствие различным настройкам пользовательского интерфейса;
— шаблон Gemini API, который поможет внедрить генеративный искусственный интеллект в приложение.
Дополнительные функции будут анонсированы на I/O 2024, то есть в ближайший вторник
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Отличная идея для пет-проекта)
Создано с использованием Compose Desktop
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔3🔥1
🔥🔥🔥 Google объявила конкурс для всех разработчиков Gemini API с призовым фондом в $3 млн и Custom Electric 1981 DeLorean (Легендарная машина из фильма Назад в будущее)
В рекламе снялся легендарный Кристофер Ллойд, актер снимавшийся в трилогии Назад в будущее.
🛻 Главный приз: полностью электрическая версия DeLorean 1981, произведенная на заказ.
Общий призовой фонд: $3 млн.
Конкурс Google Gemini API открыт как для отдельных участников, так и для команд. Разработчикам предлагается создать и представить приложения с использованием API Gemini.
⚡️Критерии оценки
Google оценивает приложения по пяти основным критериям:
* Креативность
* Полезность
* Исполнение
* Новизна
* Влияние
Компания будет выбирать приложения, которые:
*Ииспользуют API Gemini
* Решают реальные проблемы
* Оригинальны и хорошо продуманы
* Дают потяьный пользовательский опыт
Призы
В рамках конкурса также будут вручаться денежные призы в различных категориях:
* Лучшее приложение для Android
* Лучшее веб-приложение
* Лучшая игра
Кроме того, будут присуждаться крупные денежные призы за:
* Самое полезное приложение
* Самое эффективное приложение
* Самое креативное приложение
Крайний срок подачи заявок
Крайний срок подачи заявок: 12 августа 2024 года.
Онлайн-голосование в категории «Выбор пользователей» ожидается 16 августа.
В остальных категориях победителей выберет внутренняя команда Google. Результаты конкурса Gemini API будут объявлены в октябре.
📌 Подать заявку: https://ai.google.dev/competition?hl=ru
📌 Видео: https://www.youtube.com/watch?v=_cZa_7KaQ3c&t=18s
@ai_machinelearning_big_data
В рекламе снялся легендарный Кристофер Ллойд, актер снимавшийся в трилогии Назад в будущее.
🛻 Главный приз: полностью электрическая версия DeLorean 1981, произведенная на заказ.
Общий призовой фонд: $3 млн.
Конкурс Google Gemini API открыт как для отдельных участников, так и для команд. Разработчикам предлагается создать и представить приложения с использованием API Gemini.
⚡️Критерии оценки
Google оценивает приложения по пяти основным критериям:
* Креативность
* Полезность
* Исполнение
* Новизна
* Влияние
Компания будет выбирать приложения, которые:
*Ииспользуют API Gemini
* Решают реальные проблемы
* Оригинальны и хорошо продуманы
* Дают потяьный пользовательский опыт
Призы
В рамках конкурса также будут вручаться денежные призы в различных категориях:
* Лучшее приложение для Android
* Лучшее веб-приложение
* Лучшая игра
Кроме того, будут присуждаться крупные денежные призы за:
* Самое полезное приложение
* Самое эффективное приложение
* Самое креативное приложение
Крайний срок подачи заявок
Крайний срок подачи заявок: 12 августа 2024 года.
Онлайн-голосование в категории «Выбор пользователей» ожидается 16 августа.
В остальных категориях победителей выберет внутренняя команда Google. Результаты конкурса Gemini API будут объявлены в октябре.
📌 Подать заявку: https://ai.google.dev/competition?hl=ru
📌 Видео: https://www.youtube.com/watch?v=_cZa_7KaQ3c&t=18s
@ai_machinelearning_big_data
👍1