Реализация сапера на 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