iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
977 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🆓 Вот как выглядит современный UIKit
Спустя 5 лет историй про SwiftUI и множества релизов TCA они таки сдались и выпускают серию эпизодов по UIKit. Почему же сейчас, разве SwiftUI не в моде? Ребята признали что время от времени нам придется переходить на UIKit из-за отсутствия функциональности в SwiftUI, или, при просадках в производительности, ведь UIKit более производительный и контролируемый.

В курсе фокус будет направлен на управление состоянием при работе с UIKit.
🟢Применение Observable для байндинга UIKit представлений с моделью
🟢Управление навигацией из состояния state, используя API, похожие на SwiftUI

Звучит интрегующе, особенно в рамках навигации 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🤔3👌1
Появились первые детали про формат WWDC24
🟢Keynote будет транслироваться 10 июня в 20:00 по Москве
🟢Platforms State of the Union начнется в 23:00
🟢Нас ждет более 100 сессий, которые будут сразу транслироваться и на youtube
🟢Будут традиционные лабы, на которые можно записаться
🟢Объявили финалистов Apple Design Award
🟢Запустили главный лэндинг
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0415: Function Body Macros

Принят пропоузал, добавляющий возможность "привязывать" макросы к телу функций. При помощи defer в теле функции мы сможем добавлять код не только перед началом выполнения, но и после выполнения, что открывает множество возможностей для реализации таких макросов.
🟢Логирование через макросы без визуального загромождения тела функции
🟢Снятие метрик производительности
🟢Трейсинг вызовов
🟢Выполнение разных участков кода, в зависимости от конфигурации сборки (Release/Debug)
Please open Telegram to view this post
VIEW IN TELEGRAM
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0436: Objective-C implementations in Swift

Bот еще один принятный пропоузал, достойный 1 апреля. В swift теперь доступен подход с Interface/Implementation из Objective-C. Суть нововведения в новом атрибуте @implementation который позволит Swift расширениям заменить Objective-C @implementation. Это позволит писать классы на Swift, но они будут неотличимы от классов Objective-C, полностью поддерживая подклассы ObjC и все рантайм трюки. В целом, классное дополнение, исключая тот факт, что хотелось бы прийти в мир в котором останется один ЯП для Apple платформ, а не лучшая интеграция с Objective-C ☀️
Please open Telegram to view this post
VIEW IN TELEGRAM
🥸 Усы приходят на Swift
Я как-то пропустил нативную Swift реализацию языка темплейтов Mustache. Он используется для HTML (весь Jango), конфиг-файлов, исходников на любых языках и для чего угодно. Он работает путем расширения тегов в шаблоне с использованием значений, предоставленных в хэше или объекте. Язык Mustache имеет официальную спецификацию и активно используется в кодогенерации OpenAPI (Swagger) и других. Я лично и до этого использовал Mustache для кодогенерации на CI сетевого слоя, но приходилось вызывать реализацию на python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🕸Подходы к проектированию RESTful API (17 мин)
Статья 2016 года и вообще в хабах .Net и C#, но я ее до сих пор использую для пректирования и делюсь с коллегами. Часто мобильным разработчикам приходится принимать участие в проектировании REST API и от того на сколько правильно мы заложим принципы на этапе проектирования, будет зависеть предсказуемость попадания реализации в оценку. Очень советую уделить 17 минут своего времени на статью, когда будете проектировать свой следующий REST. Основные лучшие правктики, которые можно применить везде:

🟢 SSL повсюду — самое важное в вашем сервисе, т. к. без SSL авторизация и аутентификация бессмысленны.
🟢Документация и версионность сервиса — с первого дня работы.
🟢Методы POST и PUT должны возвращать обратно объект, который они изменили или создали, — это позволит сократить время обращения к сервису вдвое.
🟢Поддержка фильтрации, сортировки и постраничного вывода — очень желательно, чтобы это было стандартно и работало «из коробки».
🟢Поддержка MediaType. MediaType — способ сказать серверу, в каком формате вы хотите получить содержимое. Если вы возьмете какую-либо стандартную реализацию web API и зайдете туда из браузера, API отдаст вам XML, а если зайдете через какой-нибудь Postman, он вернет JSON.
🟢Prettyprint & gzip. Не минимизируйте запросы и не делайте компакт для JSON (того ответа, который придет от сервера). Накладные расходы на prettyprint —единицы процентов, что видно, если посмотреть, сколько занимают табы по отношению к общему размеру сообщения. Если вы уберете табы и будете присылать все в одну строку, запаритесь с отладкой. Что касается gzip, он дает выигрыш в разы. Т. ч. очень советую использовать и prettyprint, и gzip.
🟢Используйте только стандартный механизм кэширования (ETag) и Last-Modified (дата последнего изменения) — этих двух параметров серверу достаточно, чтобы клиент понял, что содержимое не требует обновления. Придумывать что-то свое тут не имеет смысла.
🟢Всегда используйте стандартные коды ошибок HTTP. Иначе вам однажды придется кому-нибудь объяснять, почему вы решили, что ошибку 419 в вашем проекте клиенту нужно трактовать именно так, как вы почему-то придумали. Это неудобно и некрасиво — за это клиент вам спасибо не скажет!
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🐥 Основы Objective-C для Swift разработчиков

Objective-C остается неотъемлемой частью многих устаревших проектов и фреймворков Apple. Для разработчиков Swift понимание основ Objective-C может оказаться полезным, особенно при работе со старыми кодовыми базами или интеграции с библиотеками, которые не были обновлены до Swift. Все чаще встречаю разработчиков, кто не сталкивался с Obj-C в работе и боится/избегает исходников с Obj-C.
Это руководство поможет разработчикам Swift познакомиться с Objective-C, осветив ключевые концепции и различия между этими двумя языками и позволит без страха погружаться в Obj-C исходники и читать логику
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤔41👍1
😺️ SampleBuilder

Находка дня - макрос для генерации данных под preview/моки/тесты. Цель SampleBuilder проста: сгенерировать массив данных под ваши модели. Поддерживается достаточно точечная настройка вывода, случайная генерация данных и даже работа с enum
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
🔥 Новая статья о будущем WWDC от Анны Жарковой

👉 Развитие новинок прошлого года
👉 AI
👉 Виджеты, лончеры, live-activity
👉 Новинки Swift
👉 SwiftUI
👉 Безопасность, сеть
👉 API AppStore
👉 Обновления для устройств

А чего вы ждете из новинок? Пишите в комментариях
🔥5
Сколько времени в день вы кодите?
Anonymous Poll
13%
Меньше 1 часа
13%
1-2 часа
28%
2-4 часа
22%
4-6 часов
25%
6+ часов 🤯
🔥3
🔨 Разработчики пишут код меньше часа в день
Очень неожиданные для меня результаты исследования 250 тысяч разработчиков. Разработчики кодят 52 минуты в день — около 4 часов 21 минуты в течение рабочей недели. Время написания кода определяется как время, затраченное на активное написание или редактирование кода в редакторе или IDE. По оценкам, разработчики тратят дополнительно 41 минуту в день на другие виды работы в своих редакторах, такие как чтение кода, просмотр запросов на обновление и просмотр документации.

Вывод исследования - разработчики часто сталкиваются на работе с ограничениями, которые мешают им находить время для написания кода.
Если вам удается в среднем потратить больше 2 часов в день на активную работу с кодом, вы в топ 10% перформеров и у вас в компании все хорошо с процессами и нагрузкой
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔15👌5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🗓 Неделя 🔤 🔤 🔤 🔤 наступила!

🎹 20:00 МСК 🎞 Keynote
🖥 23:00 МСК 🗓 Platforms State of the Union
▶️ Все сессии будут транслироваться в приложении 🍎Apple Developer и на 🎞 канале

Впервые, можно будет обсуждать в чатах Mobile Broadcast своего города
И собраться на совместный просмотр в офисах центров разработки Т-Банк в регионах
📍Воронеж
📍Екатеринбург
📍Ижевск
📍Краснодар
📍Казань + Иннополис
📍Нижний Новгород
📍Ростов-на-Дону
📍Таганрог
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
❗️Рады сообщить вам, что у нас появился сайт Mobile Broadcast

На сайте вы:
▪️ найдете города, где есть сообщество Mobile Broadcast, и фотоотчеты встреч
▪️ познакомитесь с нашими Mobile Broadcast Experts
▪️ сможете подать заявку на регистрацию сообщества в своем городе

Присоединяйтесь к сообществу Mobile Broadcast в своих городах!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👏1🤔1
🎹 WWDC24 Keynote Highlights:

🔗 VisionPro:
🟢Новые жесты
🟢3d фото из обычных
🟢Поддержка мышки и отображение клавиатуры в VR

📖iOS:
🟢Кастомизация рабочего стола
🟢Кастомизация центра уведомлений
🟢Добавление паролей на приложения и возможность спрятать приложение
🟢В iMessage добавили еще немного фич из телеграмм - реакции и отложенная отправка сообщений
🟢Переработали дизайн приложения фотографий с упором в AI подборки

💸🏠Аудио и дом:
🟢Изоляция голоса в Airpods Pro
🟢SDK для персонализации Spacial Audio в приложениях
🟢Робот пылесос можно добавить в Apple Home

🏃📞Активность и часы:
🟢Улучшенный трекинг активности
🟢API жестов двойного тапа
🟢Интерактивные виджеты
🟢Новые кастомизации экранов

📖iPadOS:
🟢🔗Калькулятор пришел на iPad с рукописным вводом
🟢📖Исправление и управление рукописным вводом
🟢Кастомизация рабочего стола и центра уведомлений как на iOS

📝 MacOS:
🟢Имя - Sequoia
🟢📖Взаимодействие с iPhone, как с симулятором
🟢Управление размером и местоположением окна шорткатами
🟢Отдельное приложение для Keychain
🟢🌐Новый режим для чтения и взаимодействия с видео
🟢🎮Упрощение портирование игр на MacOS

🖥 Apple Intellegence:
🟢Фокус на персонализации и приватности
🟢Интеграция во все Apple приложения
🟢Требуется минимум A17 Pro (iPhone 15 Pro и Pro Max) или M1+
🟢Выделенные серверы криптографически защищенные для обработки AI
🟢Переработали Siri
🟢Для действий внутри приложения - App Intents API
🟢Genmoji - AI сгенерированные emoji
🟢Image Playogroud -приложение и API для упрощения генерации изображений без промпт инжиниринга
🟢Image Wand - доработка скетч изображений при помощи AI
🟢CleanUp - AI удаление элементов из фото, как на Google Pixel
🟢ChatGPT интегрирован как дефолтный AI
🟢Xcode локальный автокомплит

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2