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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Compose iOS переходит в стадию Beta 🔥

#kotlinconf24 #compose #kmp #ui #ios
👏7🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
📱 SwiftUI на iOS 14 😥 (19 минут)
Отличный лонгрид от ребят из Яндекс Диска. Показали что UIKit и SwiftUI неплохо уживаются вместе, и для этого не обязательно иметь высокий таргет, с таргетом iOS 14 можно жить. В статье разобраны основные проблемы, с которыми можно столкнуться, а главное путь поиска причины и решения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1
Новый дизайн форума разработчиков Apple
В преддверии WWDC, Apple обновили интерфейс своего форума для разработчиков. В анонсе заявляется что это сделано для общения с экспертами Apple, инженерами и друг с другом. Выглядит действительно лучше, интересно, станет ли он живым или так и останется местом на которое ты попадаешь на 2 странице поисковика
👍61
🍎Apple делает ставку на пользователей в битве за инновации в искусственном интеллекте
Чем ближе WWDC тем больше сливов вокруг AI проектов, которые будут представлены на конференции. Инсайдеры говорят что Apple готовит другой подход к использованию ИИ.
🟢Фокус на облегчении повседневных задач
🟢В сердце будет проект "Greymatter" - набор инструментов для использования в приложениях
🟢На Keynote нам скорее всего покажут примеры его применения на приложениях Apple, фото, заметки, браузер, нотификации и полностью переработанная Siri
🟢Новый процессор в актуальных iPhone будет способен исполнять задачи локально
🟢Все сложные AI запросы будут исполняться на выделенных M2 Ultra машинах в датацентрах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍1
🆓 Вот как выглядит современный 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