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

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

https://habr.com/ru/articles/900634/

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

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

В мобильную разработку приходят различными путями. Некоторые рождаются с девайсом в руках, других ведет извилистая дорога вдоль серверов, майнфреймов, дестопных приложений. Но каждый кто в нее...

Хабр

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

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

https://habr.com/ru/articles/896498/

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

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

Мне случайно попалось задание с собеседования 2-х годичной давности на позицию "iOS разработчик" , в котором требовалось создать iOS приложения для бронирования номера в Отеле на основе макетов...

Хабр

Расследуем дело асинхронного программирования с Леонидом Каневским

История развития асинхронного программирования в языке Swift. Можно относиться к этому как к расследованию нераскрытого дела. Начать расследование

https://habr.com/ru/companies/clevertec/articles/892348/

#корутины #ios_developer #swift__разработка #асинхронноепрограммирование #асинхронное_программирование

Расследуем дело асинхронного программирования с Леонидом Каневским

Привет! Я Александр, iOS Developer в Clevertec . Количество гайдов по Modern Concurrency в Swift все увеличивается, тема актуальна для разработчиков любого уровня. Я предлагаю вам ламповую экскурсию в...

Хабр

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

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

https://habr.com/ru/articles/887914/

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

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

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

Хабр

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

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

https://habr.com/ru/articles/860774/

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

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

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

Хабр

Готовый компонент UI свайп-панели c добавлением scrollView, и других элементов ui. (iOS Swift)

ContainerController компонент пользовательского интерфейса. Это копия свайп-панели из приложения: AppleMaps https://github.com/mrustaa/ContainerController Он может: - Анимировано перемещаться 3 позиции Верх / Середина / Вниз можно настраивать позиции - Добавлять несколько ContainerController (друг на друга) в одном контроллере - Добавлять любой тип ScrollView: TableView / CollectionView / TextView и управлять панелью за счет скрола - Панель управляется жестом или прокруткой (вертикально) - Можно закреплять HeaderView на вверху / и FooterView внизу 1) Добавлять фоновый цвет / прозрачность размытия фона 2) Настраивать окружность углов cornerRadius 3) Настраивать тень контейнера - При поднятии наверх = Можно добавить тень фона позади компонента 1) Можно настраивать левые / правые отступы 2) И настраивать левые / правые отступы для ландшафтного разворота

https://habr.com/ru/articles/844732/

#swift__разработка #swipe #panel #designer #tableview #collection #move #gesture #scrollview #uicomponents

GitHub - mrustaa/ContainerController: 👉↕️📱ContainerController 🧩✨⚙️ is a UI Component Swipe-Panel (Customizable). 💡 The idea is copied from the app: Apple Maps, Stocks. Swift version

👉↕️📱ContainerController 🧩✨⚙️ is a UI Component Swipe-Panel (Customizable). 💡 The idea is copied from the app: Apple Maps, Stocks. Swift version - mrustaa/ContainerController

GitHub

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

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

https://habr.com/ru/articles/841690/

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

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

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

Хабр

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

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

https://habr.com/ru/articles/840316/

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

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

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

Хабр

Swift на FreeBSD

Новый, модный и красивый язык разработки от Apple прямо на ваших глазах будет с особым цинизмом пропатчен, собран из исходников и запущен на FreeBSD. Опять.

https://habr.com/ru/articles/837678/

#freebsd #swift #swift__разработка

Swift на FreeBSD

Новый, модный и красивый язык разработки от Apple прямо на ваших глазах будет с особым цинизмом пропатчен, собран из исходников и запущен на FreeBSD. Снова. Король разработки от Apple Немного матчасти...

Хабр

От Cocoapods к Tuist+SPM быстрыми шагами

Не так давно прогремела новость, что Cocoapods переходит в режим поддержки, больше не будет развития, а только поддержка. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание, что неплохо было бы уйти от конфликтов в project файле и сделать задел на модульность. В этой статье постараюсь описать полный путь от Cocoapods к Tuist+SPM, затрону то, что было мне было не понятно в других статьях и передать опыт, чтобы облегчить другим переход.

https://habr.com/ru/articles/837456/

#Tuis #iOS #xcode #swift #swift__разработка

От Cocoapods к Tuist+SPM быстрыми шагами

Не так давно прогремела новость , что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание,...

Хабр