Google AI SDK для Swift позволяет разработчикам использовать современные генеративные модели искусственного интеллекта Google (например, Gemini) для создания функций и приложений на базе искусственного интеллекта. Этот SDK поддерживает такие сценарии использования, как:
• Генерация текста из текстового ввода
• Генерация текст из текста и изображений (мультимодальный ввод)
• Создание многоходовых бесед (чат)
Google AI SDK for Swift на GitHub: https://github.com/google/generative-ai-swift
Платформа: iOS
⭐️: 504
Конечно, есть такой же для Android.
• Генерация текста из текстового ввода
• Генерация текст из текста и изображений (мультимодальный ввод)
• Создание многоходовых бесед (чат)
Google AI SDK for Swift на GitHub: https://github.com/google/generative-ai-swift
Платформа: iOS
⭐️: 504
Конечно, есть такой же для Android.
Telegram
AppFiles
Google Generative AI Sample - пример приложения для Android, который демонстрирует, как использовать современные генеративные модели ИИ (например, Gemini) для создания функций и приложений на базе ИИ.
Чтобы опробовать этот пример приложения, вам необходимо…
Чтобы опробовать этот пример приложения, вам необходимо…
Создаем пассивный UI в Jetpack Compose
Декларативный пользовательский интерфейс часто описывается как создание пользовательского интерфейса, который является «функциональным» по своей природе. То есть данные входят, а пользовательский интерфейс выходит. Это замечательно в абстрактном смысле, но в мире, где приложения без дополнительных побочных эффектов не особенно полезны для конечных пользователей, как этого можно добиться? В этом посте мы рассмотрим, как применять концепции и паттерны для создания «пассивного» или «тупого» пользовательского интерфейса — пользовательского интерфейса, который не делает ничего, кроме демонстрации визуальной картинки.
Статья: https://apptractor.ru/info/articles/sozdaem-passivnyy-ui-v-jetpack-compose.html
Платформа: Android
Декларативный пользовательский интерфейс часто описывается как создание пользовательского интерфейса, который является «функциональным» по своей природе. То есть данные входят, а пользовательский интерфейс выходит. Это замечательно в абстрактном смысле, но в мире, где приложения без дополнительных побочных эффектов не особенно полезны для конечных пользователей, как этого можно добиться? В этом посте мы рассмотрим, как применять концепции и паттерны для создания «пассивного» или «тупого» пользовательского интерфейса — пользовательского интерфейса, который не делает ничего, кроме демонстрации визуальной картинки.
Статья: https://apptractor.ru/info/articles/sozdaem-passivnyy-ui-v-jetpack-compose.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Ludwig - коллекция UI-компонентов для Jetpack Compose. Главный из них - морфинг для векторных изображений, кроме него есть пикер времени и даты, анимированные поля ввода с опциональными состояниями ошибок, анимированные кнопки, выпадающие списки.
Ludwig на GitHub: https://github.com/baec23/ludwig
Платформа: Android
⭐️: 52
Ludwig на GitHub: https://github.com/baec23/ludwig
Платформа: Android
⭐️: 52
👍1
Что нового в AOSP 14
Разработчики Серджио Прадо и Крис Симмондс недавно рассказали о том, что нового в AOSP 14, и в дополнение к этому Серджио поделился интересной статистикой о размере исходного кода, времени сборки и многом другом.
Удивительно видеть, как сильно выросла AOSP с момента выхода Android 8 Oreo в 2017 году. Размер исходного кода AOSP 14 составляет 165 ГБ по сравнению с 87 ГБ в AOSP 8. Размер выходной сборки увеличился до 150 ГБ в AOSP 14 по сравнению с 87 ГБ в AOSP 8.
Видео + данные: https://apptractor.ru/info/media/chto-novogo-v-aosp-14.html
Платформа: Android
Разработчики Серджио Прадо и Крис Симмондс недавно рассказали о том, что нового в AOSP 14, и в дополнение к этому Серджио поделился интересной статистикой о размере исходного кода, времени сборки и многом другом.
Видео + данные: https://apptractor.ru/info/media/chto-novogo-v-aosp-14.html
Платформа: Android
👍1
11 вещей, которые я узнал после того, как стал проводить технические интервью
Когда вы сидите по другую сторону стола, доски или Zoom, вы видите вещи с совершенно другой точки зрения. Я хочу, чтобы у кандидатов был лучший опыт собеседований и хорошее впечатление о компании. Я хотел бы поделиться 11 вещами, которые я узнал во время проведения интервью, чтобы вы могли лучше подготовиться к своему следующему собеседованию.
1. Мы не читаем ваше резюме
2. Мы тоже нервничаем
3. Больше разговоров поможет вам
4. Общение — ключ к успеху
5. Просить о помощи не стыдно
6. Идеального решения не существует
7. Отсутствие практики очевидно
8. Google разрешен, если вы спросите
9. Когда мы печатаем и отводим взгляд, это означает, что мы делаем заметки
10. Когда мы не разговариваем, это не значит, что мы осуждаем вас
11. Мы хотим, чтобы кандидаты прошли собеседование
Статья: https://apptractor.ru/info/articles/11-veschey-kotorye-ya-uznal-posle-togo-kak-stal-provodit-tehnicheskie-intervyu.html
Платформа: собеседования
Когда вы сидите по другую сторону стола, доски или Zoom, вы видите вещи с совершенно другой точки зрения. Я хочу, чтобы у кандидатов был лучший опыт собеседований и хорошее впечатление о компании. Я хотел бы поделиться 11 вещами, которые я узнал во время проведения интервью, чтобы вы могли лучше подготовиться к своему следующему собеседованию.
1. Мы не читаем ваше резюме
2. Мы тоже нервничаем
3. Больше разговоров поможет вам
4. Общение — ключ к успеху
5. Просить о помощи не стыдно
6. Идеального решения не существует
7. Отсутствие практики очевидно
8. Google разрешен, если вы спросите
9. Когда мы печатаем и отводим взгляд, это означает, что мы делаем заметки
10. Когда мы не разговариваем, это не значит, что мы осуждаем вас
11. Мы хотим, чтобы кандидаты прошли собеседование
Статья: https://apptractor.ru/info/articles/11-veschey-kotorye-ya-uznal-posle-togo-kak-stal-provodit-tehnicheskie-intervyu.html
Платформа: собеседования
❤8🤡1
BadgeIcon позволяет использовать в SwiftUI иконки, похожие на те, что вы найдете в системных настройках iOS и macOS. BadgeIcon поставляется с кучей предопределенных иконок, как на рисунке выше, или же вы можете создавать свои собственные.
BadgeIcon на GitHub: https://github.com/danielsaidi/BadgeIcon
Платформа: iOS
⭐️: 12
BadgeIcon на GitHub: https://github.com/danielsaidi/BadgeIcon
Платформа: iOS
⭐️: 12
Как я создаю iOS игру на Unity c использованием MidJourney, ChatGPT, Adobe Firefly и много ручного труда
Это невероятное удовольствие сидеть и прорабатывать смыслы, придумывать логику, создавать сценарии и воплощать то, чего никогда ранее не существовало. Именно так рождаются продукты и идеи, которыми я их наполняю. Творите, друзья! Не бойтесь воплощать свои идеи в жизнь, даже если это кажется сложным. Страсть и преданность вашему делу помогут вам преодолеть любые трудности и создать нечто удивительное.
Статья: https://vc.ru/tribuna/957493-kak-ya-sozdayu-ios-igru-na-unity-c-ispolzovaniem-midjourney-chatgpt-adobe-firefly-i-mnogo-ruchnogo-truda
Платформа: разработка
Это невероятное удовольствие сидеть и прорабатывать смыслы, придумывать логику, создавать сценарии и воплощать то, чего никогда ранее не существовало. Именно так рождаются продукты и идеи, которыми я их наполняю. Творите, друзья! Не бойтесь воплощать свои идеи в жизнь, даже если это кажется сложным. Страсть и преданность вашему делу помогут вам преодолеть любые трудности и создать нечто удивительное.
Статья: https://vc.ru/tribuna/957493-kak-ya-sozdayu-ios-igru-na-unity-c-ispolzovaniem-midjourney-chatgpt-adobe-firefly-i-mnogo-ruchnogo-truda
Платформа: разработка
NanoKt - элегантное и легкое решение для разработки под Android, обширная коллекция современных функций расширения, охватывающих многие области фреймворка Android и стандартных библиотек Java и Kotlin. NanoKt сделает ваш код более элегантным, эффективным и сэкономит ваше время. Более того, это достигается без ущерба для производительности, поскольку почти все предоставляемые функции и свойства встраиваются во время компиляции.
Зачем нужна еще одна библиотека расширений?
NanoKt выделяется тем, что предоставляет хорошо документированные функции с рекомендуемыми аннотациями, что позволяет работать с ними в стиле AndroidX. Продуманная структура и именование методов, вдохновленные фреймворком Android, направлены на устранение избыточного кода без навязывания универсального фреймворка. Он предназначен для легкой интеграции в различные проекты Android.
Библиотека разделена на модули для чистого Kotlin, Kotlin-JVM и Kotlin-Android, что делает ее совместимой с широким спектром проектов. Позже автор планирует выпустить совместимую версию для Kotlin Multiplatform.
NanoKt на GitHub: https://github.com/conena/nanokt
Платформа: Android
⭐️: 54
Зачем нужна еще одна библиотека расширений?
NanoKt выделяется тем, что предоставляет хорошо документированные функции с рекомендуемыми аннотациями, что позволяет работать с ними в стиле AndroidX. Продуманная структура и именование методов, вдохновленные фреймворком Android, направлены на устранение избыточного кода без навязывания универсального фреймворка. Он предназначен для легкой интеграции в различные проекты Android.
Библиотека разделена на модули для чистого Kotlin, Kotlin-JVM и Kotlin-Android, что делает ее совместимой с широким спектром проектов. Позже автор планирует выпустить совместимую версию для Kotlin Multiplatform.
NanoKt на GitHub: https://github.com/conena/nanokt
Платформа: Android
⭐️: 54
GitHub
GitHub - conena/nanokt: A lightweight extensions library for Android and Kotlin
A lightweight extensions library for Android and Kotlin - conena/nanokt
👍1🤡1
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
С вас традиционный 👍 и поделиться подборкой с коллегами!
•
(iOS Ru)
Custom Segmented Control•
(iOS En)
Building Complex Scroll Animations With New iOS 17 APIs•
(iOS En)
SwiftUI Widgets | App Groups | Charts | Expense Tracker App•
(iOS En)
How To Create A Submission Form In Xcode 15•
(iOS En)
This is the CRAZIEST Swift code you'll ever see•
(iOS En)
SwiftData CloudKit•
(iOS En)
SwiftUI Animated Toasts•
(And Ru)
Как устроен Gradle Config Cache. Лучшие Практики. Интервью с инженером команды Gradle•
(And Ru)
Android System Design: делаем библиотеку Firebase•
(And En)
(W)rap - Android Developers Backstage•
(And En)
Introducing Gemini, Google at NeurIPS 2023, and more dev news!•
(And En)
Performance Optimization with @Stable and @Immutable in Jetpack Compose•
(And En)
Demystifying Pixel Shaders (AGSL)•
(Crs Ru)
Мультиплатформенная разработка на чистой Java•
(Crs En)
A novel architecture for Multiplatform applications with Pavel Lahoda•
(Dev Ru)
Что такое observability мобильного приложения•
(Dev Ru)
Разработка Авто.ру и роль руководителя в команде•
(Dev Ru)
Мобильные релизы в Авито•
(Dev Ru)
Силиконовая Долина глазами российского разработчика•
(Dev Ru)
Релокация на Кипр•
(Dev En)
Do You Have to Learn Clean Architecture as a Beginner?С вас традиционный 👍 и поделиться подборкой с коллегами!
AppTractor
Custom Segmented Control
Когда надоела дота, почему бы не раскликаться в Xcode и заодно заработать плюсик в карму.
Enchanted - это элегантное мобильное приложение для iOS/iPad с открытым исходным кодом для общения с приватными языковыми моделями Ollama, такими как Llama 2, Mistral, Vicuna, Starling и другими. По сути, это пользовательский интерфейс приложения ChatGPT, который подключается к вашим собственным моделям Ollama. Для использования приложения вам конечно потребуется запустить собственный сервер Ollama.
Enchanted на GitHub: https://github.com/AugustDev/enchanted
Платформа: iOS
⭐️: 87
Enchanted на GitHub: https://github.com/AugustDev/enchanted
Платформа: iOS
⭐️: 87
Рефакторинг кода, и как его не бояться
Уже около четырех лет моя профессиональная деятельность тесно связана с энтерпрайз разработкой мобильных приложений на Flutter в компании TAGES. Сегодня мне бы хотелось поделиться некоторыми мыслями и практическими советами на тему, которая является актуальной и важной для всех разработчиков — рефакторинг кода.
Статья: https://habr.com/ru/articles/781538/
Платформа: разработка
🏗 Еще про рефакторинг:
• Руководство для инженеров по рефакторингу кода
• Podlodka #37: Рефакторинг
• Рефакторинг кодовой базы в Slack: Стабилизация, Модуляризация и Модернизация
• Осознанная архитектура: рефакторинг Headspace для масштабирования
Уже около четырех лет моя профессиональная деятельность тесно связана с энтерпрайз разработкой мобильных приложений на Flutter в компании TAGES. Сегодня мне бы хотелось поделиться некоторыми мыслями и практическими советами на тему, которая является актуальной и важной для всех разработчиков — рефакторинг кода.
Статья: https://habr.com/ru/articles/781538/
Платформа: разработка
🏗 Еще про рефакторинг:
• Руководство для инженеров по рефакторингу кода
• Podlodka #37: Рефакторинг
• Рефакторинг кодовой базы в Slack: Стабилизация, Модуляризация и Модернизация
• Осознанная архитектура: рефакторинг Headspace для масштабирования
Вопросы с собеседований: ключевое слово Object в Kotlin
В Kotlin ключевое слово Object используется для создания объекта-одиночки (singleton). Объект-одиночка представляет собой класс, у которого может быть только один экземпляр, и этот экземпляр предоставляет глобальную точку доступа к нему. Объект-одиночка полезен, когда требуется иметь единственный экземпляр класса, который обеспечивает доступ к каким-то ресурсам, например, базе данных, конфигурационным параметрам или службам.
Статья: https://apptractor.ru/info/techhype/kotlin-object.html
Платформа: Kotlin
Другие вопросы с собеседований: тут
В Kotlin ключевое слово Object используется для создания объекта-одиночки (singleton). Объект-одиночка представляет собой класс, у которого может быть только один экземпляр, и этот экземпляр предоставляет глобальную точку доступа к нему. Объект-одиночка полезен, когда требуется иметь единственный экземпляр класса, который обеспечивает доступ к каким-то ресурсам, например, базе данных, конфигурационным параметрам или службам.
Статья: https://apptractor.ru/info/techhype/kotlin-object.html
Платформа: Kotlin
Другие вопросы с собеседований: тут
Мастерство работы в SwiftUI
SwiftUI постепенно набирает силу и становится предпочтительным выбором для создания приложений. В этом посте мы рассмотрим важные моменты, которые помогут вам повысить производительность и эффективность разработки приложений.
• Redux или MVVM?
• Используйте StateObject и ObservableObject
• Создавайте Published переменные с осторожностью
• Разбивайте содержимое body на более мелкие части для минимизации времени компиляции
• Предпочтите State для анимации вместо Published
• Объявляйте объекты Observable в определенном месте, чтобы избежать ненужного обновления UI
• Найдите, какое изменение данных вызывает обновление представления SwiftUI
• Используйте LazyHStack и LazyVStack, если у вас длинный список
• Есть ли что-нибудь похожее на viewDidLoad()?
• Используйте UIKit компоненты непосредственно в SwiftUI
• Модификатор с условиями
• Избегайте совместного использования .padding и .frame
• Используйте GeometryReader с умом
• Эпизодическое использование AnyView
• Обязательное используйте ID в Foreach и List
• Предпочитайте использовать текст, а не метку
• Используйте Group для возврата нескольких экземпляров представления
• Используйте .fixedSize(), чтобы указать, что фрейм не изменяется
Статья: https://apptractor.ru/info/articles/masterstvo-raboty-v-swiftui.html
Платформа: iOS
SwiftUI постепенно набирает силу и становится предпочтительным выбором для создания приложений. В этом посте мы рассмотрим важные моменты, которые помогут вам повысить производительность и эффективность разработки приложений.
• Redux или MVVM?
• Используйте StateObject и ObservableObject
• Создавайте Published переменные с осторожностью
• Разбивайте содержимое body на более мелкие части для минимизации времени компиляции
• Предпочтите State для анимации вместо Published
• Объявляйте объекты Observable в определенном месте, чтобы избежать ненужного обновления UI
• Найдите, какое изменение данных вызывает обновление представления SwiftUI
• Используйте LazyHStack и LazyVStack, если у вас длинный список
• Есть ли что-нибудь похожее на viewDidLoad()?
• Используйте UIKit компоненты непосредственно в SwiftUI
• Модификатор с условиями
• Избегайте совместного использования .padding и .frame
• Используйте GeometryReader с умом
• Эпизодическое использование AnyView
• Обязательное используйте ID в Foreach и List
• Предпочитайте использовать текст, а не метку
• Используйте Group для возврата нескольких экземпляров представления
• Используйте .fixedSize(), чтобы указать, что фрейм не изменяется
Статья: https://apptractor.ru/info/articles/masterstvo-raboty-v-swiftui.html
Платформа: iOS
🔥1
Bluetooth LE Spam - этот проект направлен на использование встроенной функциональности Bluetooth Low Energy (BLE) смартфонов на Android для создания фантомных объявлений для Bluetooth-устройств, аналогичных тем, что использует, например, в случае Flipper Zero. Хотя существуют и другие приложения, обеспечивающие подобную функциональность, целью данного приложения является повышение удобства пользователя в процессе работы. Приложение может спуфить Google Fast Pair, Microsoft Swift Pair, Easy Setup, Apple Device Popups, Apple Action Modals, в отдельных случаях вызывать перезагрузку Apple iOS 17, выключать Lovespouse.
Bluetooth LE Spam на GitHub: https://github.com/simondankelmann/Bluetooth-LE-Spam
Платформа: Android
⭐️: 2.4K
Bluetooth LE Spam на GitHub: https://github.com/simondankelmann/Bluetooth-LE-Spam
Платформа: Android
⭐️: 2.4K
GitHub
GitHub - simondankelmann/Bluetooth-LE-Spam
Contribute to simondankelmann/Bluetooth-LE-Spam development by creating an account on GitHub.
Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru
В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.
Статья: https://habr.com/ru/companies/hh/articles/783002/
Платформа: iOS
В статье мы рассмотрим основы DI, поговорим о том, какую проблему решает этот принцип, окинем общим взглядом возможные варианты реализации: паттерны и популярные библиотеки. Подробно рассмотрим схему, по которой работает DI в многомодульном iOS проекте hh.ru. В конце статьи будет разобран пример простого приложения с аналогичным подходом к инъекции.
Статья: https://habr.com/ru/companies/hh/articles/783002/
Платформа: iOS
CodeEdit - это редактор кода, созданный сообществом для сообщества, написанный для сециально macOS. Среди возможностей - подсветка синтаксиса, завершение кода, поиск и замена по всему проекту, сниппеты, терминал, запуск задач, отладка, интеграция с git, code review, расширения и многое другое.
Цель авторов - сохранить легковесный интерфейс, похожий на TextEdit, но при этом иметь возможность при необходимости масштабировать функциональность до редактора, сравнимого с Xcode.
CodeEdit на GitHub: https://github.com/CodeEditApp/CodeEdit
Платформа: Swift/macOS
⭐️: 19.5K
Цель авторов - сохранить легковесный интерфейс, похожий на TextEdit, но при этом иметь возможность при необходимости масштабировать функциональность до редактора, сравнимого с Xcode.
CodeEdit на GitHub: https://github.com/CodeEditApp/CodeEdit
Платформа: Swift/macOS
⭐️: 19.5K
🔥3💩1
ATHYLPS: пет-проект, приносящий радость от экспериментов с технологиями
Мое новое интервью с Сергеем Опиваловым, Senior Software инженером в Gradle. Обсуждаем его пет-проект — приложение ATHYLPS, тренажер для математических навыков в покере.
Интервью: https://apptractor.ru/info/interview/athylps.html
Платформа: кроссплатформа
Мое новое интервью с Сергеем Опиваловым, Senior Software инженером в Gradle. Обсуждаем его пет-проект — приложение ATHYLPS, тренажер для математических навыков в покере.
Интервью: https://apptractor.ru/info/interview/athylps.html
Платформа: кроссплатформа
❤1
Compose Drag And Drop - это библиотека, которая позволяет легко добавить функциональность перетаскивания в ваши проекты Jetpack Compose или Compose Multiplatform.
Compose Drag And Drop на GitHub: https://github.com/MohamedRejeb/compose-dnd
Платформа: Android
⭐️: 63
Compose Drag And Drop на GitHub: https://github.com/MohamedRejeb/compose-dnd
Платформа: Android
⭐️: 63
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
В комментариях поделитесь интересным видео, который вы посмотрели!
•
(iOS Ru)
SwiftData: новый persistence framework от Apple•
(iOS En)
Simple, Clean Empty States in SwiftUI - ContentUnavailableView•
(iOS En)
SwiftUI Parallax Scroll Effect•
(iOS En)
SwiftUI Pie & Donut Charts•
(iOS En)
SwiftData Storing Images and Bug Fixes•
(iOS En)
SwiftUI App Theme Switcher - Dark Mode Switch•
(And Ru)
Android Auto: как Organic Maps переносили в машину•
(And Ru)
Сколько памяти нужно для сборки: Android-разработчикам о JVM•
(And Ru)
Добавь немного сахара в Espresso или как писать UI тесты под Android•
(And En)
I've Built an Android App With Google's New AI Gemini•
(And En)
Top 3 Hacks to Remove LazyColumn Lag in Jetpack Compose•
(Crs En)
Best Practices for Developing Amazing Kotlin Multiplatform Apps with Pamela Hill•
(Dev Ru)
Как работает видеостриминг в мобильных приложениях•
(Dev Ru)
Sber ML Meetup: AutoML, трейдинг и мультимодальность•
(Dev Ru)
Как мы ВКонтакте ускоряем получение результатов тестов•
(Dev Ru)
Тестируем с широко закрытыми глазами•
(Dev En)
Microsoft Azure Fundamentals Certification CourseВ комментариях поделитесь интересным видео, который вы посмотрели!
AppTractor
SwiftData: новый persistence framework от Apple
Выделим плюсы, минусы и сделаем вывод — хотим ли затаскивать SwiftData в свои проекты.
This media is not supported in your browser
VIEW IN TELEGRAM
AnimatedBottomBarCompose - это библиотека Jetpack Compose, которая упрощает создание стильных нижних навигационных панелей с настраиваемыми анимациями. Она позволяет легко интегрировать привлекательные навигационные панели в ваше приложение для Android, улучшая пользовательский опыт. Библиотека позволяет выбрать один из предопределенных стилей или создать собственный, сделать анимацию, настроить цвета, иконки и анимацию для соответствия стилю вашего приложения.
AnimatedBottomBarCompose на GitHub: https://github.com/canopas/compose-animated-navigationbar
Платформа: Android
⭐️: 57
AnimatedBottomBarCompose на GitHub: https://github.com/canopas/compose-animated-navigationbar
Платформа: Android
⭐️: 57