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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Forwarded from Mobile Broadcast | Анонсы (Кирилл Broadcast)
Сообщество Mobile Broadcast @mobile_broadcast_news расширяется за пределы локальных сообществ! Встречайте сообщество экспертов мобильной разработки Mobile Broadcast Experts (MBE)

Каждый MBE - это эксперт в направление, который хорошо знает технологию и делает вклад в ее развитие, а также популяризирует её!

Позже мы расскажем как вы можете быть сертифицированы как эксперт, следите за новостями
👎13👍10
This media is not supported in your browser
VIEW IN TELEGRAM
🐱 TipKit-Examples
Мы уже разбирали статьи и доклады про TipKit но пока его не стали все использовать, сложно понять как он выглядит и ощущается. Анимации и поведение нужны для спецификации задач и демонстации нативного элемента дизайнеру. Простой Example, который можно поставить на свой телефон уже сегодня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎3
This media is not supported in your browser
VIEW IN TELEGRAM
На Reddit обсуждают Sideloading в новой бете iOS
В актуальной iOS 17.2 beta нашли возможность устанавливать ipa напрямую, например через airdrop. Успешно завершается установка если эту ipa вы сами ранее скачали из App Store под своей учетной записью Apple ID, другими словами-подписали. При попытке установить файл, связанный с чужой записью Apple ID, вываливается ошибка с невозможностью проверки его целостности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎2
🖥 Готов ли Swift OpenAPI Generator для продуктивного кода? (10 мин 🇷🇺)
Детальный разбор про нативный Swift OpenAPI (Swagger) генератор исходников. Вообще я фанат подхода с кодогенерацией сетевого слоя, это не только сокращение бойлерплейта но и исключение человеческого фактора на уровне клиент-серверного взаимодействия. Если вам предоставляют Swagger с методами бека, вы можете генерировать нативный код: модели, запросы, парсеры, ошибки согласно спецификации. Сам давно использую java генератор для шаринга Spec-first подхода и для клиента и для сервера, но его интеграция гораздо сложнее для мобильной команды чем новый Swift генератор ❤️‍🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍3
⚡️🍎Страшно быстрые новинки Apple

Сегодня ночью Apple провела мероприятие в канун Хэллоуина с говорящим названием, "Scary Fast". Страшно быстрое новое поколение чипов M-серии, MacBook Pro и iMac. Это было первое мероприятие, начавшееся с "Добрый вечер". По ссылке вас ждет детельный обзор всех новинок, коротко:

⌨️Новое поколение чипов серии M: M3, M3 Pro и M3 Max. Изготовлены по 3-нм техпроцессу, в GPU появилось динамическое кэширование, аппаратная трассировка лучей, улучшена энергоэффективность, до 128 ГБ RAM
💻Новая линейка MacBook Pro с чипами M3. Теперь от $1599 за базовую 14-дюймовую модель, на 20% быстрее чем M2 и M3 Max почти в 2 раза быстрее, чем M2 Max.
💻iMac обновился с M1 сразу на M3. Цена осталась прежней, от $1299, но в 2 раза быстрее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Плохая практика: не использовать фантомные типы (2 мин 🇺🇸)
Интересная идея - использовать фантомные типы с Generic для типобезопасности кода. В статье детально разбирается пример в котором такой подход помогает избегать ошибок, но я с такими ошибками не сталкивался... Как думаете, полезная идея 👍 или усложнение ради усложнения 👎 и достаточно делать typealias на swift типы?
Please open Telegram to view this post
VIEW IN TELEGRAM
👎18👍14
Умные программисты пишут STUPID-код

Лозунг: Вы умны. А умные программисты пишут STUPID-код, потому что это умный способ писать код.
Я для себя сформулировал похожие оценки для кода:
👉 На сколько его просто прочитать коллеге на ревью,
👉 На сколько его просто покрыть тестами
👉 На сколько понятно куда внести изменения

Часто лучше оставить менее красивую, но более понятную конструкцию и это очень сложно для настоящего инженера-перфекционита
👎1
🐚 Skip - плагин Xcode для транспиляции SwiftUI приложения на Android

Пятница - самое время рассмотреть очередной кросплатформенный движок. По-началу, когда я о нем услышал, мысленно закопал. Но потом понял что идея вполне жизнеспособна:
🔥 Полный натив для iOS, в отличии от большинства движков (Flutter, Compose Multiplatform). Look&Feel из коробки. SwiftUI на iOS и Compose на Andoid
🔥 Нет отдельного языка или новых концепций как с React Native или Xamarin
🔥 Нет проблем с ARC - код изначально пишется на Swift+SwiftUI
🔥 Исходники Kotlin, которые генерятся движком, могут быть не только просмотрены но и отредактированы

Не все так просто, даже если опустить вендорлок:
💩Поддержка языка ограничена, нужно думать какие конструкции можно использовать
💩Нативные компоненты прийдется писать свои или адаптировать сильно транспилированный код
💩В качестве БД прийдется использовать прямые обращения к sqlite

Почему я думаю, что это может взлететь?
💸Стартапы часто начинают с iOS-only приложения, которые пишут на самых актуальных инструментах, а это способ быстрее получить аналог на Android и проверить интерес
💸Проще найти разработчика который умеет писать нативный код для iOS и адаптирует его под Android

Можно поступить мудро, и посмотреть взлетит ли этот подход через пару лет, ведь если долго сидеть на берегу реки, то можно увидеть, как мимо проплывёт труп твоего врага 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎9
Subscript строк по индексу и ренжу
Мое самое большое непонимание в эволюции 🖥Swift - удаление substring при переходе с Swift 2.3 на Swift 3.0. Из-за некоторых граничных кейсов, которые сложно покрыть обычными индексами, мы потеряли удобство для всех кейсов. В результате чего, почти в каждом проекте есть расширение, позволяющее работать со строками через subscript. И пару раз я находил там баги или неожиданное поведение. На сколько я понимаю, все приседания с ради предсказуемой работы с emoji:

"\u{1F44D}" // 👍
"\u{1F44D}\u{1F3FD}" // 👍🏽

Если вы тоже работаете с обычными строками, забирайте мой gist
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1