Если вы хотите выступить на международной онлайн-митапе Android Worldwide, у вас остались сутки, чтобы подать заявку:
https://sessionize.com/android-worldwide-april-2023/
Торопитесь!
Следующий CFP будет через 3 месяца
https://sessionize.com/android-worldwide-april-2023/
Торопитесь!
Следующий CFP будет через 3 месяца
Sessionize
Android Worldwide April 2023: Call for Speakers
Android Worldwide is an international group of developer communities that like to collaborate. Once every three months we organize free technical even...
Forwarded from Android Broadcast (Кирилл Розов)
В Android SDK появились интересные аннотации для вызова native методов для ускорения работы JNI в ART runtime:
🚀 @CriticalNative - использовать самую быструю JNI передачу из управляемого кода в нативный и обратно
👉 @FastNative - использовать более быструю (по сравнению с обычной) JNI передачу из управляемого кода в нативный и обратно
@android_broadcast #android14
🚀 @CriticalNative - использовать самую быструю JNI передачу из управляемого кода в нативный и обратно
👉 @FastNative - использовать более быструю (по сравнению с обычной) JNI передачу из управляемого кода в нативный и обратно
@android_broadcast #android14
TechTrain 1 апреля будет посвящен на этот раз AI https://techtrain.ru/talks/
TechTrain 2024 Spring. Фестиваль по профессиональному росту в IT
TechTrain 2024 Spring | Расписание | TechTrain 2024 Spring — бесплатный онлайн-фестиваль про AI в целом и ML — в особенности.
…
…
Расписание фестиваля TechTrain 2024 Spring.
Forwarded from Android Broadcast (Кирилл Розов)
В Jetpack Annotation появилась новая аннотация - @Discouraged. Она схожа с @Deprecated, но предназначается если вы не хотите что-то помечать устаревшим, но хотите "не рекомендуется к использованию"
#jetpack
#jetpack
🔥8
Forwarded from TechTrain, канал фестиваля
TechTrain 2023 Spring ищет экспертов! 👀
Choo-choo!
До мероприятия осталось две недели, и нам нужна ваша помощь. Будет много участников и вопросов от них, поэтому нашим спикерам нужно помочь с модерацией.
А еще все выступления проходят в онлайне, а спикерам в онлайне бывает одиноко. 🥺 Поэтому мы приглашаем на каждый доклад одного эксперта.
Его задача — выйти вместе со спикером в эфир, представить его, провести небольшой small talk, помочь с интерактивом, задать вопросы участников из чата (а можно и свои), модерировать дискуссию после доклада.
Мы ожидаем, что эксперт разбирается в теме, сможет отфильтровать содержательные вопросы от пустых и поддержать тему разговора. Вы можете находиться в любой точке мира — главное, чтобы интернет был надежный и толстый.
С нас — обучение, знакомства со спикерами и слава 🙂
С вас — желание раскрыть тему доклада глубже.
Сейчас мы ищем экспертов на доклады:
✔️Иван Ямщиков — про сценарии развития ИИ
✔️Асхат Уразбаев — про управление ML-продуктами
✔️Дмитрий Сошников — про реализацию мечт с помощью ИИ
✔️Александр Дмитриев — про ИТ в садоводстве
Хотите стать экспертом на TТ? Тогда пишите координатору конференции Маше: @mariialav. Она все расскажет и покажет.
Choo-choo!
До мероприятия осталось две недели, и нам нужна ваша помощь. Будет много участников и вопросов от них, поэтому нашим спикерам нужно помочь с модерацией.
А еще все выступления проходят в онлайне, а спикерам в онлайне бывает одиноко. 🥺 Поэтому мы приглашаем на каждый доклад одного эксперта.
Его задача — выйти вместе со спикером в эфир, представить его, провести небольшой small talk, помочь с интерактивом, задать вопросы участников из чата (а можно и свои), модерировать дискуссию после доклада.
Мы ожидаем, что эксперт разбирается в теме, сможет отфильтровать содержательные вопросы от пустых и поддержать тему разговора. Вы можете находиться в любой точке мира — главное, чтобы интернет был надежный и толстый.
С нас — обучение, знакомства со спикерами и слава 🙂
С вас — желание раскрыть тему доклада глубже.
Сейчас мы ищем экспертов на доклады:
✔️Иван Ямщиков — про сценарии развития ИИ
✔️Асхат Уразбаев — про управление ML-продуктами
✔️Дмитрий Сошников — про реализацию мечт с помощью ИИ
✔️Александр Дмитриев — про ИТ в садоводстве
Хотите стать экспертом на TТ? Тогда пишите координатору конференции Маше: @mariialav. Она все расскажет и покажет.
Совсем скоро пройдет 10 юбилейный Podlodka Android Crew. Тема недели 3-7 апреля «Jetpack Compose и KMM в продакшене»
https://podlodka.io/droidcrew
https://podlodka.io/droidcrew
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Forwarded from Кирилл Розов. Блог броадкастера
Совсем скоро (3 апреля) стартует юбилейный 10ый сезон Podlodka Android Crew, посвященный Jetpack Compose и Kotlin Multiplatform Mobile в проде 🔥
Как всегда я выбил у ребят самую большую скидку из всех по промокоду
Как всегда я выбил у ребят самую большую скидку из всех по промокоду
CREW10_BROADCAST
Билет и расписание тут https://cutt.ly/44aVqcS🔥4
Forwarded from Мамкин Дизайнер
Давненько я не ковырял Midjourney, а тем временем вышла уже четвертая версия их нейронки и она очень сильно натаскалась.
Разница между изображениями — 6 месяцев, это один и тот же запрос, но разительные по качеству первые и финальные варианты. Просто отвал башки 😻
Я уже писал небольшую инструкцию по использованию, но можно освежить в памяти
Разница между изображениями — 6 месяцев, это один и тот же запрос, но разительные по качеству первые и финальные варианты. Просто отвал башки 😻
Я уже писал небольшую инструкцию по использованию, но можно освежить в памяти
Врываемся с хорошими новостями в эту пятницу. Открыт для обсуждения proposal о внесении статиков в Kotlin
https://github.com/Kotlin/KEEP/issues/348
https://github.com/Kotlin/KEEP/issues/348
👍4👎1🤔1
Forwarded from Mobile Developer (Pavel Kachan)
Телефоны с ОС Аврора можно получить теперь по всей России
https://auroraos.ru/beta
Ребята из Открытой мобильной платформы (компания-разработчик Авроры) еще в феврале выкатили анкету для участия в бета тесте операционки для всех желающих по всей России. Нюанса два:
👉 Есть конкуренция в отборе, то есть все анкеты внимательно просматривают и всех подряд не берут, но у разработчиков шансы большие (советую подробно заполнить анкету)
👉 Если регион не включен в программу бета тестирования, то бесплатное устройство можно будет получить только после набора критической массы одобренных заявок в регионе
В чем плюсы получения устройства на Авроре:
🤙 Потестить операционку и начать пилить под нее приложения одним из первых
🤙 Познакомиться с очень активными людьми в коммьюнити (не только разработчиками)
🤙 Бесплатно получить телефон в пользование
https://auroraos.ru/beta
Ребята из Открытой мобильной платформы (компания-разработчик Авроры) еще в феврале выкатили анкету для участия в бета тесте операционки для всех желающих по всей России. Нюанса два:
👉 Есть конкуренция в отборе, то есть все анкеты внимательно просматривают и всех подряд не берут, но у разработчиков шансы большие (советую подробно заполнить анкету)
👉 Если регион не включен в программу бета тестирования, то бесплатное устройство можно будет получить только после набора критической массы одобренных заявок в регионе
В чем плюсы получения устройства на Авроре:
🤙 Потестить операционку и начать пилить под нее приложения одним из первых
🤙 Познакомиться с очень активными людьми в коммьюнити (не только разработчиками)
🤙 Бесплатно получить телефон в пользование
👍6🤡3
Псс, тут Константин Цховребов сделал конструктор приложений на Compose Multiplatform
🤯2
Forwarded from Kotlin Multiplatform (Kostya)
https://terrakok.github.io/Compose-Multiplatform-Wizard/
Раз уж итак нашли, то презентую ☺️
Вот, сделал за пару вечеров веб приложение, чтобы можно было сгенерировать мультиплатформенное приложение на компоузе.🥳
Сразу можно подключить все наиболее востребованные библиотеки для старта, которые работают на всех платформах 😎
После генерации достаточно запустить
Ну и в сгенеренном ридми есть остальная необходимая информация
Раз уж итак нашли, то презентую ☺️
Вот, сделал за пару вечеров веб приложение, чтобы можно было сгенерировать мультиплатформенное приложение на компоузе.🥳
Сразу можно подключить все наиболее востребованные библиотеки для старта, которые работают на всех платформах 😎
После генерации достаточно запустить
./gradlew run
и увидеть результат 🤩Ну и в сгенеренном ридми есть остальная необходимая информация
❤9👍4
Forwarded from Mobile Developer (Алексей Гладков)
Пытаемся создать приложение на Jetpack Compose для дизайна с Dribble [EN]
https://proandroiddev.com/jetpack-compose-tutorial-replicating-dribbble-audio-app-screen-transitions-e0e2b7da1129
Ничто не вызывает столько боли у разработчиков, как полет фантазии дизайнера. Особенно если это дизайн с Dribble
В этой статье:
👉 Как делать SharedTransitions
👉 Как делать Drag’n’Drop
Приятного чтения
https://proandroiddev.com/jetpack-compose-tutorial-replicating-dribbble-audio-app-screen-transitions-e0e2b7da1129
Ничто не вызывает столько боли у разработчиков, как полет фантазии дизайнера. Особенно если это дизайн с Dribble
В этой статье:
👉 Как делать SharedTransitions
👉 Как делать Drag’n’Drop
Приятного чтения
Medium
Jetpack Compose Tutorial: Replicating Dribbble Audio App — Screen Transitions
Implementing a fully custom UI with complex animations: Moving between screens
❤5👍2
Apple уже опубликовала анонс WWDC 2023, который пройдет 5-9 июня:
https://developer.apple.com/wwdc23/. А это значит, что время загадывать и угадывать, что же нового нам представят из инструментария iOS SDK.
https://developer.apple.com/wwdc23/. А это значит, что время загадывать и угадывать, что же нового нам представят из инструментария iOS SDK.
Apple Developer
WWDC25
Join the worldwide developer community online for a week of technology and creativity.
И начнем мы со Swift 5.8, который вышел официально https://www.swift.org/blog/swift-5.8-released/ . В новой версии появились доработки, связанные как с самим sdk и Swift, так и SPM, инструментом документации и SwiftSyntax.
Часть новинок уже разобрал у себя Пол Хадсон (https://www.hackingwithswift.com/articles/256/whats-new-in-swift-5-8)
https://debash.medium.com/swift-5-8-что-нового-ff0d55d6238b
https://byby.dev/swift-58
1. SDK
SE-0274: Concise magic file names - краткие псевдонимы для файлов
С помощью #file теперь можно будет включить вывод пути к исходному файлу в формате Module/<filename>.swift
// New behavior, when enabled
print(#file)
// Old behavior, when needed
print(#filePath)
SE-0362: Piecemeal adoption of upcoming language improvements - в этой фиче появляется флаг компиляции -enable-upcoming-feature X, где X - имя фичи в формате UpperCamelCaseFeatureName. Например, так мы можем брать что-то из разработки под Swift 6 для Swift 5.8
SE-0365: Allow implicit self for weak self captures, after self is unwrapped - Неявное использование self для слабых ссылок после их развертывания
class ViewController {
let button: Button
func setup() {
button.tapHandler = { [weak self] in
guard let self else { return }
dismiss()
}
}
func dismiss() { ... }
}
SE-0367: Conditional compilation for attributes - условная компиляция атрибутов
#if compiler(>=9999) && COMPILATION_CONDITION
public typealias IntegerLiteralType = StaticBigInt
#else
public typealias IntegerLiteralType = UInt64
#endif
SE-0368: StaticBigInt - новый тип для больших Int
SE-0369: Add CustomDebugStringConvertible conformance to AnyKeyPath - добавляет соответствие протоколу CustomDebugStringConvertible для AnyKeyPath. Это позволит отображать отладочную ссылку как \ParentTypeName.PropertyName. Сейчас этот путь отображается как KeyPath<ParentTypeName, PropertyTypeName>
SE-0370: Pointer Family Initialization Improvements and Better Buffer Slices
SE-0372: Document Sorting as Stable - касается функций сортировки в Swift. Теперь они официально отмечены как “устойчивые”. Это означает, что элементы, которые равны по значению, будут оставаться в том же порядке, в котором были в исходном массиве после сортировки.
SE-0373: Lift all limitations on variables in result builders - Снятие ограничений на переменные в теле замыкающих выражений. Ослабляет некоторые ограничения на переменные, используемые в теле замыкающих выражений, позволяя писать код, который ранее возвращал ошибку компиляции.
**SE-0374: Add sleep(for:) to Clock**- решает дисбаланс в API между интерфейсами sleep для clock и tasks. Добавленный API позволяет работать с duration, что решает проблему:
let clock: any Clock<Duration> = ContinuousClock()
// Duration-based
try await clock.sleep(for: .seconds(1))
SE-0375: Opening existential arguments to optional parameters - Открытие существующих аргументов для опциональных параметров.
Исправляет проблему, связанную с использованием дженерик)функций с опциональными значениями. В версии Swift 5.7 использование протоколов для вызова универсальных функций не работало с опциональными значениями, но теперь в Swift 5.8 это исправлено
func optionalDouble<T: Numeric>(_ number: T?) -> T {
let numberToDouble = number ?? 0
return numberToDouble * 2
}
let first = 1
let second = 2.0
let third: Float = 3
let numbers: [any Numeric] = [first, second, third]
for number in numbers {
print(optionalDouble(number))
}
SE-0376: Function Back Deployment - Обратное развёртывание функции
SE-0376 добавляет новый атрибут @backDeployed, который позволяет использовать новые API в более старых версиях фреймворков. Благодаря этому атрибуту код функции записывается в двоичный файл приложения и уже в рантайме в зависимости от версии iOS используется либо заранее подготовленный файл, либо нативная реализация нового API.
При этом надо понимать, что @backDeployed применяется только к функциям, методам, сабскриптам и вычисляемым свойствам.
Часть новинок уже разобрал у себя Пол Хадсон (https://www.hackingwithswift.com/articles/256/whats-new-in-swift-5-8)
https://debash.medium.com/swift-5-8-что-нового-ff0d55d6238b
https://byby.dev/swift-58
1. SDK
SE-0274: Concise magic file names - краткие псевдонимы для файлов
С помощью #file теперь можно будет включить вывод пути к исходному файлу в формате Module/<filename>.swift
// New behavior, when enabled
print(#file)
// Old behavior, when needed
print(#filePath)
SE-0362: Piecemeal adoption of upcoming language improvements - в этой фиче появляется флаг компиляции -enable-upcoming-feature X, где X - имя фичи в формате UpperCamelCaseFeatureName. Например, так мы можем брать что-то из разработки под Swift 6 для Swift 5.8
SE-0365: Allow implicit self for weak self captures, after self is unwrapped - Неявное использование self для слабых ссылок после их развертывания
class ViewController {
let button: Button
func setup() {
button.tapHandler = { [weak self] in
guard let self else { return }
dismiss()
}
}
func dismiss() { ... }
}
SE-0367: Conditional compilation for attributes - условная компиляция атрибутов
#if compiler(>=9999) && COMPILATION_CONDITION
public typealias IntegerLiteralType = StaticBigInt
#else
public typealias IntegerLiteralType = UInt64
#endif
SE-0368: StaticBigInt - новый тип для больших Int
SE-0369: Add CustomDebugStringConvertible conformance to AnyKeyPath - добавляет соответствие протоколу CustomDebugStringConvertible для AnyKeyPath. Это позволит отображать отладочную ссылку как \ParentTypeName.PropertyName. Сейчас этот путь отображается как KeyPath<ParentTypeName, PropertyTypeName>
SE-0370: Pointer Family Initialization Improvements and Better Buffer Slices
SE-0372: Document Sorting as Stable - касается функций сортировки в Swift. Теперь они официально отмечены как “устойчивые”. Это означает, что элементы, которые равны по значению, будут оставаться в том же порядке, в котором были в исходном массиве после сортировки.
SE-0373: Lift all limitations on variables in result builders - Снятие ограничений на переменные в теле замыкающих выражений. Ослабляет некоторые ограничения на переменные, используемые в теле замыкающих выражений, позволяя писать код, который ранее возвращал ошибку компиляции.
**SE-0374: Add sleep(for:) to Clock**- решает дисбаланс в API между интерфейсами sleep для clock и tasks. Добавленный API позволяет работать с duration, что решает проблему:
let clock: any Clock<Duration> = ContinuousClock()
// Duration-based
try await clock.sleep(for: .seconds(1))
SE-0375: Opening existential arguments to optional parameters - Открытие существующих аргументов для опциональных параметров.
Исправляет проблему, связанную с использованием дженерик)функций с опциональными значениями. В версии Swift 5.7 использование протоколов для вызова универсальных функций не работало с опциональными значениями, но теперь в Swift 5.8 это исправлено
func optionalDouble<T: Numeric>(_ number: T?) -> T {
let numberToDouble = number ?? 0
return numberToDouble * 2
}
let first = 1
let second = 2.0
let third: Float = 3
let numbers: [any Numeric] = [first, second, third]
for number in numbers {
print(optionalDouble(number))
}
SE-0376: Function Back Deployment - Обратное развёртывание функции
SE-0376 добавляет новый атрибут @backDeployed, который позволяет использовать новые API в более старых версиях фреймворков. Благодаря этому атрибуту код функции записывается в двоичный файл приложения и уже в рантайме в зависимости от версии iOS используется либо заранее подготовленный файл, либо нативная реализация нового API.
При этом надо понимать, что @backDeployed применяется только к функциям, методам, сабскриптам и вычисляемым свойствам.
Swift.org
Swift 5.8 Released!
Swift 5.8 is now officially released! 🎉 This release includes major additions to the language and standard library, including hasFeature to support piecemeal adoption of upcoming features, an improved developer experience, improvements to tools in the Swift…
👍2
SE-0381: DiscardingTaskGroups позволит создавать группы задач, отбрасывающие дочерние задачи сразу после их завершения вместо явного использования await.
Swift Package Manager
SE-0362: Piecemeal adoption of upcoming language improvements
SE-0378: Package Registry Authentication
Swift Package Manager
SE-0362: Piecemeal adoption of upcoming language improvements
SE-0378: Package Registry Authentication
Через 1.5 часа стартуем крутую юбилейную неделю на Podlodka Android Crew:
https://podlodka.io/droidcrew
В программе Jetpack Compose + KMM. Будет очень много интересного и крутого;) И я даже не могу выбрать, какие доклады рекомендовать больше, поэтому очень рекомендую прям ВСЁ.
А в четверг 6 апреля в 19 Мск я расскажу и покажу, как работать с популярными DI библиотеками в приложении KMM (нативный андроид апп я переписала на Compose).
Приходите 😉
https://podlodka.io/droidcrew
В программе Jetpack Compose + KMM. Будет очень много интересного и крутого;) И я даже не могу выбрать, какие доклады рекомендовать больше, поэтому очень рекомендую прям ВСЁ.
А в четверг 6 апреля в 19 Мск я расскажу и покажу, как работать с популярными DI библиотеками в приложении KMM (нативный андроид апп я переписала на Compose).
Приходите 😉
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
🔥3👍1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Вышел Kotlin 1.8.20
👉 Улучшения в K2 компиляторе
👉 Новая инкрементальная компиляция в JVM включена по умолчанию
👉 Поддержка WebAssembly. Новый экспериментальный таргет - Kotlin/Wasm
👉 Часть таргетов Kotlin/Native помечены как deprecated и будут удалены в 1.9.20
👉 Экспериментальная поддержка AutoClosable и Base64 кодировки в стандартной библиотеке
Превью фичи следующей версии языка (включаются спец. флагами)
🎉 Современная замена получения всех значений Enum
🎉 data object
🎉 Дополнительные конструкторы в inline классах
📺 Видео версия обзора новинок (13 мин)
#kotlin @kotlin_broadcast
👉 Улучшения в K2 компиляторе
👉 Новая инкрементальная компиляция в JVM включена по умолчанию
👉 Поддержка WebAssembly. Новый экспериментальный таргет - Kotlin/Wasm
👉 Часть таргетов Kotlin/Native помечены как deprecated и будут удалены в 1.9.20
👉 Экспериментальная поддержка AutoClosable и Base64 кодировки в стандартной библиотеке
Превью фичи следующей версии языка (включаются спец. флагами)
🎉 Современная замена получения всех значений Enum
🎉 data object
🎉 Дополнительные конструкторы в inline классах
📺 Видео версия обзора новинок (13 мин)
#kotlin @kotlin_broadcast