bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Зачем айосеру учить другие языки
Разработчик из Альфы рассказывает, почему ему нравится изучать языки программирования помимо Swift, и что вообще это может дать айосеру. Список причин такой:
👉Меньше выгораешь от рутины.
👉Получаешь навыки, которые могут пригодиться в будущем. Например, когда захочешь где-то поднять бэкенд.
👉Расширяешь свою картину мира, узнаешь про новые подходы.
👉Быстрее и проще решаешь повседневные задачи и выбираешь подходящие инструменты для автоматизации.
👉Обеспечиваешь себе ветку роста в фуллстека или техлида.
Кстати, мы когда-то писали офигенный выпуск Подлодки с Брагилевским как раз про то, как учить языки программирования.
Разработчик из Альфы рассказывает, почему ему нравится изучать языки программирования помимо Swift, и что вообще это может дать айосеру. Список причин такой:
👉Меньше выгораешь от рутины.
👉Получаешь навыки, которые могут пригодиться в будущем. Например, когда захочешь где-то поднять бэкенд.
👉Расширяешь свою картину мира, узнаешь про новые подходы.
👉Быстрее и проще решаешь повседневные задачи и выбираешь подходящие инструменты для автоматизации.
👉Обеспечиваешь себе ветку роста в фуллстека или техлида.
Кстати, мы когда-то писали офигенный выпуск Подлодки с Брагилевским как раз про то, как учить языки программирования.
Хабр
Как много языков может влезть в одного программиста?
Всем привет, меня зовут Серёжа, я технический лидер iOS-разработки в Альфа-Банке. Сегодня я хочу поговорить о многогранности мира программирования, а именно о количестве языков и причинах, по которым...
👎40👍25💅6❤1
Как устроен протокол iMessage
Все про устройство протокола iMessage: работа с APNs, сервис ключей и шифрование сообщений. А если захотите закопаться подробнее, в конце статьи куча ссылок на более детальный анализ.
Все про устройство протокола iMessage: работа с APNs, сервис ключей и шифрование сообщений. А если захотите закопаться подробнее, в конце статьи куча ссылок на более детальный анализ.
Хабр
Как устроен протокол iMessage
В этом посте я вкратце расскажу о внутреннем устройстве iMessage, изученном мной в процессе работы над pypush — опенсорсным проектом воссоздания реализации iMessage. Ради краткости и понятности я не...
👍18👎1
Как дизайнить bounding box handles
Небольшое эссе про то, как можно накосячить в UX такой стандартной штуки, как управление границами выделенного объекта.
Небольшое эссе про то, как можно накосячить в UX такой стандартной штуки, как управление границами выделенного объекта.
💅13👍7❤1
Организация онбординга с помощью паттерна Сага
Сага – паттерн, который помогает описать процессы, затрагивающие сразу много различных компонентов. Например, в условном финтехе Сагой можно представить последовательность запросов к различным сервисам: прайсингу, чекауту, проверки транзакции. Этот паттерн можно использовать и в разработке UI. В статье разбирается, как с его помощью управлять последовательностью онбординговых экранов.
Сага – паттерн, который помогает описать процессы, затрагивающие сразу много различных компонентов. Например, в условном финтехе Сагой можно представить последовательность запросов к различным сервисам: прайсингу, чекауту, проверки транзакции. Этот паттерн можно использовать и в разработке UI. В статье разбирается, как с его помощью управлять последовательностью онбординговых экранов.
👎12❤6💅3👍1
Swift Evolution дайджест за декабрь
В декабре были приняты три интересных пропозала.
SE-0413: Typed throws
SE-0404: Nested Protocols in Non-Generic Contexts
SE-0409: Access-level modifiers on import declarations
В декабре были приняты три интересных пропозала.
SE-0413: Typed throws
SE-0404: Nested Protocols in Non-Generic Contexts
SE-0409: Access-level modifiers on import declarations
Substack
Swift Evolution Monthly: December '23
Our biggest wish came true: Explaining Typed Throws in Swift. Also: Improved namespacing and reduced dependency creep. And 14 more proposals linked!
❤17👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Примеры Dynamic Island от Apple
Дизайнер Apple поделился подборкой анимаций в Dynamic Island, появившихся в iOS в последних релизах.
Дизайнер Apple поделился подборкой анимаций в Dynamic Island, появившихся в iOS в последних релизах.
💅65👍15
Typestate – новый паттерн в Swift 5.9
С появлением Noncopyable типов в Swift 5.9 стало возможным реализовать паттерн Typestate. По сути, это стейт-машина на типах, с помощью которой проверку корректности бизнес-логики можно переложить на компилятор. В статье на простом примере показывают, как этот паттерн реализовать.
С появлением Noncopyable типов в Swift 5.9 стало возможным реализовать паттерн Typestate. По сути, это стейт-машина на типах, с помощью которой проверку корректности бизнес-логики можно переложить на компилятор. В статье на простом примере показывают, как этот паттерн реализовать.
❤60👍5💅1
Тестирование миграций в SwiftData
На примере семпла SwiftDataAnimals разбирается, как написать миграцию с одной версии схемы на другую и правил но ее протестировать. Результат можно посмотреть на GitHub.
На примере семпла SwiftDataAnimals разбирается, как написать миграцию с одной версии схемы на другую и правил но ее протестировать. Результат можно посмотреть на GitHub.
Medium
Testing SwiftData Migrations
XCTesting SwiftData VersionedSchema Migrations: an example based on Apple’s SwiftDataAnimals sample project.
👍6💅1
Выпуски Подлодки для айосеров
Подлодка семь лет назад начиналась как подкаст про iOS разработку. Спустя год от этой концепции мы отошли и начали охватывать более широкий круг тем. Но все равно, айосников среди наших слушателей по прежнему очень много. Держите подборку выпусков за 2023 год, которые могут вам зайти:
👉Цвета и цветовые пространства с Андреем Ситником про то, чем отличаются друг от друга CMYK, RGB, OKLCH и другие способы представления цветов на экранах.
👉Ruby c Дмитрием Цепелевым про язык, с которым вы периодически сталкиваетесь, работая с CocoaPods и Fastlane.
👉Мобильные фермы с Антоном Малинским про то, как управлять сотнями девайсов на уровне софта и железа.
👉Backend driven UI с Александром Казарцевым с полным обзором плюсов, минусов и сложностей перехода к нему.
👉Теория сложности с Александром Куликовым с разбором вообще всех стыдных вопросов про алгоритмы.
👉Сыр с Александром Крупецковым, потому что плох тот айосник, который не любит сыр.
👉Рендеринг текста с Никитой Прокоповым про путь, который проходит строчка от хранения в переменной до отображения на экране.
Если вам понравились эти или другие выпуски – напишите нам что-то хорошее в отзывах в Apple Podcasts, или прямо в чатике подкаста!
Подлодка семь лет назад начиналась как подкаст про iOS разработку. Спустя год от этой концепции мы отошли и начали охватывать более широкий круг тем. Но все равно, айосников среди наших слушателей по прежнему очень много. Держите подборку выпусков за 2023 год, которые могут вам зайти:
👉Цвета и цветовые пространства с Андреем Ситником про то, чем отличаются друг от друга CMYK, RGB, OKLCH и другие способы представления цветов на экранах.
👉Ruby c Дмитрием Цепелевым про язык, с которым вы периодически сталкиваетесь, работая с CocoaPods и Fastlane.
👉Мобильные фермы с Антоном Малинским про то, как управлять сотнями девайсов на уровне софта и железа.
👉Backend driven UI с Александром Казарцевым с полным обзором плюсов, минусов и сложностей перехода к нему.
👉Теория сложности с Александром Куликовым с разбором вообще всех стыдных вопросов про алгоритмы.
👉Сыр с Александром Крупецковым, потому что плох тот айосник, который не любит сыр.
👉Рендеринг текста с Никитой Прокоповым про путь, который проходит строчка от хранения в переменной до отображения на экране.
Если вам понравились эти или другие выпуски – напишите нам что-то хорошее в отзывах в Apple Podcasts, или прямо в чатике подкаста!
podlodka.io
Podcast Records
Слушайте бесплатно все выпуски подкаста Podlodka.
👍29👎14❤7
Видеокурс по SwiftData
Бесплатный цикл роликов на YouTube с разбором всех особенностей работы со SwiftData:
👉CRUD операции
👉Динамические сортировки и фильтры
👉Легковесные миграции
👉Связи один ко многим и много ко многим
👉Работа с CloudKit
Бесплатный цикл роликов на YouTube с разбором всех особенностей работы со SwiftData:
👉CRUD операции
👉Динамические сортировки и фильтры
👉Легковесные миграции
👉Связи один ко многим и много ко многим
👉Работа с CloudKit
👍31💅6❤5
Self-hosted CI в Додо
Ребята из Додо рассказывают, как эволюционировал CI в их команде.
👉Тимсити с единственным раннером на старом Mac Mini
👉Облачные раннеры в Bitrise
👉Self-hosted GitHub раннеры на М1
👉Виртуализация с помощью Cilicon
Ребята из Додо рассказывают, как эволюционировал CI в их команде.
👉Тимсити с единственным раннером на старом Mac Mini
👉Облачные раннеры в Bitrise
👉Self-hosted GitHub раннеры на М1
👉Виртуализация с помощью Cilicon
Хабр
Как Додо Пицца доставляет свежий код: история мобильного CI для iOS
Мобильная разработка под iOS особенная: собрать приложение можно только на macOS, среда разработки по сути только одна, большая часть принятого в сообществе тулинга написана на Ruby, свой пакетный...
👍15💅1
Godot для iPad
Miguel de Icaza, известный в том числе тем, что разработал Xamarin, начал в качестве хобби проекта портировать редактор игрового движка Godot для разработки под iPad. Ну как портировать – скомпилировать его уже и сейчас можно, но он заточен под работу с мышью. План – перевести необходимую часть интерфейса на компоненты SwiftUI. Короче говоря, интересный проект, за которым точно стоит наблюдать!
Miguel de Icaza, известный в том числе тем, что разработал Xamarin, начал в качестве хобби проекта портировать редактор игрового движка Godot для разработки под iPad. Ну как портировать – скомпилировать его уже и сейчас можно, но он заточен под работу с мышью. План – перевести необходимую часть интерфейса на компоненты SwiftUI. Короче говоря, интересный проект, за которым точно стоит наблюдать!
👍32❤4👎2
Кастомизация Strings Catalog в зависимости от типа девайса
Оказывается, с помощью Strings Catalog можно настраивать разный перевод строки в зависимости от типа девайса, на котором будет запущен проект. Идеально для кроссплатформенных проектов для iOS и macOS.
Оказывается, с помощью Strings Catalog можно настраивать разный перевод строки в зависимости от типа девайса, на котором будет запущен проект. Идеально для кроссплатформенных проектов для iOS и macOS.
👍6💅2
Как AnyView влияет на перфоманс
Автор статьи проводит несколько замеров того, как использование AnyView вместо конкретных типов ухудшает производительность в SwiftUI.
Автор статьи проводит несколько замеров того, как использование AnyView вместо конкретных типов ухудшает производительность в SwiftUI.
👍24💅4❤1👎1
Новый выпуск рассылки Hello Developer от Apple
В этот раз основная тема рассылки – разработка под Vision Pro.
👉Открыта возможность отправлять на ревью свои приложения для Vision App Store
👉Кейс-стади от компании, которая делает приложение с виртуальным диджейским пультом
👉Статья с Q&A про разработку под очки
👉Открыта запись на Developer Labs про Vision Pro
В этот раз основная тема рассылки – разработка под Vision Pro.
👉Открыта возможность отправлять на ревью свои приложения для Vision App Store
👉Кейс-стади от компании, которая делает приложение с виртуальным диджейским пультом
👉Статья с Q&A про разработку под очки
👉Открыта запись на Developer Labs про Vision Pro
👍6👎3
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать иконку для Vision Pro
Раз кто-то из вас уже начинает готовить свои приложения для очков для сабмита в App Store, держите гайд про то, как адаптировать существующую иконку под стандарты новой операционной системы.
Раз кто-то из вас уже начинает готовить свои приложения для очков для сабмита в App Store, держите гайд про то, как адаптировать существующую иконку под стандарты новой операционной системы.
💅25👍3
Swift биндинги для WinRT
Если вы пропустили, то в октябре ребята из Browser Company, которые делают Arc на чистом Swift, и портируют его на Windows, заопенсорсили биндинги к WinRT. Теперь, если вы хотите написать нативное приложение для Windows, можете и сами делать это на Swift.
Если вы пропустили, то в октябре ребята из Browser Company, которые делают Arc на чистом Swift, и портируют его на Windows, заопенсорсили биндинги к WinRT. Теперь, если вы хотите написать нативное приложение для Windows, можете и сами делать это на Swift.
👍66❤9
Вызов Swift из C++ кода
В последний Xcode завезли поддержку C++ -> Swift интеропа. По ссылке – инструкция, как его потестить.
В последний Xcode завезли поддержку C++ -> Swift интеропа. По ссылке – инструкция, как его потестить.
chaos.social
Uli Kusterer (@[email protected])
Wow! I hadn't realized calling Swift from C++ had landed in mainline Xcode already! And it's really easy to use:
1. In Xcode, set ‘SWIFT_OBJC_INTEROP_MODE = objcxx’
2. Make sure all Swift you want to call is public
3. Include the "MYSWIFTMODULENAME-Swift.h"…
1. In Xcode, set ‘SWIFT_OBJC_INTEROP_MODE = objcxx’
2. Make sure all Swift you want to call is public
3. Include the "MYSWIFTMODULENAME-Swift.h"…
👍23💅6❤1👎1
Perception – бэкпорт Observability
Pointfree выпустили библиотеку Perception, которая бэкпортит Observability framework на все версии iOS, начиная с 13. API аналогичен, но сами макросы и функции называются немного по-другому. Миграция в будущем, кажется, будет несложной.
Pointfree выпустили библиотеку Perception, которая бэкпортит Observability framework на все версии iOS, начиная с 13. API аналогичен, но сами макросы и функции называются немного по-другому. Миграция в будущем, кажется, будет несложной.
👍31👎2💅2❤1
Xcodegen для сложных проектных сетапов
Инструкция по настройке Xcodegen для генерации проектов с поддержкой различных окружений (dev/staging), в каждом из которых свои настройки и сертификаты.
Инструкция по настройке Xcodegen для генерации проектов с поддержкой различных окружений (dev/staging), в каждом из которых свои настройки и сертификаты.
Medium
Xcodegen — Getting Deeper
In our first article about xcodegen (that you could read here) we covered:
❤15👍1