Так как SwiftUI Text поддерживает очень небольшое подмножество спеки Markdown, есть множество альтернативных решений. Одним из лучших, на мой взгляд, является SwiftUI Markdown
Если же вам понадобится самостоятельно парсить Markdown и рендерить Markdown, лучше взять Swift Markdown. Этот парсер так же базируется на cmark
#swiftui #markdown
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Наткнулся на годный глоссарий по Swift Concurrency. Cодержит термины, ключевые слова и аннотации, связанные с параллелизмом. Содержит тип (ключевое слово, протокол, flow control), описание, ссылку на пропоузал и пример использования. Когда это может быть полезно? Пройтись и проверить что вы знакомы со всем что нужно, объяснить коллеге понятными словами, разобраться в MR, подготовиться к собесу.
Точно достойно
#swift #concurrency #glossary
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
В этом году необычно рано вышла аналитика Apple по обновлениям iOS. В прошлом году обновление вышло в феврале. Я задался вопросом, каким образом происходит выбор времени публикации аналитики. В вебархиве последние 3 версии iOS показывают следующее:
Apple продолжает улучшать способы "добровольного обновления" устройств пользователей. Если людей не бесит красный бейдж, то обновление будет предлагаться до тех пор, пока пользователь не согласится.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Очень интересная статья от разработчиков Aliexpress (почему-то думал что разработка на паузе, приятно удивлен результатами ребят). Из того что удалось найти в открытых источниках - ребята заметно продвинулись со своим BDUI под названием Fusion (доклад с Mobius), а в данной статье рассказывают как добивались 99.9% Crash-free оптимизацией потребления памяти:
Результаты:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Каждый раз, когда я вижу в MR очередную реализацию "более эффективной" коллекции, хочется бить по рукам. Даже если есть практическая необходимость, уже есть официальный пакет с открытым исходным кодом для расширения набора коллекций Swift. Цель проекта - служить испытательным полигоном для новых структур данных, улучшить дизайн и исправить ошибки до официального включения в библиотеку. Например, есть реализации для двусторонней очереди (
Deque
), упорядоченного набора (OrderedSet
), упорядоченного словаря (OrderedDictionary
), BitSet
, BitArray
, Heap
, TreeSet
и TreeDictionary
. Особенности коллекций:
Deque:
• Упорядоченная коллекция с произвольным доступом и изменяемостью
• Поддерживает эффективные вставки и удаления с обоих концов
• Обеспечивает удобные операции по вставке и выталкиванию элементов
OrderedSet:
• Гибрид массива и набора
• Поддерживает уникальные элементы и эффективные тесты на принадлежность
• Использует массив для хранения элементов и хэш-таблицу для индексов
OrderedDictionary:
• Альтернатива словарю для эффективного доступа к элементам в различных позициях
• Вставляет новые пары ключ-значение за постоянное время
• Обеспечивает произвольный доступ к парам ключ-значение
#swift #collections
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
У вас бывает желание сделать простой статический сайт? Иногда хочется быстро накидать, но не хочется напрямую все верстать руками. Кажется, я нашел себе нового фаворита взамен Hugo. Сначала я был максимально скептичен, обычный POC по DSL Swift <-> HTML, подобные решения уже были.
Ignite - это статический конструктор сайтов для разработчиков любящих Swift. Он предлагет выразительный и мощный API для создания красивых веб-сайтов. Ignite не пытается преобразовать пользовательский код Swift в HTML или просто преобразовать HTML-теги в Swift-код. Вместо этого он нацелен на использование синтаксиса, подобного SwiftUI, чтобы помочь вам создавать отличные веб-сайты, даже если вы не разбираетесь в HTML или CSS. Поддерживаются все основные концепты современного веба:
Все это можно вживую посмотреть на демо странице. Что приятно, этот продукт используется для hackingwithswift а значит не только активно поддерживается, но и соответствует требованиям разработчиков. Чем вам не pet-проект на выходные
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Врываемся в рабочую неделю с супер новостями, Apple выпускает Swift Build в опенсорс! Наконец, можно взглянуть на внутренние процессы сборки swift, включая поддержку Linux и Windows. Я не стал торопиться с публикацией на выходных и потратил немного времени чтобы понять что мы получили и что это значит для будущего Swift.
Cистема сборки отвечает за преобразование входных данных (исходников, ассетов, конфигураций) в выходные артефакты (библиотеку, утилиту, приложение). Swift Build отвечает за этап планирования сборки и за саму сборку внутри Swift Package Manager и Xcode. Работает поверх llbuild и интегрирован с компилятором Swift.
Чем отличается swift-build от xcodebuild и Xcode?
Что это значит для сообщества?
#swiftbuild
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Network Link Conditioner
Если вы тестируете свое приложение на девайсе или симмуляторе в условиях хорошей сети, вы точно пропускаете часть проблем, возникающих у пользователей. Сотовая сеть не везде хорошо ловит, а даже если ловит хорошо, может оказаться что вышка перегружена и LTE превращается в 3g. Для этого в iOS и MacOS существует отдельный инструмент "Network Link Conditioner". Вот как его включить:
🟢 В macOS Sequoia он не входит в стандартный набор ОС, требуется установить Additional Tools for Xcode
🟢 На устройстве Network Link Conditioner можно найти в разделе настроек разработчика, который появляется после активации
Главное-не забыть его выключить, ставьте 🎉 кто забывал. Я как-то неделю ходил с 3G
Если вы тестируете свое приложение на девайсе или симмуляторе в условиях хорошей сети, вы точно пропускаете часть проблем, возникающих у пользователей. Сотовая сеть не везде хорошо ловит, а даже если ловит хорошо, может оказаться что вышка перегружена и LTE превращается в 3g. Для этого в iOS и MacOS существует отдельный инструмент "Network Link Conditioner". Вот как его включить:
Главное-не забыть его выключить, ставьте 🎉 кто забывал. Я как-то неделю ходил с 3G
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉24👍4