Swift предоставляет множество встроенных форматтеров, один из которых форматтер списков ListFormatter (iOS 13+). Он помогает объединять списки элементов в удобочитаемые предложения:
#swift #list #formatter #listformatter
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
Продолжаю разбирать пропоузалы Swift. В этом предложении вводится новый атрибут
@specialized
, который позволяет в дженерик функции генерировать предварительно специализированные версии этой функции для определенных типов. Эта специализация создает пользовательскую реализацию функции, где "дженерики" заменяются определенными типами. Это позволяет оптимизировать функции, под конкретные типы: когда неспециализированная версия функции вызывается с одним из этих типов, компилятор генерирует код, который будет повторно отправлен в эти предварительно специализированные версии, если таковые имеются. Врядли это пригодится где-то кроме Foundation и специализированных фреймворков, но идея интересная.#swift #evolution
Please open Telegram to view this post
VIEW IN TELEGRAM
Отладка фич, таких как диплинки или быстрые действия с главного экрана, может быть сложной задачей. По умолчанию отладчик автоматически подключается при запуске приложения в Xcode. После завершения работы приложения отладчик отключается, что затрудняет тестирование. Но можно изменить поведение в Xcode - выбрать опцию "Wait for executable to be launched". Эта опция позволяет подключать отладчик к приложению даже при ручном запуске.
Шаги:
Добавляйте в
#xcode #deeplink #debugging #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Вышла новая версия расширения Swift для Visual Studio Code. Расширение поддерживает разработку приложений Swift на всех платформах. Расширение упрощает разработку приложений Swift для серверных, облачных, встраиваемых и Linux/Windows приложений.
Работает так же через SourceKit-LSP. Посмотреть на реализацию и законтрибьютить можно сюда, если готовы писать на typescript.
К сожалению, это не делает расширение более подходящим для iOS разработки, но радует что поддержка не забросилась и вышел мажорный апдейт. Для меня поддержка VSCode - возможность работать с AI ассистентами, ассистент в Xcode не оправдал ожиданий, а все решения вокруг Xcode больше похожи на костыль
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Группы задач существовали всегда, в GCD, OperationQueue и Combine. Они есть и в Swift Concurrency. Группы задач позволяют динамически запускать несколько дочерних задач и ожидать их выполнения или отмены. Группы задач используют совместную отмену и требуют проверки свойства Task.isCancelled (привет OperaionQueue). В статье на примерах рассматривается использование групп задач и оптимизация при работе с ними:
#swift #concurrency #group
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Еще один обзор состояния рынка мобильной разработки за 2024г.
Что меня привлекло:
Топ категорий по тратам
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Ollama
Mattt продолжает вести блог NSHipster и я с удовольствием погружаюсь в старый добрый стиль и простоту статей. В этот раз тема актуальная - локальные LLM, на примере Ollama:
🟡 Позволяет запускать большие языковые модели на Mac.
🟡 Работает на основе llama.cpp, предоставляя удобное управление моделями.
🟡 Использует файлы моделей для настройки поведения моделей.
📁 Преимущества локального запуска моделей:
🔘 Конфиденциальность: данные не покидают устройство.
🔘 Стоимость: работа 24/7 без учета времени использования.
🔘 Задержка: отсутствие сетевых обращений, быстрое реагирование.
🔘 Контроль: отсутствие черного ящика и цензуры.
🔘 Надежность: отсутствие отключений и ограничений по квоте API.
🐥 Создание Swift приложений с помощью Ollama:
🟣 Ollama предоставляет HTTP API для интеграции с другими инструментами.
🟣 Мэт создал свой пакет Ollama Swift
🟣 Этот пакет в первую очередь для того чтобы делать утилиты для себя
🟣 Примеры реализации RAG-систем. Если для вас это новое сочетание букв-обязательно почитайте. Это способ использовать свою базу знаний при работе с LLM
#swift #llm #ollama
Mattt продолжает вести блог NSHipster и я с удовольствием погружаюсь в старый добрый стиль и простоту статей. В этот раз тема актуальная - локальные LLM, на примере Ollama:
#swift #llm #ollama
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2⚡2
Дизайн система? Нет, цветовая система! Очень интересный пример использования системы типов для работы с цветами:
Проблемы UIColor:
Новый подход с фантомными типами:
У автора большие ожидания от идеи системы типов в Swift, я же надеюсь что это не уйдет дальше идеи и мы останемся с текущей концепцией семантических цветов -
accentColor, primary, secondary
. Но сама по себе идея использования системы типов для реализации безопасного использования имеет шанс на жизнь#swift #color #system
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4❤3