Как стать автором
Обновить
10.98

Swift *

Открытый объектно-ориентированный язык

Сначала показывать
Порог рейтинга

Конвертация книги Swift Programming Language в формат PDF и готовой к печати.

Поддерживается два режима рендеринга:
- Цифровой режим с гиперссылками для перекрестных ссылок между главами и внешними ссылками.
- Режим печати с номерами страниц, сопровождающими перекрестные ссылки между главами, и полными URL-адресами, отображаемыми в сносках для внешних ссылок.

https://github.com/ekassos/swift-book-pdf

Теги:
0
Комментарии0

VK (видео)

📦 API for Any(thing) 2

☝️Возможно ли создать интерфейс для получения любого объекта одинаковым способом? 

Библиотека работает на продакшене в приложениях:
Энергия
NFC Tool
КубГТУ

Во второй части доклада практическая реализация 💡

Хабр
Medium
GitHub

El-Machine.com Apps 🤖

Теория:
Часть 1

Теги:
Рейтинг0
Комментарии0

YouTube (видео)

📦 API for Any(thing) 

☝️Возможно ли создать интерфейс для получения любого объекта одинаковым способом? 

Продолжаю развивать свою идею архитектуры для 100% инкасуляции, разбития на модули и тестирования всего слоя Model

Хабр
Medium
GitHub

Первая часть доклада теоретическая. В поисках API для любого (Any) объекта

Во второй части доклада практическая реализация 💡

Поделитесь мыслями:
Что думаете про декларативны подход? Описываю результат и получаю нужный объект

Часть 2

Теги:
Рейтинг0
Комментарии0

Совместно используемая память в Swift и С/C++

Без прошлого нет будущего. Поэтому мы с заботой и любовью сохраняем наследие прошлого и используем проверенные инструменты в новых проектах. Благо, что разработчики Swift заложили возможность простого подключения библиотек, написанных на С, а с недавних пор еще и C++. 

В статье были описаны небезопасные указатели и их взаимодействие с объектами Си. Но не прозвучал один важный, на мой взгляд, вопрос: где выделяется память под совместно используемые объекты. Из документации и руководств по Swift мной была усвоена настойчивая рекомендация использовать вместо выделения памяти на стороне Си, функцию allocate класса UnsafeMutableRawPointer, там где это возможно.

let buf = UnsafeMutableRawPointer.allocate(byteCount: 128, alignment: 4)

Для того, чтобы Swift понимал содержание памяти, нужно сделать её привязку к поддерживаемому типу. Многие базовые типы Си поддерживаются через классы Swift с созвучным названием (CBool, CChar, CDouble, CFloat, CInt, CLong, CLongLong, CShort, CSignedChar, CUnsignedChar, CUnsignedInt, CUnsignedLong и т.д.).

let sbuf = buf.bindMemory(to:CChar.self, capacity:128)

Последовательность символов CChar воспринимается языком Swift как строка в стиле Си, которая поддерживается конструктором класса строк, что упрощает, например, вывод строк:

print(String(cString:sbuf))

Осталось только напомнить, что надо явно освобождать память буферов после использования с помощью функции deallocate:

buf.deallocate()

Спасибо за внимание!

Теги:
Всего голосов 3: ↑3 и ↓0+7
Комментарии0

Продолжаем разбираться с алгоритмами DFS и BFS.

В прошлый раз мы знакомились с тем, как работают алгоритмы поиска по N-деревьям. А в новом ролике Артур Михайлов, head of iOS в Технократии, показывает, как применять эти алгоритмы на практике.

Полезно как для тех, кто готовится к собеседованиям, так и тем, кто применяет алгоритмы в работе.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Разбираемся, как работают алгоритмы BFS и DFS. Конечно, в «Алгоритмической качалке»

В этот раз Артур показывает, как работают алгоритмы поиска по N-деревьям. Такими алгоритмами, кстати, пользуются дата-сайентисты, инженеры-электроники, сетевые инженеры и, само собой, программисты.

Так что знания максимально полезные. Переходите по ссылке и не забывайте поставить лайк и написать комментарий — это очень помогает нам продвигать контент.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

Как написать алгоритм работы «критического удара» для компьютерной игры

Нет, мы не начали внезапно заниматься геймдевом. Тренер «Алгоритмической качалки» Артур — давний фанат РПГ-игр, и ему интересно было разобраться в том, как работает такая механика, как «критический удар».

В новом ролике Артур покажет два варианта реализации алгоритма работы «крита». Переходите по ссылке, ставьте лайки и рассказывайте в комментариях свои идеи реализации.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Apple собрала все сессии WWDC 2024 на одной странице. Записи рассортировали по темам, чтобы разработчики сразу могли перейти к интересующему разделу. Страница доступна как на сайте Apple Developers, так и в фирменном приложении для разработчиков.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Виды логирования в Swift

Логирование — важный инструмент в арсенале разработчика. Оно помогает систематизировать сообщения, дает возможности фильтрации и многое другое. У Apple несколько основных инструментов для логирования.

Print — базовая функция, выводящая текст в консоль Xcode. Она часто используется для дебаггинга и неплохо справляется, когда решать приходится простые проблемы. В релизном коде Print оставаться не должен.

DebugPrint — очень похож на обычный Print, но отличается тем, что предоставляет дополнительную информацию о печатаемых объектах. DebugPrint имеет смысл использовать для дебага. Он покажет больше полезной информации о том, с каким типом объектов мы имеем дело. 

Dump — еще одна функция для распечатки сообщений в консоль. При работе с объектами и массивами объектов Dump показывает себя лучше, чем Print и DebugPrint. Мы получаем более наглядный результат, можем повлиять на то, в каком виде представлена информация, избавиться от лишнего «шума» в консоли.

OSLog — наш главный инструмент для ведения логов. Для этой функции мы передаем тип, название файла и название функции. Кастомизировать это можно как угодно.

Logger — более свежая альтернатива, доступная с iOS 14. Logger от OSLog отличается в деталях. Это разные уровни логирования и возможности настройки логов. С помощью расширений можно создать несколько логгеров, отвечающих за логирование разного функционала.

Подробнее о каждом инструменте — в нашем блоге.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Apple обновила дизайн форума для разработчиков. Компания сделала это для грядущей конференции WWDC24, чтобы инженерам и дизайнерам было удобнее задавать вопросы и находить решения проблем. Кроме того, участникам программы Apple Developer предоставили приоритетный доступ к ответам от экспертов.

Теги:
Всего голосов 2: ↑2 и ↓0+6
Комментарии0

У Apple оказалось так много всего интересного в экосистеме, что компания представила роадмапы (Pathways) по своим сервисам. Внутри каждого из шести направлений есть ссылки, где структурно представлена через документацию и видео-туториалы подробная база данных по необходимым библиотекам для разработчиков.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

Apple выпустила документацию по работе с новым жестом сжатия Apple Pencil. Разработчики могут использовать его в своих приложениях. Вместе с этим добавили разделы документации по работе с вибрацией и двойным нажатием. Примеры кода доступны как для UIKit, так и для SwiftUI.

Жест сжатия работает только с Apple Pencil Pro, а сам стилус — только с iPad Pro (M4) и iPad Air (M2). Более подробно о функциях разных поколений Apple Pencil можно узнать из этой статьи.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

Состоялся релиз библиотеки SystemNotification, которая позволяет создавать уведомления SwiftUI в стиле системных оповещений. При этом доступна полная кастомизация. К примеру, можно добавить иконку, текст, изменить цвета или полностью модернизировать внешний вид.

Код библиотеки открыт и опубликован на GitHub. Вместе с этим есть демо-приложение и подробная документация.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

На YouTube-канале DesignCode опубликовали бесплатный курс по созданию 3D-моделей для iOS и visionOS в Spline. В двухчасовом ролике обсуждают следующие темы:

  • Базовые формы;

  • Материалы, свет и эффекты;

  • Камера, анимации и состояния;

  • Кнопки и компоненты;

  • Пошаговая анимация;

  • Создание 3D-иконки для iOS-приложения;

  • Создание 3D-иконки для visionOS-приложения;

  • Создание 3D-сцены;

  • Анимация частиц;

  • Экспорт моделей в SwiftUI-проекты.

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Apple опубликовала апрельский выпуск рассылки Hello Developer для разработчиков:

  • Компания официально открыла сезон подготовки к WWDC24. Конференция пройдёт с 10 по 14 июня. Все сессии будут публиковать на новом YouTube-канале для разработчиков.

  • Представили обновлённое руководство по разработке на Swift. В него вошли уроки по SwiftUI, Xcode и visionOS.

  • Опубликовали интервью с разработчиками игры Knotwords.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Apple запустила YouTube-канал для разработчиков. Компания уже опубликовала несколько десятков записей сессий WWDC23. Долгое время Apple загружала видео для разработчиков только на сайт и в специальное приложение. Во время WWDC24 записи сессий будут появляться и на YouTube-каналы.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Для Figma вышел плагин Trace, с помощью которого можно сконвертировать дизайн в live-прототип приложения на SwifUI. Есть возможность просматривать код вёрстки, изменять его, видеть как это влияет на поведение приложения и переносить изменения в IDE. Для всего этого плагин подгружает полноценный симулятор iOS. Для преобразования дизайна в код SwiftUI используется нейросеть.

Изначально Trace появился в качестве сервиса для генерации экранов приложений по текстовому запросу с поддержкой только SwiftUI.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как меняется рынок мобильной разработки в 2024 году

Наш Head of Mobile Миша Вассер вместе с другими экспертами мобильной разработки ответил на вопросы Практикума о трендах сферы и прогнозах на этот год. Собрали в этом посте главное.

  1. У iOS-разработки есть будущее

    Apple вносит послабления в свои ограничения. Недавно платформа разрешила российским разработчикам принимать платежи вне App Store. Возможно, вскоре iOS-разработчикам вновь станет проще жить.

  2. Flutter — лидер кросс-платформы

    В 2023 году доля кросс-платформенной разработки увеличилась с Flutter во главе. Но нативная разработка всё-таки перевешивает — ее по-прежнему выбирает бигтех и частично средний бизнес.

  3. RuStore набирает ход, а вот российские ОС нет

    RuStore приземлила у себя крупные бренды, например Сбер и Альфа-Банк, и развивает собственные инструменты для разработчиков по примеру Google. А вот отечественные операционки затихли. «Аврора» и «РОСА Мобайл» будто сами тормозят развитие внутренними ограничениями.

  4. SwiftUI продолжит набирать популярность

    Тренд на SwiftUI у нас пока до конца не оформился, и UIKit всё еще востребован. Но с каждым обновлением SwiftUI становился всё лучше.

  5. Битва Compose и XML

    Compose чаще встречается в вакансиях, некоторые компании переходят на него: он удобнее и функциональнее. Но XML пока остается базой.

Ссылку на полный материал оставили выше. А если хотите больше новостей о мобильной разработке, заглядывайте в телеграм-канал Саши Ворожищева, Head of Flutter/iOS.  

Теги:
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Apple выпустила Xcode 15.2, поддерживающий разработку приложений для фирменной гарнитуры виртуальной реальности Vision Pro. Среда разработки включает в себя поддержку Swift 5.9, SDK для iOS 17.2, iPadOS 17.2, watchOS 17.2, tvOS 17.2, macOS Sonoma 14.2 и visionOS. Обновление доступно в магазине приложений Mac App Store.

Ранее Apple сообщила, что продажи гарнитуры виртуальной реальности Vision Pro начнутся 2 февраля 2024 года. Сперва устройства будут доступны пользователям в США. Возможность оформить предзаказ откроется 19 января 2024 года, а цена одного комплекта составит 3,5 тыс. долларов.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Автор Telegram-канала «Код воробья» рассказал, что в Xcode 15.1 появилась возможность настроить автоматическое удаление старых бета-версий. Сам Xcode 15.1 пока находится на стадии Release candidate.

Теги:
Рейтинг0
Комментарии0