#swift_development

2025-04-15

Swift: Шаблонный бэкенд с использованием Vapor

В мобильную разработку приходят различными путями. Некоторые рождаются с девайсом в руках, других ведет извилистая дорога вдоль серверов, майнфреймов, дестопных приложений. Но каждый кто в нее попадает ощущает свою незащищенность с тыла, если нет надежного партнера в лице бэкенд –разработчика. И, буквально, каждый мобильщик ожидает, что необходимый API будет готов хотя бы за один спринт, до того, как в нем возникнет необходимость. Конечно же, мир IT разработки редко допускает такую роскошь – за нее требуется бороться с ПМ и бизнес-аналитиком. К тому же не редки ситуации, когда то, что должно быть сделано «на вчера», будет готово «на послезавтра». Те кто имеют достаточно опыта как в наземном, так и подземном мире – берут инициативу с свои руки, и сами предлагают клиент-серверный интерфейс. Для мобильного мира C# и Java – падения из рая в ад – это довольно естественный процесс, поскольку присущие им платформы изначально целились на поддержку т емных сил бэкенда. То ли дело Swift – познавшему небо – не легко дается жизнь на льдине, вместе с ластоногими. Получить лучшее из обоих миров, и не потерять темп позволяют некоторые экзотические решения, наподобие Perfect и Vapor. Однако, они в большей степени отвечают на вопрос «Как?» вместо того, чтоб предложить какое-нибудь удовлетворительное минимальное решение. С другой стороны, как правило, исходные требования мобильной команды довольно умерены и стереотипны от одного приложения к другому. Обычно требуется поддержка и управления такими сущностями как аккаунт пользователя, профиль, продукт и изображения.

habr.com/ru/articles/900634/

#swift #swift__разработка #swift_development #vapor #docker #rest #linux

2025-04-03

Google AI Studio: макеты Figma -> iOS приложение на Gemini 2.5 Experimental

Gemini 2.5 Experimental воспроизводит в SwiftUI с поразительной точностью стили текста и функциональные возможности прототипов, подготовленных дизайнерами в Figma . Особенно это касается разработки русскоязычных UI. Выдаёт полноценный изобретательный SwiftUI код, демонстрируя высокий потенциал Gemini 2.5 в преобразовании Figma-макетов в рабочий iOS-код.

habr.com/ru/articles/896498/

#swiftui #swift__разработка #swift_development #ai #gemini_ai #figma #ios_development #ios_programming #ios_разработка

2025-03-04

Руководство по использованию unsafe в Swift

В этой статье мы рассматрим различные подходы для работы с небезопасными операциями в языке программирования Swift. Swift предоставляет несколько способов для работы с указателями и низкоуровневой памятью

habr.com/ru/articles/887914/

#swift #development #unsafe #performance #optimization #macos #swift__разработка #swift_development #ios_development #ios

2025-02-11

Использование ChatGPT o3-mini и DeepSeek при создании iOS приложения Countries “Страны Мира”

Что делает “животворящая” конкуренция? Появление DeepSeek, позволило бесплатным подписчикам ChatGPT получить доступ к “рассуждающей” ChatGPT o3-mini. Я предложила этим двум ИИ создать довольно простое на первый взгляд тестовое iOS приложение Countries, которое показывает все страны Мира по регионам (Европа, Азия, Латинская Америка и т.д.) и для каждой страны её название и флаг, a также численность населения population, размер ВВП (валового внутреннего продукта) gdp и расположение страны на карте Мира. Использовались данные Всемирного банка (World Bank), но мы не сообщали ИИ ни сайты, ни структуры данных, всё это ИИ должен найти сам и использовать их при создании iOS приложения. Раньше я отдавала предпочтение Clause 3.5 Sonnet при создании iOS приложений, прибегая к ChatGPT 4.o1 для решения отдельных проблем. Но появление "рассуждающих" ChatGPT o3-mini и DeepSeek изменили всё. iOS разработка поднялась на новый уровень, и пока лидером в этой гонке для меня является ChatGPT o3-mini (даже в бесплатном варианте). Он способен вас приятно удивить.

habr.com/ru/articles/880824/

#chatgpt_o3 #swiftui #swift_development #swift_6 #concurrency #asynchronous #map #deepseek

2024-11-23

Побеждаем Data Race в Swift: Осваиваем инструменты и секреты безопасного кода

Гонка за данными (Data Race) — одна из самых неприятных ошибок, с которыми может столкнуться разработчик. Она возникает в многопоточной среде, когда несколько операций одновременно пытаются получить доступ к одним и тем же данным, при этом хотя бы одна из этих операций выполняет их изменение. Последствия таких гонок могут быть крайне серьезными: в лучшем случае приложение может упасть с ошибкой, а в худшем — произойдет искажение данных, с которыми работает пользователь. Это может негативно сказаться на дальнейшей работе с этими данными и привести к непредсказуемым результатам работы приложения. Обеспечение корректного доступа к общим ресурсам в многопоточных приложениях — ключевая задача, требующая внимательного подхода и изучения. В этой статье мы рассмотрим как используя инструменты, доступные нам в языке Swift, предотвратить наличие гонки за данными.

habr.com/ru/articles/860774/

#swift #swift__разработка #swift_development #swift_5 #swift_6 #ios_development #ios_разработка #многопоточность #многопоточное_программирование #разработка_приложений

2024-09-08

Прокачайте свой Swift с @dynamicMemberLookup

Swift — это мощный язык программирования, который сочетает в себе безопасность типов и выразительность. Однако, несмотря на свою строгую типизацию, язык предоставляет разработчикам возможность использовать динамический доступ к свойствам объекта с помощью атрибута dynamicMemberLookup . Это может быть полезно, например, для работы с динамическими данными или при создании DSL (Domain-Specific Language). С помощью этого атрибута мы можем обращаться к свойствам экземпляра типа, даже если эти свойства явно в нем не определены.

habr.com/ru/articles/841690/

#swift #swift__разработка #ios_разработка #ios_разработка_swift #ios_development #swift_development #programming_languages #программирование #разработка

2024-09-02

Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis

В мире, где ваш телефон умеет угадывать настроение по плейлисту, почему бы не научить его распознавать звуки вокруг? С помощью фреймворка SoundAnalysis это проще, чем кажется. Мы расскажем, как легко и с минимальными потерями для душевного здоровья интегрировать распознавание звуков в ваше iOS-приложение.

habr.com/ru/articles/840316/

#ios #ios_development #swift #swift__разработка #swift_development #development #coreml #createml #sound

2024-06-20

Введение в тестирование на Swift Testing

XCTest является основным инструментом для тестирования в Swift и широко используется разработчиками. Однако, новая библиотека Testing предлагает дополнительные возможности и синтаксический сахар, который делает процесс тестирования еще более удобным и мощным. В данной статье мы рассмотрим основные аспекты тестирования на Swift, включая использование библиотеки Testing.

habr.com/ru/articles/823396/

#swift #testing #swift__разработка #swift_development #xcode #xctest

2023-11-24

Что можно и что нельзя делать с Async/Await

Синтаксис async/await, введенный в Swift 5.5, значительно упростил асинхронное программирование, сделав его более доступным и интуитивно понятным. Однако, как и любой мощный инструмент, он может быть использован неправильно. Здесь я хочу рассмотреть пять распространенных ошибок, которые разработчики часто допускают при использовании async/await и предложить стратегии их избегания. Ошибка 1: Необработка Ошибок Асинхронные функции Swift могут вызывать ошибки, так же как и их синхронные аналоги. Однако многие разработчики, особенно те, кто только начинает работать с синтаксисом async/await, могут упускать обработку ошибок, что приводит к сбоям или непредсказуемому поведению. Решение Синтаксис do-catch в Swift - ключ к обработке ошибок из асинхронных функций. Обернув вызов асинхронной функции в блок do-catch, вы можете перехватить и обработать любые выброшенные ошибки, предотвратив сбои и обеспечивая предсказуемое поведение вашего приложения.

habr.com/ru/articles/776196/

#async/await #concurrency #ios #swift #swift__разработка #swift_development #ios_разработка #ios_app #ios_development

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst