Pull to refresh
4
0.8
Send message

Notepad.exe: Легкий редактор Swift-кода

Level of difficultyEasy
Reading time3 min
Views878

В настоящее время Xcode Playgrounds, похоже, отклонился от своего первоначального назначения, а настройка VSCode может быть слишком сложной для начинающих. В этих условиях как можно легко настроить среду, подходящую для изучения и тестирования Swift? Возможно, Notepad.exe, представленный в этой статье, станет удовлетворительным решением.

Самое большое препятствие в изучении программирования

Когда я в 2019 году вернулся к программированию, самой большой проблемой было понять, как быстро запустить свой код. Столкнувшись с огромной сложностью Xcode, я почувствовал себя подавленным. Хотя Swift Playgrounds уже существовал на iPad в то время, я все же предпочитал учиться и тестировать прямо на своем компьютере.

Вспоминая свои первые опыты программирования на Apple II, я помню, как он сразу же переходил в режим редактирования кода при запуске. Хотя по сегодняшним меркам аппаратное обеспечение было примитивным, простота и плавность обучения были беспрецедентными.

Даже сейчас, будучи знакомым с различными инструментами программирования, я по-прежнему нуждаюсь в тихой и легкой среде, чтобы быстро погрузиться в изучение новых функций языка или творческие эксперименты. Недавно ситуация значительно улучшилась, когда я обнаружил Notepad.exe, разработанный Марцином Кшижановски.

Запуск «exe» на macOS

Название этого приложения Notepad.exe — явная шутка разработчика. Однако с другой стороны, оно точно отражает философию приложения: сделать программирование таким же простым и понятным, как использование Блокнота Windows.

Читать далее

Swift в Apple: перенос службы мониторинга паролей с Java

Level of difficultyEasy
Reading time6 min
Views280

Swift активно используется в производстве для создания облачных сервисов в Apple и приносит невероятные результаты. В прошлом году на Swift был переписан сервис Password Monitoring, который обрабатывает несколько миллиардов запросов в день с устройств по всему миру. По сравнению с предыдущим сервисом на Java, обновлённый бэкэнд обеспечивает 40-процентный рост производительности, а также улучшенную масштабируемость, безопасность и доступность.

Приложение «Пароли», представленное осенью 2024 года, помогает пользователям управлять своими паролями, ключами и проверочными кодами. Оно позволяет хранить, автоматически заполнять и генерировать надёжные пароли, которые можно использовать на всех устройствах, а также делиться паролями с доверенными лицами. Одна из функций безопасности приложения - «Мониторинг паролей», которая предупреждает пользователей, если один из сохраненных ими паролей попадает в утечку данных. Эта функция имеет серверный компонент, поддерживаемый Apple.

Регулярно Password Monitoring сверяет пароли пользователя с постоянно обновляемым и контролируемым списком паролей, которые, как известно, были раскрыты в результате утечки. Важно отметить, что эта задача решается продуманно, с сохранением конфиденциальности, и Apple никогда не раскрывает пароли пользователей. Подробное обсуждение того, как это делается с помощью протокола пересечения криптографических частных множеств, находится в разделе «Мониторинг паролей» руководства по безопасности платформы Apple.

Переход с Java на Swift был обусловлен необходимостью масштабирования сервиса Password Monitoring с высокой производительностью. Модуль многоуровневого шифрования, используемый в Password Monitoring, требует значительного объёма вычислений для каждого запроса, при этом общий сервис должен быстро реагировать даже при высокой нагрузке.

Читать далее

Новый Vapor Toolbox

Level of difficultyEasy
Reading time4 min
Views270

Toolbox был переписан с использованием лучших инструментов в экосистеме и новейших функций Swift, и теперь он стал еще более мощным, чем когда-либо!


Старый Toolbox
Vapor Toolbox - это инструмент командной строки, который используется для решения распространённых задач при работе с Vapor, таких как создание, компоновка, запуск и развёртывание проектов.

В настоящее время большинство подкоманд Toolbox устарели, поскольку Swift и экосистема эволюционировали, предоставляя более совершенные инструменты для решения этих задач. Единственная функция, которая по-прежнему очень полезна, - это команда new, которая используется для создания новых проектов Vapor на основе шаблонов.

Шаблоны Toolbox - это репозитории Git, содержащие проект Vapor, и они используют Mustache для замены заполнителей(placeholders) пользовательским вводом. Для создания шаблонов Mustache в Toolbox использовалась библиотека, поддерживаемая сообществом Vapor, которая представляет собой Swift-оболочку для синтаксического парсера mustach, написанную на C.

Toolbox был создан с использованием ConsoleKit, библиотеки, созданной командой Vapor, которая предоставляет API для создания интерактивных инструментов CLI, разработанных до появления Swift Argument Parser. Возможности ConsoleKit по обработке аргументов в настоящее время считаются устаревшими, и вместо них рекомендуется использовать Swift Argument Parser.

Переписывание Toolbox
Все устаревшие подкоманды были удалены, и единственная оставшаяся функция - это команда new.

Мы заменили оболочку mustach на swift-mustache от Hummingbird, которая представляет собой библиотеку рендеринга Mustache, полностью написанную на Swift.

Читать далее

Ключевые моменты перед использованием SwiftData

Level of difficultyEasy
Reading time10 min
Views497

На недавно завершившейся конференции Let's Vision 2025 я получил множество вопросов о SwiftData: «Достаточно ли SwiftData развита, чтобы использовать ее в реальных проектах?» и „Как начинающему разработчику эффективно использовать SwiftData?“. Эти вопросы не только отражают живой интерес разработчиков к новейшему фреймворку Apple для хранения данных, но и свидетельствуют о нерешительности при выборе технологии.

Эта статья призвана стать руководством для разработчиков, заинтересованных в SwiftData, и помочь вам понять ее сильные стороны и ограничения, чтобы вы могли принимать обоснованные решения, исходя из потребностей вашего проекта. Независимо от того, рассматриваете ли вы возможность использования SwiftData в новом проекте или планируете переход с другого устоявшегося решения, приведённый ниже материал может помочь в процессе выбора.

Читать далее

Information

Rating
2,283-rd
Registered
Activity