Фантомные типы распространены в функциональных языках и Swift умеет прикидываться таковым. Они могут пригодиться, когда вам не хочется перепутать две величины, выражаемых одним типом. В качестве примера API HealthKit.
https://swiftwithmajid.com/2021/02/18/phantom-types-in-swift/
https://swiftwithmajid.com/2021/02/18/phantom-types-in-swift/
Swift with Majid
Phantom types in Swift
Not every language with a static type system has so strong type-safety like Swift. Swift features like phantom types, generic type extensions, enums with associated types create an excellent foundation. This week we will learn how to use phantom types to…
🔥 Начинается трансляция CocoaHeads!
В программе доклады про code review, memory graph и async/await. Залетайте: youtu.be/UVu0OrWx1nE
В программе доклады про code review, memory graph и async/await. Залетайте: youtu.be/UVu0OrWx1nE
YouTube
CocoaHeads Февраль 2021
Заходите в telegram канал @cocoaheads
Пока мы разговаривали про кроссплатформу, гибридные приложения начали пробивать себе путь к солнцу. Это когда веб умеет вгрызаться в натив и подтягивать себе нужные компоненты. Статья про создание простого приложения с помощью Turbo от Basecamp.
https://masilotti.com/turbo-ios/hybrid-apps-with-turbo/
https://masilotti.com/turbo-ios/hybrid-apps-with-turbo/
Masilotti.com
Hybrid iOS apps with Turbo – Part 1: The Turbo framework | Masilotti.com
Hybrid mobile apps powered by Turbo: Basecamp's not-so-secret formula for producing large scale apps with small teams.
Что еще можно проверять на код ревью. Большой чеклист, который можно использовать во благо команды и кода или превратить каждый ПР своих коллег в комнату с закрытой форточкой.
https://medium.com/swiftcairo/ios-code-review-checklist-482f17f5c7c6
https://medium.com/swiftcairo/ios-code-review-checklist-482f17f5c7c6
Medium
iOS Code Review Checklist
As iOS Software Engineer, i’ve been always looking to have a checklist to check against my code.Most of Software Engineers are usually…
Вчера начался уже четвёртый сезон Podlodka iOS Crew, и еще не поздно подключиться!
Темы недель: “iOS под капотом” и “SwiftUI & Combine”.
На этой неделе разбираемся с темой “iOS под капотом”, и вот, что уже происходит:
• Воркшопы про рантайм, бинари, устройство свифтовых коллекций
• Лайвкодинг с разбором того, как происходит компиляция Swift-кода
• Доклад про устройство LLVM
• А еще публичное собеседование по платформе, тематический квиз и холивары про то, нужно ли вообще закапываться глубоко в платформу!
• И многое другое!
На следующей неделе стартуем тему “SwiftUI и Combine”, и она не нуждается в пояснениях. Скажем только, что мы собираем опыт экспертов, которые уже затащили эти технологии к себе в проекты и готовы поделиться экспертизой и собранными граблями ❤️
Постоянные активности в слаке, куча нетворкинга и постоянное общение со спикерами: две недели пройдут на одном дыхании, а все прошедшие сессии можно будет посмотреть в записи!
Билеты и полное расписание на сайте ⚓️ Ждем на борту!
Темы недель: “iOS под капотом” и “SwiftUI & Combine”.
На этой неделе разбираемся с темой “iOS под капотом”, и вот, что уже происходит:
• Воркшопы про рантайм, бинари, устройство свифтовых коллекций
• Лайвкодинг с разбором того, как происходит компиляция Swift-кода
• Доклад про устройство LLVM
• А еще публичное собеседование по платформе, тематический квиз и холивары про то, нужно ли вообще закапываться глубоко в платформу!
• И многое другое!
На следующей неделе стартуем тему “SwiftUI и Combine”, и она не нуждается в пояснениях. Скажем только, что мы собираем опыт экспертов, которые уже затащили эти технологии к себе в проекты и готовы поделиться экспертизой и собранными граблями ❤️
Постоянные активности в слаке, куча нетворкинга и постоянное общение со спикерами: две недели пройдут на одном дыхании, а все прошедшие сессии можно будет посмотреть в записи!
Билеты и полное расписание на сайте ⚓️ Ждем на борту!
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #16
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Собираем динамические и статические библиотеки из консоли и разбираемся что зачем.
https://theswiftdev.com/building-static-and-dynamic-swift-libraries-using-the-swift-compiler/
https://theswiftdev.com/building-static-and-dynamic-swift-libraries-using-the-swift-compiler/
Theswiftdev
Building static and dynamic Swift libraries using the Swift compiler - The.Swift.Dev.
This tutorial is all about emitting various Swift binaries without the Swift package manager, but only using the Swift compiler.
Как реализовать DSL конечного автомата на Swift при помощи resultBuilder. И где это может пригодиться в самых обычных приложениях.
https://twittemb.github.io/posts/2021-02-13-StateMachineDSL/
https://twittemb.github.io/posts/2021-02-13-StateMachineDSL/
Warp your mobile development
A DSL for state machines in Swift | Warp your mobile development
State machines are great tools to describe systems with a finite number of states. They are predictable and testable, which is something we praise for as developers. State machines can be defined in a pretty abstract way, which makes it a good candidate for…
Документация по лейауту из трех колонок, которую нам не предоставили из коробки.
https://kean.blog/post/triple-trouble
https://kean.blog/post/triple-trouble
kean.blog
Triple Trouble
Implementing triple-column navigation in SwiftUI using NavigationView
Если вы еще не решили у себя проблему с подписью билда на CI, после введения обязательного 2FA, то вот статья про то, как это сделать через Fastlane.
https://sarunw.com/posts/using-app-store-connect-api-with-fastlane-match/
https://sarunw.com/posts/using-app-store-connect-api-with-fastlane-match/
Sarunw
Using App Store Connect API with Fastlane Match | Sarunw
Apple announced the App Store Connect API back in WWDC18. It provides an official way to interact with App Store Connect, and Fastlane already supports this. With a recent 2FA enforcement from Apple, it is time for you to adopt it.
Красиво игнорим невалидные элементы в JSON массивах. Правда только на последних версиях Swift.
https://www.swiftbysundell.com/articles/ignoring-invalid-json-elements-codable/
https://www.swiftbysundell.com/articles/ignoring-invalid-json-elements-codable/
Swift by Sundell
Ignoring invalid JSON elements when using Codable | Swift by Sundell
How elements containing missing or invalid data can be automatically ignored when using Swift’s Codable API to parse JSON.
Текстовый вариант доклада Яндекса про их опыт использования KMM: особенности работы многопоточности, корутины, нетворк и кэш. Большая часть проблем, конечно же в iOS, но все более менее разрешимые.
https://habr.com/ru/company/yandex/blog/542454/
https://habr.com/ru/company/yandex/blog/542454/
Хабр
Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса
Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Ф...
Детали работы с Vision для распознавания текста. Основным параметром является минимальная высота текста, которую нужно задать правильно, чтобы обеспечить хорошее быстродействие и точность.
https://habr.com/ru/post/542816/
https://habr.com/ru/post/542816/
Хабр
Распознание блоков текста в IOS-приложении с помощью Vision
Работая над приложением, связанным с финансовыми операциями, возникла необходимость распознать и выделить суммы на чеках. Начиная с 11-ой версии в IOS-разработке появился нативный фреймворк Vision,...
Короткий пятничный опрос, который поможет в работе над новым сборщиком мусора для Kotlin/Native. В каких случаях разработчик может ожидать, что Swift deinit/Obj-C dealloc выполнится на определённом треде? Что это за объект, что за код должен быть написан его в deinit, и какой это должен быть тред?
Ответы присылайте в форму – https://forms.gle/PxDURRWwe5CSdKgN9
Ответы присылайте в форму – https://forms.gle/PxDURRWwe5CSdKgN9
Google Docs
Как должен работать deinit/dealloc
Возможно вы уже видели, но тут чувак делает заметки по видео WWDC. Очень кстати, учитывая, что некоторой информации в текстовой документации нет.
https://www.wwdcnotes.com/events/wwdc20/
https://www.wwdcnotes.com/events/wwdc20/
Кстати, напоминаю, что у нас есть уютный чат @iosgt. Сегодня вечером уже похоливарили про то, нужно ли кеширование в мобильных приложениях. Кстати, голосуйте, разберемся!
https://twitter.com/igrekde/status/1368654715777613824
https://twitter.com/igrekde/status/1368654715777613824
Twitter
Кэширование данных в мобильных приложениях
Сегодня стартовала вторая неделя Podlodka iOS Crew!
Эта неделя целиком посвящена SwiftUI и Combine, так что если вы хотели как следует в них разобраться – самое время подключиться.
Одна сессия уже прошла, но впереди еще много интересного: воркшопы, лайвкодинги и не только! А еще, помимо доступа к лайву билет дает доступ и к прошедшим сессиям первой недели!
Билеты стали еще дешевле, а расписание недели есть на сайте, так что ждем вас на борту!👋
Эта неделя целиком посвящена SwiftUI и Combine, так что если вы хотели как следует в них разобраться – самое время подключиться.
Одна сессия уже прошла, но впереди еще много интересного: воркшопы, лайвкодинги и не только! А еще, помимо доступа к лайву билет дает доступ и к прошедшим сессиям первой недели!
Билеты стали еще дешевле, а расписание недели есть на сайте, так что ждем вас на борту!👋
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #16
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Почему стоит уменьшать количество контекста, что это значит и как это делать. Где-то в середине статьи еще показывается самый простой пример, чем SwiftUI лучше UIKit.
https://khanlou.com/2021/02/the-context-and-the-logic/
https://khanlou.com/2021/02/the-context-and-the-logic/
Крутая статья про то, когда стоит и, самое главное, когда не стоит использовать Collection.lazy.
https://www.avanderlee.com/swift/lazy-collections-arrays/
https://www.avanderlee.com/swift/lazy-collections-arrays/
SwiftLee
How and when to use Lazy Collections in Swift
Lazy collections can increase performance if used correctly. Learn how they work, how they compute and result in increased performance.
Мы завели новый канал Mobile Good Events:
- Анонсы митапов по iOS, Android и кроссплатформе
- Скидки на конференции
- Clubhouse толки и прочие уникальные события
⏩ Подписывайтесь: @mobge
- Анонсы митапов по iOS, Android и кроссплатформе
- Скидки на конференции
- Clubhouse толки и прочие уникальные события
⏩ Подписывайтесь: @mobge
На прошлой неделе довольно большая группа известных компаний сказала, что как-то мало стандартов в мобильной индустрии и создала Mobile Native Foundation.
https://eng.lyft.com/announcing-the-mobile-native-foundation-a289ec63b60a
https://eng.lyft.com/announcing-the-mobile-native-foundation-a289ec63b60a
Medium
Announcing the Mobile Native Foundation
Today, we’re excited to launch the Mobile Native Foundation. Backed by The Linux Foundation, along with Airbnb, Corellium, Elotl…