Boris Dipner • Dev Mastery
Apple выпустила новый открытый язык программирования - Pkl Pkl (произносится как "Пикл") - это язык программирования для создания конфигураций. 🚀 Pkl может генерировать вывод для JSON, YAML, Списков Свойств и других форматов конфигурации. Поддерживает…
Вижу определенный скепсис среди подписчиков по поводу нового языка Pkl. Давайте обсудим, в чем же дело
В целом, то, что Apple сделали язык, который не поддерживается в Xcode, 25% написано на Kotlin, показывают, что совместные работы по интеропу Kotlin - Swift у Apple и Jb идут продуктивно и пока развиваются в неизвестном нам ключе
🔥11😁1
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Pkl – новый язык от Apple
Apple заопенсорсили новый язык программирования – Pkl. Основной юзкейс – описание конфигураций для чего угодно, которые потом могут сериализоваться в JSON, Yaml, Toml, plist и другие форматы. Кажется, что Apple целятся с ним в первую очередь в около-серверные юзкейсы. Завезут ли для конфигов SwiftPM – большой вопрос.
Несколько интересных фактов:
👉Название читается как "Pickle", огурчик.
👉Язык уже какое-то время использовался в Apple как внутренний инструмент, и все им были очень довольны.
👉Нет поддержки в Xcode, но зато есть плагин для IntelliJ IDE.
👉Моя персональная радость, 25% репозитория на GitHub написаны на Kotlin.
Держите ссылки почитать подробнее:
🔗Блог-пост про запуск
🔗Обсуждение на HackerNews
Apple заопенсорсили новый язык программирования – Pkl. Основной юзкейс – описание конфигураций для чего угодно, которые потом могут сериализоваться в JSON, Yaml, Toml, plist и другие форматы. Кажется, что Apple целятся с ним в первую очередь в около-серверные юзкейсы. Завезут ли для конфигов SwiftPM – большой вопрос.
Несколько интересных фактов:
👉Название читается как "Pickle", огурчик.
👉Язык уже какое-то время использовался в Apple как внутренний инструмент, и все им были очень довольны.
👉Нет поддержки в Xcode, но зато есть плагин для IntelliJ IDE.
👉Моя персональная радость, 25% репозитория на GitHub написаны на Kotlin.
Держите ссылки почитать подробнее:
🔗Блог-пост про запуск
🔗Обсуждение на HackerNews
👍5👎1
#анонс И снова Android Worldwide открывает свой CFP: https://sessionize.com/android-worldwide-april-2024 На этот раз на апрель
Sessionize
Android Worldwide April 2024: 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 iOS Broadcast (Андрей Зонов)
✨ OTUS приглашает на бесплатный практический урок "Пишем музыкальный виджет на SwiftUI"
❓ Когда: 15 февраля в 20:00 по мск
🎙Ведущий: Анна Жаркова – руководитель группы разработки.
➡️ Регистрация на вебинар
На вебинаре вы:
✔️ создадите приложение с использованием музыкального сервиса MusicKit и интерактивный виджет к нему;
✔️ познакомитесь со SwiftUI и узнаете, как создавать виджеты с помощью WidgetKit и AppIntents для их интерактивности;
✔️ получите ответы на все возникающие вопросы.
Вебинар является частью полноценного онлайн-курса «iOS Developer. Professional». Курс доступен в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❓ Когда: 15 февраля в 20:00 по мск
🎙Ведущий: Анна Жаркова – руководитель группы разработки.
➡️ Регистрация на вебинар
На вебинаре вы:
✔️ создадите приложение с использованием музыкального сервиса MusicKit и интерактивный виджет к нему;
✔️ познакомитесь со SwiftUI и узнаете, как создавать виджеты с помощью WidgetKit и AppIntents для их интерактивности;
✔️ получите ответы на все возникающие вопросы.
Вебинар является частью полноценного онлайн-курса «iOS Developer. Professional». Курс доступен в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤4🔥2👍1💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Камерный митап для мобильных разработчиков, где каждый может предложить свой кейс для обсуждения по трем трекам: iOS, Android, Flutter.
Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс Go и Яндекс Про. В завершении вечера afterparty — нетворкинг, настолки, вкусная еда и напитки.
Место встречи: Москва-Сити, башня «Око»
Дата и время: 15 февраля, 18:30
Бесплатно. Количество мест ограничено. Регистрация обязательна
Подробнее
Реклама. ООО "Яндекс.Такси" ИНН 7704340310
Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс Go и Яндекс Про. В завершении вечера afterparty — нетворкинг, настолки, вкусная еда и напитки.
Место встречи: Москва-Сити, башня «Око»
Дата и время: 15 февраля, 18:30
Бесплатно. Количество мест ограничено. Регистрация обязательна
Подробнее
Реклама. ООО "Яндекс.Такси" ИНН 7704340310
🔥4
Ладно, мы, опытные разработчики, можем определить, что верно, а что - нет, но для начинающих такой контент - просто ловушка
Forwarded from Kotlin Adept Notes (Alex Panov)
Наткнулся на статью "38 ошибок в Compose" и возникло строгое ощущение, что статью писало ChatGPT, ибо ошибок и неточностей там огромное количество, даже начиная с самых первых пунктов.
1. Нам предлагают написать такой код за место обычной лямбды:
При том, что rememberUpdatedState в целом используется для другого, в примере с обычной лямбдой было бы все окей, так как Compose умеет мемеизировать лямбды со стабильным типами.
В большинстве случаев вам не нужно ничего оптимизировать – это задача команды Compose. Но если все же нужно:
🔵 оберните лямбды с нестабильными типами в remember
🔵 передавайте часто меняющиеся параметры как Sate или лямбду
2. Далее нам предлагают заменить вложенные layout на Box или ConstraintLayout🤡
Тут даже комментировать не хочется, ибо в Compose есть правило одного прохода, вьюшки не меряются два раза, соответственно проблем с производительностью не будет.
Разумеется это не все проблемы в статье, так что не верьте всему, что написано в интернете (мне тоже), а лучше читайте официальную документацию🗿
1. Нам предлагают написать такой код за место обычной лямбды:
@Composable
fun MyComponent() {
var counter by remember { mutableStateOf(0) }
val clickAction = rememberUpdatedState { counter++ }
Button(onClick = { clickAction.value.invoke() }) {
Text("Clicked $counter times")
}
}
При том, что rememberUpdatedState в целом используется для другого, в примере с обычной лямбдой было бы все окей, так как Compose умеет мемеизировать лямбды со стабильным типами.
В большинстве случаев вам не нужно ничего оптимизировать – это задача команды Compose. Но если все же нужно:
2. Далее нам предлагают заменить вложенные layout на Box или ConstraintLayout
Тут даже комментировать не хочется, ибо в Compose есть правило одного прохода, вьюшки не меряются два раза, соответственно проблем с производительностью не будет.
Разумеется это не все проблемы в статье, так что не верьте всему, что написано в интернете (мне тоже), а лучше читайте официальную документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Forwarded from Mobile Broadcast | Анонсы
Добро пожаловать, Никита Евдокимов – новый Mobile Broadcast Expert по Android, Kaspresso
Никита - ведущий мейнтейнер Kaspresso, автор статей о тестировании на Habr и Medium, а также активный участник разработки Kakao. Под его руководством Kaspresso стал еще популярнее, и в ближайшее время появятся новые фитчи для фреймворка.
От нашего нового эксперта мы ожидаем не только новых обновлений, но и ценных советов и поддержки в развитии сообщества. Его опыт и участие станут ценным вкладом в МВ!
#mbe
Никита - ведущий мейнтейнер Kaspresso, автор статей о тестировании на Habr и Medium, а также активный участник разработки Kakao. Под его руководством Kaspresso стал еще популярнее, и в ближайшее время появятся новые фитчи для фреймворка.
От нашего нового эксперта мы ожидаем не только новых обновлений, но и ценных советов и поддержки в развитии сообщества. Его опыт и участие станут ценным вкладом в МВ!
#mbe
🔥10👍2
Forwarded from IT's Meetup – митапы, конференции на каждый день
React Native Workshop: как создавать нативные модули
Онлайн-воркшоп от СберМаркет Tech.
В формате лайфкодинга покажут и расскажут
- как создавать нативные модули и зачем они нужны;
- работа нативных модулей на примере интеграции app metrica;
- как работает Fabric на примере рендера формата изображений qoi.
Ведущий Евгений Прокопьев — мобильный разработчик в СберМаркете.
Регистрация по ссылке.
🗓 15 февраля, 18:00 мск • Онлайн
Онлайн-воркшоп от СберМаркет Tech.
В формате лайфкодинга покажут и расскажут
- как создавать нативные модули и зачем они нужны;
- работа нативных модулей на примере интеграции app metrica;
- как работает Fabric на примере рендера формата изображений qoi.
Ведущий Евгений Прокопьев — мобильный разработчик в СберМаркете.
Регистрация по ссылке.
🗓 15 февраля, 18:00 мск • Онлайн
Forwarded from Воробей
В бете 17.4 для 🇪🇺 дропнули 🚾 PWA приложения. Теперь они открываются в Safari.
Без PWA приложения не умеют хранить локальные данные, получать пуши, а иконка на рабочем столе просто открывает новую вкладку.
🍎 Это из-за того, что можно менять бразуер по умолчанию. Apple спешит релизнуть 17.5 и выпиливают то, что не успевает адаптировать.
Без PWA приложения не умеют хранить локальные данные, получать пуши, а иконка на рабочем столе просто открывает новую вкладку.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3🤯3👍1
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
Device streaming в Android Studio стал доступен всех теперь находится в стадии открытой альфа-версии! Это означает, что вы можете получить доступ к сервису без регистрации в программе раннего доступа. Просто загрузите последнюю версию Canary версию Android Studio и привяжите проект Firebase.
Device Streaming позволяет тестировать приложения на реальных устройствах Android от различных производителей, расположенных в центрах Google, и все это прямо из Android Studio. Сервис можно использовать бесплатно пока он не вышел из Альфа статуса.
#androidstudio #firebase #testing
Device Streaming позволяет тестировать приложения на реальных устройствах Android от различных производителей, расположенных в центрах Google, и все это прямо из Android Studio. Сервис можно использовать бесплатно пока он не вышел из Альфа статуса.
#androidstudio #firebase #testing
🔥7👍4
Forwarded from iOS Broadcast (Андрей Зонов)
Если вы тоже пока не дошли до детального ревью нового языка конфигурации
Pkl
, который представила Apple, вот видео в котором менее чем за 15 минут вы получите базовое понимание синтаксиса и мест для применения Pkl
. 🤯
Pkl
позволяет использовать в конфигурации такие возможности языка, как классы, функции, условия и циклы, что потенциально революционизирует способ обработки конфигураций.💡 Проверка в
Pkl
достигается за счет использования аннотаций типов, а аннотации типов могут опционально иметь определенные ограничения, что делает их надежной и интересной функцией.Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Pkl: Apple's New JSON/YAML Killer (I actually want to use this...)
I would never have guessed that Apple of all companies would make ANOTHER YAML alternative, but here we are. I'll admit, pkl (pickle) is actually really cool. Too bad I don't use Kubernetes lol
BLOG POST: https://pkl-lang.org/blog/introducing-pkl.html
SITE:…
BLOG POST: https://pkl-lang.org/blog/introducing-pkl.html
SITE:…
🔥4
#наблюдения Пока Apple продолжает ломать Api интерактивных виджетов. Обновление раз в минуту, с негаратированным интервалом. У андроид что ли научились 🤔
😢5
О чем это говорит: учитесь писать нативные приложения. Натив будет актуален всегда
💯9
Forwarded from Воробей
Добавить PWA для кастомных веб-движков дорого и сложно. Начиная с iOS 17.4 PWA будут открываться как обычный сайт в Safari
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬3😁2
Больше подробностей об этом скандальном деле: "Apple vs PWA"