iOS Broadcast
Статья в которой автор делился своим опытом принеся элементы Rust в Swift переросла в цикл статей, 3/9 уже доступны. Автор заявляет что изменит способ практического использования Swift.
Принципы Type-Driven Design пришли из функционального программирования, но пока не получили значительного внимания со стороны сообщества Swift. Мне понравился подход к структурированию статей через problem-solving.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Изначально в visionOS делалась большая ставка на доступность, в статье можно посмотреть как это работает на практике. Множество примеров, скриншотов и видео.
👉 Использование рук
👉 Siri и диктовка
👉 Альтернативные способы ввода
👉 Клавиатура и трекпад
👉 Управление "указкой"
👉 VoiceOver
👉 Управление голосом
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3
Что это такое? Summer of Code — это ежегодная программа, организованная Google, которая предоставляет практический опыт новичкам, участвующим в опенсорс проектах.
Многие участники GSoC становятся частью сообщества Swift и продолжают вносить свой вклад даже после завершения программы.
Если хотите внести свой вклад в Swift во время GSoC в этом году, необходимо предпринять следующие шаги:
1. Посетите существующую страницу идей проекта
2. Выбрать проект, перейдите в категорию GSoC на форумах Swift, чтобы обсудить проект
3. Когда вы поймете что требуется сделать в рамках проекта - открываете пропоузал
Прием заявок начнется 18 марта и закончится 2 апреля
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
👉 2000 инженеров переходят в усиление отдела генеративного AI. Что логично, ведь в самоуправляемых авто суть в обучении нейронки
👉 Производители авто терпят убытки на «электричках»
👉 Благодаря этому проекту мы получили продвинутый CarPlay
Правильная стратегия на мой взгляд-на раннем этапе развития технологии инвестировали чтобы не отстать. Не стали терять деньги на выпуске продукта, а дождались результатов от конкурентов
Please open Telegram to view this post
VIEW IN TELEGRAM
TechCrunch
Apple cancels its autonomous electric car project and is laying off some workers
The decision brings an end to a decade-long attempt to enter the automotive space, which involved numerous pivots and thousands of workers.
👍10👌3🤔2
👉 Swift 6.0 это бранч от Swift 5.10
👉 Отсечка релиза - 15 марта
👉 Changelog еще в процессе заполнения, но уже понятно что планируется к релизу:
🔘 Expression macro as caller-side default argument
🔘 Task Executor Preference
🔘 Typed throws
🔘 Add Collection Operations on Noncontiguous Elements
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift Forums
Swift 6.0 Release Process
Swift 6.0 Release Process This post describes the release process, and estimated schedule for Swift 6.0. Snapshots of Swift 6.0 Downloadable snapshots of the Swift 6.0 release branch will be posted regularly as part of continuous integration testing. As…
🔥11
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
👉 Все PWA будут иметь WebKit под капотом
❔ Пока не понятно как это отвечает DMA, в рамках которого у всех браузеров должны быть одинаковые возможности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔3
Изоляция занимает ключевое место в работе Swift Сoncurrency. Несмотря на то, что концепция новая, в ней используются знакомые нам механизмы. К сожалению, модель изоляции при работе со SwiftUI подвержена ошибкам. Прямо сейчас, если вы видите SwiftUI View, которая не изолирована от MainActor, это, вероятно, ошибка. Но в UIKit с изоляцией MainActor все проще.
Концепция проста, но правильное выполнение изоляции оказывается невероятно сложным.
Если вы не понимаете о чем я, очень советую разобраться в примерах, которые есть в статье и включить проверку
SWIFT_STRICT_CONCURRENCY
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Реализация сапера на UIKit
6 лет назад, в рамках курса лекции, за 4 академических часа, я сделал небольшой pet-проект на котором показал основы разработки iOS приложений. Натолкнувшись на него сегодня в своем github, внезапно обнаружил:
👉 Swift особо не изменился, проект все еще компилируется без ошибок и предупреждений
👉 Сейчас требуются все те же знания для работы со SwiftUI которые были нужны и для UIKit
👉 Финальная версия осталась только на лекции
Если кто-то в поисках обучающего материала по iOS разработке с UIKit, все еще актуально
6 лет назад, в рамках курса лекции, за 4 академических часа, я сделал небольшой pet-проект на котором показал основы разработки iOS приложений. Натолкнувшись на него сегодня в своем github, внезапно обнаружил:
👉 Swift особо не изменился, проект все еще компилируется без ошибок и предупреждений
👉 Сейчас требуются все те же знания для работы со SwiftUI которые были нужны и для UIKit
👉 Финальная версия осталась только на лекции
Если кто-то в поисках обучающего материала по iOS разработке с UIKit, все еще актуально
👍18🔥3
Forwarded from Android Broadcast (Кирилл Розов)
В аналитике AppMetrica появился новый инструмент — предсказания LTV (lifetime value) и оттока. Предикты помогут владельцам мобильных приложений оптимизировать рекламные кампании на пользователей с высоким LTV и вовремя начать работу по удержанию пользователей.
Фича работает на основе предиктивной модели на базе ML наработок Яндекса. Модель обучена на обезличенных данных 10+ тыс приложений из различных категорий.
Одна из самых классных фичей — предсказания оттока пользователей. Она выделит пользователей, с которыми нужно дополнительно работать для избежания оттока.
#analytics #appmetrica #яндекс
Фича работает на основе предиктивной модели на базе ML наработок Яндекса. Модель обучена на обезличенных данных 10+ тыс приложений из различных категорий.
Одна из самых классных фичей — предсказания оттока пользователей. Она выделит пользователей, с которыми нужно дополнительно работать для избежания оттока.
#analytics #appmetrica #яндекс
👍1
5 марта вышла релизная версия Xcode 15.3, основные нововведения:
🌟 Новая опция сборки Override Architectures, управляет набором архитектур
🐛 Исправили баг, который приводил к увеличению бинарника при использовании Mergable Library
🌟 SE-0412: Строгая многопоточность для глобальных переменных
🌟 SE-0411: Изоляция значений по умолчанию
🐛 Исправили генерацию лишних предупреждений при вызовах AsyncIteratorProtocol.next()
🐛 Закрыли все известные дыры в модели безопасности статической передачи данных при полной проверке параллелизма. -strict-concurrency=complete
⚠️ XCTest теперь требует минимальный таргет iOS 13.0
⚠️ XCTest UI Automation APIs могут исполняться только в главном потоке, форсится в момент компиляции
Все нововведения Swift 5.10 с примерами
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer Documentation
Xcode 15.3 Release Notes | Apple Developer Documentation
Update your apps to use new features, and test your apps against API changes.
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Разбираемся с новыми фичами
Строгий параллелизм для глобальных переменных.
Даже в таком простом примере компилятор с флагом
-strict-concurrency=complete
обнаруживает в коде 3 потенциально опасных места для состояния гонки. Чтобы их исправить, необходимо явно отметить макросом @MainActor
или nonisolated(unsafe)
места в которых обращения могут происходить из разных потоковPlease open Telegram to view this post
VIEW IN TELEGRAM
👍5
Противостояние Apple и Epic Games, что происходит?
📘 Apple и Epic Games уже много лет судятся по поводу требования Apple получать 30% доходов разработчика игр от пользователей iPhone, Fortnite и другие игры были удалены из App Store, а все аккаунты разработчиков Epic были заблокированы в 2020 году.
📘 ЕС принял Закон о цифровых рынках и компания Epic Games получила учетную запись разработчика Apple и объявила о планах по открытию магазина Epic Games Store в Европе
📘 Apple закрыла аккаунт после того как директор Epic - Тим Суини публично высказался против политику Apple. Apple назвала его компанию "заведомо ненадежной”.
📘 Суини в пятницу объявил что Apple восстановит доступ, чтобы вернуть Fortnite и запустить Epic Games Store в Европе в соответствии с законом DMA
Что тут важно для разработчиков:
📘 В странах действия DMA разработчики смогут опротестовать блокировку своих учетных записей
📘 Apple демонстративно показывает на примере Epic невыгодность попыток оспаривать комиссии и пытается не допустить прецендента полной победы Epic в противостоянии
Если раньше мне казались все попытки Epic борьбой с ветряными мельницами, то сейчас я им благодарен. Особенно учитывая сколько Epic потерял за 4 года отсутствия Fortnite на самой прибыльной мобильной платформе
Что тут важно для разработчиков:
Если раньше мне казались все попытки Epic борьбой с ветряными мельницами, то сейчас я им благодарен. Особенно учитывая сколько Epic потерял за 4 года отсутствия Fortnite на самой прибыльной мобильной платформе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👍1
Репозиторий с целым набором рецептов по работе со SwiftConcurrency. Уверен, у каждого есть набор своих gist или кусков проекта к которым мы прибегаем в момент решения задачи которую уже решали. Теперь есть место, к которому можно обратиться и если не нашли там решения-законтрибьютить и помочь open-source.
👉 Создание асинхронного контекста
👉 Использование с протоколами
👉 Изоляция
👉 Структурированный параллелизм
👉 SwiftUI
👉 Использование с библиотеками, не расчитанными для работы со Swift Concurrency
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mattmassicotte/ConcurrencyRecipes: Practical solutions to problems with Swift Concurrency
Practical solutions to problems with Swift Concurrency - mattmassicotte/ConcurrencyRecipes
👍2
Пользователям ЕС будет предоставлена возможность скачивать приложения прямо с сайта разработчика.
Apple предоставит доступ к API-интерфейсам, которые облегчат распространение приложений, интеграцию с системными функциями, резервное копирование и восстановление приложений
Все детали уже доступны - Getting ready for Web Distribution in the EU
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple
More options for apps distributed in the European Union - Latest News - Apple Developer
We’re providing more flexibility for developers who distribute apps in the European Union (EU), including introducing a new way to distribute apps directly from a developer’s website.More flexibilityDevelopers who’ve agreed to the Alternative Terms Addendum…
👍11🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Если вы используете SwiftUI, вы точно использовали модификатор .onTapGesture().
Этот модификатор очень удобен, так как позволяет определить кложуру, которая будет вызываться при нажатии на View, к которой был прикреплен.
Тем не менее, важно быть осторожным, при использовании модификатора. В статье рассматривается несколько вариантов, с правильным и потенциально проблемным случаем
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔2
Forwarded from Android Broadcast (Кирилл Розов)
BDUI на 100%: управляем шиммерами с бэкенда (44 мин)
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой язык, похожий на Lisp, и почему обычный JSON или бинарный формат не подошли, как они научились генерировать код под обе платформы (iOS, Android) с помощью Python и почему отказались от идеи использовать KMM.
Слайды доклада тут
#видео #bdui
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой язык, похожий на Lisp, и почему обычный JSON или бинарный формат не подошли, как они научились генерировать код под обе платформы (iOS, Android) с помощью Python и почему отказались от идеи использовать KMM.
Слайды доклада тут
#видео #bdui
YouTube
Михаил Бесхитров — BDUI на 100%: управляем шиммерами с бэкенда
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой…
— —
В команде развития BDUI в Маркете разработали собственный язык для описания шиммеров, научились его быстро парсить и внедрили в приложение и бэкенд. Спикер рассказал, почему решили разрабатывать свой…
❤2
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
Экспериментальное MediaPipe LLM Inference API позволяет запускать Large Language Models (LLMs) модели на устройства разных платформ (включая Android и iOS)
Кажется запуск больших нейросеток на устройствах уже все ближе. У меня остались вопрос по расходу батарейки и нагреву устройству при активном использовании. В статье рассказывают про оптимизации и результаты
🔗 Примеры кода на GitHub
На видео в посте демонстрация запуска модели Gemma 2B на iOS и Android с помощью MediaPipe LLM Inference API (размер параметров - 2.5 миллиона)
#ml #tensorflow
Кажется запуск больших нейросеток на устройствах уже все ближе. У меня остались вопрос по расходу батарейки и нагреву устройству при активном использовании. В статье рассказывают про оптимизации и результаты
🔗 Примеры кода на GitHub
На видео в посте демонстрация запуска модели Gemma 2B на iOS и Android с помощью MediaPipe LLM Inference API (размер параметров - 2.5 миллиона)
#ml #tensorflow
🔥5❤1👍1
Не сильно замеченный сообществом язык конфигурации от Apple действительно имеет сильные предпосылки стать новым стандартом индустрии. Он программируемый, расширяемый, а главное безопасный. Собрал для вас основные преимущества, который удалось выявить:
👉 Знакомый и понятный синтаксис, даже проще JSON
👉 Гибкое заполнение файлов конфигурации из коробки
👉 Возможность использовать все возможности привычных языков программирования для создания конфигураций
👉 Рендер конфигурации во все привычные форматы, JSON, YML, Plist...
👉 Гибкий синтаксис для задания ограничений полям
👉 Понятный CLI с детальными ошибками
👉 Кодогенерация в Swift, Kotlin, Java и Go
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍2🤔2