Telestorm

Главная

Стикеры

Каналы

Telestorm

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209

Язык

Русский

Категории

Технологии

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

SwiftUI Data Flow 2023\nСистемный разбор всех способов организации работы со стейтом в SwiftUI с учетом новинок последней WWDC.\n👉Код на GitHub


0
1,650

Какие приложения были первыми в App Store\nРебята собирают список 500 первых приложений и игр, появившихся в App Store. Пока получилось найти следы только 130 из них. Идеально для тех, кто хочет поностальгировать по старым временам.


0
3,250

Почему мы всё время начинаем и бросаем учить английский?\nОдна из причин — мы не знаем свой уровень языка. В итоге берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут. \nВ итоге разрыв знаний удручает и мотивация снова падает.\nЕсли вы готовы дать английскому ещё один шанс, Яндекс Практикум поможет поверить в свои силы и довести дело до конца.\nПриходите на бесплатную консультацию в Яндекс Практикум:\n- Проведут устный тест на уровень языка,\n- Покажут, чего реально добиться и за какой срок,\n- Расскажут, как их курсы помогут достичь цели.\n Записаться\nРеклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KKsBt


0
3,250

История миграции библиотеки из CocoaPods на SwiftPM\nРазработчики ETTrace рассказывают, как они добавляли поддержку SwiftPM, и что она им дала.\nОсновной плюс переезда – конфигурация билда проекта стала проще, так как вместо xcodeproj используется простой Package.swift.\nИз встреченных проблем:\n- Много мелких багов в SPM\n- Если зависимость не поддерживает SPM, приходится ее форкать и добавлять поддержку самостоятельно\n- Пришлось рефакторить проект, чтобы Swift и ObjC код не были в одном таргете


0
3,350

Проигрывание gif в SwiftUI\nВ SwiftUI добавили новую функцию CGAnimateImageAtURLWithBlock, с помощью которой можно легко запускать анимированные гифки.\nС ними связана и новая настройка accessibility, которая позволяет отключать анимированные изображения. Поэтому, если будете их реализовывать, не забывайте подписываться на AXAnimatedImagesEnabledDidChangeNotification и проверять AXAnimatedImagesEnabled перед проигрыванием гифок.


0
3,650

Как работают mergeable libraries\nВ Xcode 15 появился новый тип библиотек – mergeable libraries. Они оптимизированы одновременно под то, чтобы размер приложения и время билда не увеличивались, и под то, чтобы не росло время запуска приложения. Короче говоря, совмещают в себе все лучшее от static libraries и dynamic frameworks.\nВ статье разбирается, как именно они работают и как их можно использовать в многомодульном проекте.


0
3,850

Серия статей про CloudKit\nОчень подробный цикл про все аспекты работы с CloudKit – начиная от общих концепций, заканчивая обработкой сложных кейсов изменений стейта.


0
5,350

Курс «Английский для разработчиков» Яндекс Практикума\nДля тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.\nОбучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:\n✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.\n👨‍💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.\n📣 Митапы. Сможете понимать на слух доклады и выступать сами.\n😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.\n👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.\n💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.\nЗапишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.\nРеклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8JuH9p


0
5,350

Trailing label TextField в SwiftUI\nБывают кейсы, когда в TextField вам надо отображать не только введенный пользователем текст, но и какой-то суффикс. Например, автоматически добавлять домен почтового ящика при вводе логина. В короткой статье разбирается несколько трюков, которые помогут сверстать такую вьюху.


0
4,850

Подробный разбор Observation\nНа WWDC Apple окончательно закопали Combine, и предложили при работе со SwiftUI использовать вместо него новый фреймворк Observation. В статье разбирается, чем же он лучше Combine, как с ним работать, и какие ограничения уже заметны.


0
5,150

SwiftUI Index\nSwiftUI Index – сервис, который трекает добавление новых API, вьюх и модификаторов в каждой версии SwiftUI.


0
4,850

Макросы в Swift\nХороший русскоязычный разбор того, как устроены макросы, как они запускаются, и что с их помощью можно автоматизировать.


0
4,750

Выпуск PointFree про тестирование асинхронного кода\nТестировать асинхронный код встроенными средствами Swift и Xcode – сложно. В новом выпуске PointFree разбираются с костылями, нужными, чтобы протестировать код, в котором есть несколько отдельных асинхронных шагов.


0
4,850

Swift AST Explorer – инструмент для тех, кто хочет писать макросы\nЕсли вы хотите научиться писать макросы, вам важно понимать, как выглядит AST вашего кода. Swift AST Explorer умеет парсить любой Swift код в AST и показывать разную статистику и метаинформацию.


0
5,650

String Catalog в Xcode 15\nВ Xcode 15 появился новый способ управления локализованными строчками – String Catalog. При сборке проекта Xcode собирает все локализованные строки в одну таблицу, из которой вы можете редактировать ключи, значения и комментарии к ним.\nТаблицы можно переводить на другие языки, при этом Xcode превращается в таск-менеджер на минималках: отображает общий прогресс перевода, дает возможность выставлять статус перевода у каждой из строк.\nЗдесь же можно настраивать плюрализацию и даже разное значение строк в зависимости от девайса, на котором запускается приложение.


0
5,850

swift-outdated – пакет для отображения устаревших зависимостей\nswift-outdated при запуске проверяет, у каких из зависимостей проекта появились новые версии, и выводит табличку с ними. Если добавить его как билд фазу в проект, то устаревшие зависимости будут отображаться как ворнинги.


0
6,450

Как MVC менялся со временем\nПервое описание архитектуры MVC появилось еще в 1979 году. В коротком документе на 500 слов были сформулированы основные идеи:\n- Model сообщает View о происходящих изменениях.\n- View может не только получать сообщения об изменениях, но и проактивно запрашивать стейт, и даже самостоятельно менять модель. Но при этом ничего не знает о пользовательских ивентах.\n- Controller обрабатывает пользовательские ивенты, меняет модель и вьюшку при необходимости.\nВ статье сравнивается два направления развития идей оригинального MVC – хорошо известный нам Apple-Style MVC и Model-2, популяризированный Ruby on Rails.


0
5,350

Пропуск тестов с XCTSkip\nЕсли вы хотите, чтобы какие-то из ваших тестов временно не исполнялись, правильным подходом будет не переименовывать или комментировать их, а добавить вызов XCTSkip. А если вы хотите не выполнять тест только в каких-то условиях, например, в зависимости от типа устройства или версии OS, используйте XCTSkipIf и XCTSkipUnless.


0
5,150

Inspector – новый тип модального представления в SwiftUI\nВ SwiftUI появился новый модификатор – inspector(isPresented:content:). На macOS и iPadOS он добавляет колонку настраиваемой ширины с правой стороны экрана. На айфоне показывает Bottom Sheet.


0
5,150

Превью DocC в Xcode 15\nВ новой версии Xcode появилась возможность смотреть, как будет выглядеть сгенерированная с помощью DocC документация.


0
5,150

Анимация отрываемого стикера из iMessage\nВыбор стикера для отправки в iMessage сопровождается анимацией, которая повторяет реальный эффект от отрывания стикера. Наш подписчик поделился статьей с реализацией такого эффекта, включая добавление теней и блеска.\nКод на GitHub


0
4,950

Дизайн-киты для macOS Sonoma\nApple выложили дизайн-киты для новой версии macOS: все UI компоненты, окна, алерты, поповеры, элементы интерфейса вроде дока и уведомлений, цвета и стили.\n🔗Sketch\n🔗Figma


0
5,050

Подробный разбор основных изменений в SwiftUI\n💅Улучшения ScrollView: постраничная анимация, возможность начинать скролл с нижней границы вьюшки, кастомные транзишны при скролле.\n 💅Анимации и рисование: добавление Metal шейдеров, комплишн блоки для анимаций, функции для комбинирования форм.\n💅Интеграция с внутренними покупками, сериализация Color, повторение действия кнопки при долгом нажатии и многое другое.


0
5,050

visionOS SDK доступен для загрузки\nВы спите, а Apple выпускает релизы для вас! Стал доступен Xcode 15 beta 2, в который включены visionOS SDK, Reality Composer Pro, приложение для создания 3D контента для очков, и симулятор новой операционной системы. Вся документация по фреймворкам лежит тут.


0
7,150

Swift OpenAPI package\nВышла альфа версия официального пакета от Apple для генерации сервера и клиента по спеке OpenAPI. Swift на сервере – это не очень интересно, а вот клиент – другое дело. \nПо спеке генерируются APIProtocol, который содержит в себе все методы API, и Client, структура, которая реализует сгенерированный протокол. Работает все это как поверх URLSession, так и поверх любого другого транспорта.


0
6,850

Лог Q&A про SwiftUI\nОдна из обязательных активностей на WWDC – Q&A с инженерами Apple. На ней можно получить комментарии по темам, которые не освещаются в документации. Пролистайте всю дискуссию про SwiftUI – можете найти себе что-то полезное.


0
5,650

Лучшие сессии WWDC\nЧтобы вам не пришлось смотреть много десятков сессий, Apple собрали самые важные из них на одной странице. Самая крупная категория, конечно, Spatial Computing.


0
2,650

Каталог макросов и полезных ресурсов\nЕсли вы хотите вкатиться в макросы, начните с этого репозитория. Там собраны статьи, видео и примеры того, что можно сделать с их помощью. Например, power asserts, SFSymbol macros и AssociatedObject.


0
3,350

Найдите работу своей мечты в крутой команде!\nВ Авито есть множество открытых вакансии для талантливых разработчиков разных уровней и направлений.\nДостаточно один раз подписаться на Avito Career — и вы не пропустите новые вакансии 😎\nРеклама. Рекламодатель ООО “КЕХ еКоммерц". 2VtzqvZdowR


0
3,550

Управление и доступность в Vision Pro\nМиша Рубанов подбил обзор принципов управления интерфейсом очков и того, как именно там реализованы разные виды accessibility – это просто космос.


0
3,750

The Composable Architecture в Swift 5.9\nПосмотрите на пруф-ов-концепт того, насколько сильно сократится код фичей, написанных по TCA, благодаря макросам и Observability Framework.


0
4,850

Пример Scroll Transitions в новом SwiftUI\nВ SwiftUI появился новый очень простой способ реализовывать анимации при скроллинге таблицы – блок scrollTransition.


0
5,350

Introspect – библиотека для доступа к внутренним вьюхам SwiftUI\nIntrospect позволяет обращаться к внутренним UIKit элементам, находящимся под капотом у большинства компонентов SwiftUI. Это нужно, чтобы изменять свойства, которые не видны из SwiftUI напрямую. Например, убрать сепараторы в таблице, или добавить RefreshControl к ScrollView.\nБиблиотеку безопасно использовать в проде, так как она не обращается к приватным API.


0
5,050

Как реализованы расширения для Raycast\nRaycast – это такой Spotlight на стероидах. Одна из основных отличающих его фичей – богатый каталог расширений от коммьюнити. \nВ статье рассказывается, как команда проектировала и реализовывала поддержку расширений для нативного приложения, какие варианты попробовала, и на какие компромиссы в итоге пошла.


0
4,650

Официальный дизайн-кит в Figma от Apple\nНачиная с 2017 года, в дизайн-команде Apple крутилась идея опубликовать официальный дизайн-кит в Figma. Спустя пять лет, он наконец появился!\n- Куча компонентов, от алертов и уведомлений до навигации\n- Шаблоны виджетов\n- Макеты поддерживают Dynamic Type\n- Встроенные стандартные настройки цветов, стилей и материалов\nДизайн-кит будет постоянно дополняться. Скоро там появится поддержка iOS 17, и компоненты из macOS, tvOS, watchOS и visionOS.


0
5,450

Автоматическая генерация символов для цветов и картинок в ассетах\nМоя любимая фича нового Xcode – автоматическая генерация констант для цветов и картинок, которые находятся в ассетах. В качестве названия константы используется имя, которое вы задали в каталоге.\nЕсли вы решите отключить их генерацию, используйте флаг ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS в build settings.


0
4,650

Отражение источников света\nИнтерфейс Vision Pro учитывает источники освещения и слегка отражает их от своей поверхности. Вот пример того, как можно реализовать похожий эффект на SwiftUI, считывая источники освещения с камеры.


0
4,750

Главные обновления SwiftUI\n👉Больше никакого Combine, вместо него для полписки на изменения используется новый фреймворк Observation.\n👉Анимациям теперь можно добавлять completion handler’ы и анимировать изменения по кейфреймам.\n👉У ScrollView можно следить за изменением оффсета с помощью модификатора.\n👉Можно программно ставить фокус в поле поиска, а также прятать и показывать его.\n👉Новые жесты: rotate и magnify.


0
5,050

Интеграция ChatGPT и Xcode\nЭкспериментальный экстеншн для Xcode, который использует ChatGPT для генерации кода по инструкциям, комментариев к нему, рефакторинга кода и других фичей. Можно добавлять и свои собственные команды.


0
5,150

Все анонсы WWDC\nApple собрали документацию по всем новым фреймворкам и API на одной странице. А отдельно можно скачать кучу семплов, которые показывали в сессиях.


0
5,250

Офер в Яндекс за два дня\nПриходите на Weekend Offer Mobile 17–18 июня. Всего за 2 дня можно пройти все технические секции, пообщаться с нанимающими командами и получить офер.\nРебята ищут мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет. Приглашают в один из своих офисов в России и Беларуси, также нанимают в международные хабы в Армении, Казахстане и Сербии.\nРегистрация заканчивается 12 июня.\nПодробности ищите здесь


0
3,550

Динамическое меню в трее на macOS\nОтличный разбор API NSStatusItem, с помощью которого можно создать меню с динамическим размером и контентом, кастомным бэкграундом и поддержкой нескольких разных таргетов для нажатий.


0
3,850

Что нового в UIKit\nКаждый год на WWDC все меньше апдейтов для UIKit. В этом году вот так:\n👉Новый класс UIContentUnavailableView для отображения пустого стейта\n👉Поддержка Xcode Preview, у которых еще и новый синтаксис на макросах появился\n👉Поддержка анимаций в SFSymbols, добавленных как элемент кнопки или как ImageView\n👉Новые типы шрифтов: большой и очень большой\n👉Новые типы автозаполнения для UITextField: для дня рождения и даты окончания действия карты


0
4,250

Новый линкер в пять раз быстрее ld64\nНа WWDC показали новый линкер. Он написан в Apple с нуля и оптимизирован для работы на нескольких ядрах. Это первый продакшн-реди параллельный линкер, доступный для iOS разработки.


0
5,350

Расшифровки сессий на WWDC Notes\nСамое время напомнить вам про офигенный ресурс от коммьюнити – WWDC Notes. Ребята смотрят сессии и превращают их в статьи, выделяя все самое важное. В этом году они обещают расшифровать 80% сессий в течение первой недели!


0
4,550

Подборка анонсов с WWDC\nПока я жду появления подробных статей с разбором всех анонсов, держите несколько отдельных штук, которые мне показались очень крутыми:\n👉В SwiftUI можно применять Metal шейдеры к любым вьюхам\n👉Благодаря макросам синтаксис для объявления Preview стал очень простым и читаемым\n👉А еще Preview теперь работают для AppKit и UIKit\n👉В SwiftUI есть новый компонент для готового экрана с пэйволлом\n👉В SFSymbols появилась поддержка анимированных иконок, причем анимировать можно слои по отдельности\n👉Xcode зашерлочил SwiftGen и генерирует символы для цветов и картинок автоматически\n👉Ну и, конечно, Swift Data – замена Core Data, которую я предсказывал каждый год уже пять лет


0
5,550

Опубликован вижн интеропа Swift -> C++\nИнтероп Swift и C++ состоит из двух частей:\n- Вызов Swift из C++ кода (этот пропозал уже давно опубликован и принят)\n- Вызов C++ из Swift (вот ему и посвящен этот документ)\nВ пропозале разбираются цели такого интеропа, сложности его реализации и то, как предполагается подружить основные концепции из двух языков друг с другом с учетом гораздо более сильных гарантий, которые дает Swift.


0
4,450

Реплика системного блюра на CAFilter\nРазработчик зареверсинжинирил реализацию блюра и повторил его, используя приватные API. Есть возможность обойтись и без них, перейдя на SceneKit и Metal шейдеры, но качество будет чуть хуже.\nКод на GitHub


0
4,450

Что нового в Swift 5.9\n👉if и switch теперь можно использовать при присвоении значения переменной или для возврата значения из функции\n👉Можно писать макросы, которые исполняются во время компиляции\n👉Структуры и enum’ы, которве нельзя копировать, а можно только передавать по ссылке\n👉Новый оператор consume, который копирует значение переменной и уничтожает ее\nВ статье очень детально разбираются эти и другие новые фичи. Идеальный материал, чтобы подготовиться к WWDC!


0
4,850

SwiftUI Tips & Tricks\nПополняющийся тред из 20+ не самых очевидных советов по работе со SwiftUI. Вот некоторые из них:\n- lineLimit у Text можно задавать не одним числом, а интервалом. Тогда компонент высота компонента будет всегда не меньше нижней границы, и не больше верхней.\n- В любую функцию можно передать #file, #line, #function в качестве параметров – и использовать их в логах, чтобы понять, откуда была вызвана функция.\n- Если вам нужно быстро создать TextField, чтобы что-то проверить, можно не передавать ему Binding, а инициализировать его с .constant(“Text”).


0
5,950

Добавить

КаналСтикеры

Наши Боты

@telestormauthbot

© Telestorm.ru 2020-2024 Все права защищены

TwitterYouTubeInstagram