Hallo Swift Archiv
48 Episoden
1 Stunde 13 Minuten
Links
SwiftNIO
SwiftNIO Docs
Netty
Netty in Action
SwiftServer Slack
SSWG (Swift Server Work Group)
A µTutorial on SwiftNIO 2
SwiftNIO SMTP
Picks
Johannes: apple/swift-nio-ssh
Bilal: deviceplug/btleplug
Kilian: vapor/postgres-nio
Social
Johannes auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Discord
Hallo Swift Matrix
SwiftNIO
SwiftNIO Docs
Netty
Netty in Action
SwiftServer Slack
SSWG (Swift Server Work Group)
A µTutorial on SwiftNIO 2
SwiftNIO SMTP
Picks
Johannes: apple/swift-nio-ssh
Bilal: deviceplug/btleplug
Kilian: vapor/postgres-nio
Social
Johannes auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Discord
Hallo Swift Matrix
53 Minuten
Da wir in der letzten Folge weniger als geplant über das Thema reden konnten, welches wir uns vorgenommen hatten, sprechen wir heute mit unserem Gast Oliver nochmal dediziert über CoreLocation. Oli hat da viel Erfahrung und auch ein paar echte Geheimtipps.
Picks
Oliver: Graham, Marcel
Bilal: apple/swift-algorithms
Kilian: mattt/swift-package-registry
Social
Oliver auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
Picks
Oliver: Graham, Marcel
Bilal: apple/swift-algorithms
Kilian: mattt/swift-package-registry
Social
Oliver auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
48 Minuten
Wir haben uns diese Folge vorgenommen ein wenig mit Dom über CoreLocation, MapKit und Co. zu sprechen. Letztlich plaudierten wir aber mehr über sein Buch, was vieles dazu enthält. Außerdem gibt uns Dom ein paar interessante Einblicke dazu, wie man generell ein solches Buch schreibt und aktuell hält.
Eine dedizierte Folge zu Themen aus dem CoreLocation-Umfeld folgt bestimmt in Zukunft.
Leider haben wir auch dieses Mal ein paar kleinere Audioprobleme gehabt. Entschuldigt diese bitte, wir geben uns Mühe das nächstes Mal wieder besser hinzubekommen.
Links
Link zum Buch
WWDC20: What's New in Location
Picks
Dom: rsrbk/SmileToUnlock
Bilal: apple/swift-atomics
Kilian: soulverTeam/SoulverCore
Social
Dom auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
Eine dedizierte Folge zu Themen aus dem CoreLocation-Umfeld folgt bestimmt in Zukunft.
Leider haben wir auch dieses Mal ein paar kleinere Audioprobleme gehabt. Entschuldigt diese bitte, wir geben uns Mühe das nächstes Mal wieder besser hinzubekommen.
Links
Link zum Buch
WWDC20: What's New in Location
Picks
Dom: rsrbk/SmileToUnlock
Bilal: apple/swift-atomics
Kilian: soulverTeam/SoulverCore
Social
Dom auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
17 Minuten
Allgemeines zu Property Wrappern
Swift Language Guide
NSHipster - Swift Property Wrappers
Swift by Sundell - Property wrappers in Swift
dotSwift 2020 - Erica Sadun - Property Wrappers
Andere Links
WWDC 2020 - Data Essentials in SwiftUI
tattn/DIAttribute: Dependency Injection via Property Wrapper
Picks
Bilal: guillermomuntaner/Burritos
Kilian: SvenTiigi/ValidatedPropertyKit
Social
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
Swift Language Guide
NSHipster - Swift Property Wrappers
Swift by Sundell - Property wrappers in Swift
dotSwift 2020 - Erica Sadun - Property Wrappers
Andere Links
WWDC 2020 - Data Essentials in SwiftUI
tattn/DIAttribute: Dependency Injection via Property Wrapper
Picks
Bilal: guillermomuntaner/Burritos
Kilian: SvenTiigi/ValidatedPropertyKit
Social
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
1 Stunde 13 Minuten
WWDC Highlights
Kilian: SwiftUI Updates und SwiftPM Resource Support
Bilal: Car Keys
Mathías: View.isPlaceholder(true) und Metal Shaders Graph
GraphQL
Experiment: GraphQL vs. REST
| Scenario | Δ Bytes | Δ RTT | | -------- | -------- | -------- | | Worst-Case | +80% | +18% | | Average-Case | -16% | -42% |
Mattias Cederlund. Performance of frameworks for declarative data fetching : An evaluation of falcor and relay+graphql, 2016.
graphile/postgraphile
nerdsupremacist/Graphaello
// Define a Cell struct CharacterCell: View { // Use the GraphQL Property Wrapper @GraphQL(StarWars.Person.name) var name: String? @GraphQL(StarWars.Person.homeworld.name) var home: String? var body: some View { HStack { name.map { Text($0).bold() } Spacer() home.map { Text($0) } } } }
dbsystel/1BahnQL
nerdsupremacist/GraphZahl
simonw/datasette
Picks
Mathías: a2/swift-shortcuts
Lösung zu TupleView problem: AssociatedTypeRequirementsKit
Bilal: nerdsupremacist/Graphaello
Kilian: krzysztofzablocki/Difference
Social
Mathías auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
Kilian: SwiftUI Updates und SwiftPM Resource Support
Bilal: Car Keys
Mathías: View.isPlaceholder(true) und Metal Shaders Graph
GraphQL
Experiment: GraphQL vs. REST
| Scenario | Δ Bytes | Δ RTT | | -------- | -------- | -------- | | Worst-Case | +80% | +18% | | Average-Case | -16% | -42% |
Mattias Cederlund. Performance of frameworks for declarative data fetching : An evaluation of falcor and relay+graphql, 2016.
graphile/postgraphile
nerdsupremacist/Graphaello
// Define a Cell struct CharacterCell: View { // Use the GraphQL Property Wrapper @GraphQL(StarWars.Person.name) var name: String? @GraphQL(StarWars.Person.homeworld.name) var home: String? var body: some View { HStack { name.map { Text($0).bold() } Spacer() home.map { Text($0) } } } }
dbsystel/1BahnQL
nerdsupremacist/GraphZahl
simonw/datasette
Picks
Mathías: a2/swift-shortcuts
Lösung zu TupleView problem: AssociatedTypeRequirementsKit
Bilal: nerdsupremacist/Graphaello
Kilian: krzysztofzablocki/Difference
Social
Mathías auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
35 Minuten
Bitte sucht euch, wenn ihr könnt, hier eine Möglichkeit zum Spenden heraus: 137 Ways to Donate in Support of Black Lives and Communities of Color
Links
A Tour of the Composable Architecture
pointfreeco/swift-composable-architecture
Awesome TCA
ReactiveSwift TCA
Milestones (Built with TCA)
TCA in den Swift Forums
Picks
Moritz: apple/swift-llbuild2
Bilal: apple/password-manager-resources
Kilian: corona-warn-app/cwa-app-ios
Social
Moritz auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
Links
A Tour of the Composable Architecture
pointfreeco/swift-composable-architecture
Awesome TCA
ReactiveSwift TCA
Milestones (Built with TCA)
TCA in den Swift Forums
Picks
Moritz: apple/swift-llbuild2
Bilal: apple/password-manager-resources
Kilian: corona-warn-app/cwa-app-ios
Social
Moritz auf Twitter
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
43 Minuten
Proposals
@main: Type-Based Program Entry Points
Multi-Pattern Catch Clauses
Enum cases as protocol witnesses
Synthesized Comparable conformance for enum types
Multiple Trailing Closures
Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur
where clauses on contextually generic declarations
Add Collection Operations on Noncontiguous Elements
Float16
Refine didSet Semantics
Add a String Initializer with Access to Uninitialized Storage
Package Manager Resources
Package Manager Localized Resources
Package Manager Binary Dependencies
Conditional Target Dependencies
Links
Swift 5.3 Release Process
Swift Evolution
Paul Hudson's Swift 5.3 Artikel
Whats new in Swift?
Swift Package Manager Evolution Ideas
Picks
Bilal: CombineCommunity/CombineExt
Kilian: mhdhejazi/Dynamic
Social
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
@main: Type-Based Program Entry Points
Multi-Pattern Catch Clauses
Enum cases as protocol witnesses
Synthesized Comparable conformance for enum types
Multiple Trailing Closures
Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur
where clauses on contextually generic declarations
Add Collection Operations on Noncontiguous Elements
Float16
Refine didSet Semantics
Add a String Initializer with Access to Uninitialized Storage
Package Manager Resources
Package Manager Localized Resources
Package Manager Binary Dependencies
Conditional Target Dependencies
Links
Swift 5.3 Release Process
Swift Evolution
Paul Hudson's Swift 5.3 Artikel
Whats new in Swift?
Swift Package Manager Evolution Ideas
Picks
Bilal: CombineCommunity/CombineExt
Kilian: mhdhejazi/Dynamic
Social
Kilian auf Twitter
Bilal auf Twitter
SwiftDE Slack
Hallo Swift Matrix
1 Stunde 27 Minuten
Bücher
Getting Started with Bluetooth Low Energy
Bluetooth Low Energy The Developer's Handbook
Links
Contact Tracing Apple
Exposure Notification Doku
NSHipster: Contact Tracing
Covid-19 Tracker Apps
Gernot's Wie eine Corona-App funktioniert
Picks
Vincent: mattt
Vincent: kiliankoe/swift-outdated
Bilal: Polidea/RxBluetoothKit `swift manager.scanForPeripherals(withServices: [serviceId]) .take(1) .flatMap { $0.peripheral.establishConnection() } .flatMap { $0.discoverServices([serviceId]) } .flatMap { Observable.from($0) } .flatMap { $0.discoverCharacteristics([characteristicId]) } .flatMap { Observable.from($0) } .flatMap { $0.readValue() } .subscribe(onNext: { print("Value: ($0.value)") }) `
Kilian: CrunchyBagel/TracePrivately
Vincent: How To F#€k Up An Airport (Podcast)
Social
Slack
Matrix
Twitter
Getting Started with Bluetooth Low Energy
Bluetooth Low Energy The Developer's Handbook
Links
Contact Tracing Apple
Exposure Notification Doku
NSHipster: Contact Tracing
Covid-19 Tracker Apps
Gernot's Wie eine Corona-App funktioniert
Picks
Vincent: mattt
Vincent: kiliankoe/swift-outdated
Bilal: Polidea/RxBluetoothKit `swift manager.scanForPeripherals(withServices: [serviceId]) .take(1) .flatMap { $0.peripheral.establishConnection() } .flatMap { $0.discoverServices([serviceId]) } .flatMap { Observable.from($0) } .flatMap { $0.discoverCharacteristics([characteristicId]) } .flatMap { Observable.from($0) } .flatMap { $0.readValue() } .subscribe(onNext: { print("Value: ($0.value)") }) `
Kilian: CrunchyBagel/TracePrivately
Vincent: How To F#€k Up An Airport (Podcast)
Social
Slack
Matrix
1 Stunde 1 Minute
Links
RxSwift to Combine Cheatsheet
Weiterführendes
Combine Cocoa Bindings
Pünktlich zur Aufnahme der Folge hat Apple auch die Dokumentation zu Combine aktualisiert. Danke Vincent für den Hinweis!
Picks
Marius: Timelane.Tools
Bilal: heckj/UsingCombine
Kilian: broadwaylamb/OpenCombine
Social
Marius auf Twitter
Bilal auf Twitter
Kilian auf Twitter
SwiftDE Slack
Hallo Swift Matrix Raum
RxSwift to Combine Cheatsheet
Weiterführendes
Combine Cocoa Bindings
Pünktlich zur Aufnahme der Folge hat Apple auch die Dokumentation zu Combine aktualisiert. Danke Vincent für den Hinweis!
Picks
Marius: Timelane.Tools
Bilal: heckj/UsingCombine
Kilian: broadwaylamb/OpenCombine
Social
Marius auf Twitter
Bilal auf Twitter
Kilian auf Twitter
SwiftDE Slack
Hallo Swift Matrix Raum
46 Minuten
Was bisher geschah
letzte Folge war am 17. März 2019 (zu Swift 4.2 Zeiten)
https://www.whatsnewinswift.com/?from=4.2&to=5.2
5.0
Result
Dynamic callable
5.1
Implicit return
Opaque return types
5.2
Key Path Expressions as Functions
callAsFunction
QoL improvements
Improved diagnostics!
SwiftPM Dependency Resolver
bald in 5.3
SwiftPM Resources
SwiftUI
SwiftPM Support in Xcode o/
Kilians Nutzen von dynamic member lookup für Wrapper-Typen:
struct A { var foo: Int } @dynamicMemberLookup struct B { private let a: A init() { self.a = A(foo: 1) } subscript(dynamicMember keyPath: KeyPath) -> T { a[keyPath: keyPath] } } B().foo Aktuelles
apple/swift-standard-library-preview
Tooling
SwiftDocOrg/swift-doc
SwiftDocOrg/DocTest
Picks
twostraws/ControlRoom
apple/swift-argument-parser
Weitere Links
SwiftPM Slack
SwiftDE Slack
letzte Folge war am 17. März 2019 (zu Swift 4.2 Zeiten)
https://www.whatsnewinswift.com/?from=4.2&to=5.2
5.0
Result
Dynamic callable
5.1
Implicit return
Opaque return types
5.2
Key Path Expressions as Functions
callAsFunction
QoL improvements
Improved diagnostics!
SwiftPM Dependency Resolver
bald in 5.3
SwiftPM Resources
SwiftUI
SwiftPM Support in Xcode o/
Kilians Nutzen von dynamic member lookup für Wrapper-Typen:
struct A { var foo: Int } @dynamicMemberLookup struct B { private let a: A init() { self.a = A(foo: 1) } subscript(dynamicMember keyPath: KeyPath) -> T { a[keyPath: keyPath] } } B().foo Aktuelles
apple/swift-standard-library-preview
Tooling
SwiftDocOrg/swift-doc
SwiftDocOrg/DocTest
Picks
twostraws/ControlRoom
apple/swift-argument-parser
Weitere Links
SwiftPM Slack
SwiftDE Slack
1 Stunde 20 Minuten
Bens Social Media
Instagram, Twitter, LinkedIn
Danke fürs Zuhören!
WWDC
WWDC Ankündigung
Spotify vs. Apple
Spotify's Erklärung
Apple's Stellungnahme
Zusammenfassung verschiedener Stimmen
Proposals
Result für stdlib
Self für class und value types (Proposal, Implementierung)
Identity KeyPath
Introduce Custom Attributes
Codable Improvements and Refinements
"Coroutine Representations and ABIs in LLVM” J. McCall
Misc
wat
The Sad State of Logging Bugs for Apple
Picks
Ben - Unshaky - llbuild - SwiftPM
Dom - xkcdpass
Vincent - XMLCoder - Tokamak
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
Instagram, Twitter, LinkedIn
Danke fürs Zuhören!
WWDC
WWDC Ankündigung
Spotify vs. Apple
Spotify's Erklärung
Apple's Stellungnahme
Zusammenfassung verschiedener Stimmen
Proposals
Result für stdlib
Self für class und value types (Proposal, Implementierung)
Identity KeyPath
Introduce Custom Attributes
Codable Improvements and Refinements
"Coroutine Representations and ABIs in LLVM” J. McCall
Misc
wat
The Sad State of Logging Bugs for Apple
Picks
Ben - Unshaky - llbuild - SwiftPM
Dom - xkcdpass
Vincent - XMLCoder - Tokamak
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
1 Stunde 13 Minuten
Frohe Weihnachten an euch alle und einen guten Rutsch ins neue Jahr! Bis Januar 2019!
John Sundell
Webseite & Podcast
Besprochene Projekte (mehr unter seinem Account)
Marathon
Shapeshift
Xgen
Konferenzen
UIKonf
WWDC
dotSwift
iOSCon
try! Swift
AppBuilders
FunSwiftConf
35c3
Swift Island
Swift Alps
Swift als Sprache für Alles
Chris Lattner bei ATP
AlwaysRightInstitute über dynamicCallable und dynamicMemberLookup
Parsel
State of the Art von Hallo Swift
Overcast
Castro Podcasts
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
John Sundell
Webseite & Podcast
Besprochene Projekte (mehr unter seinem Account)
Marathon
Shapeshift
Xgen
Konferenzen
UIKonf
WWDC
dotSwift
iOSCon
try! Swift
AppBuilders
FunSwiftConf
35c3
Swift Island
Swift Alps
Swift als Sprache für Alles
Chris Lattner bei ATP
AlwaysRightInstitute über dynamicCallable und dynamicMemberLookup
Parsel
State of the Art von Hallo Swift
Overcast
Castro Podcasts
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
58 Minuten
Links
Result Proposal
Swift 5
Apple Pay
Apple Pay Status
Shut Up And Take My Money
SpriteKit
SceneKit
BreakOutToRefresh
SKSceneDelegate
ThreeDMill
Dominik Wagner
Picks
Dom
Ben
Vincent
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
Result Proposal
Swift 5
Apple Pay
Apple Pay Status
Shut Up And Take My Money
SpriteKit
SceneKit
BreakOutToRefresh
SKSceneDelegate
ThreeDMill
Dominik Wagner
Picks
Dom
Ben
Vincent
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
50 Minuten
Shownotes
LSP.org
Result Proposal:
Proposal
Review
Language Server Protocol
Official Announcement #1
Official Announcement #2
NSHipster VSCode
VSCode
Picks
Ben
Vincent #1
Vincent #2
Dom
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
LSP.org
Result Proposal:
Proposal
Review
Language Server Protocol
Official Announcement #1
Official Announcement #2
NSHipster VSCode
VSCode
Picks
Ben
Vincent #1
Vincent #2
Dom
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
1 Stunde 19 Minuten
Links
Video
iPad
MacBook Air
Mac Mini
Akronymisierbar
VaporBerlin
Großer Amerikanischer Straßenbahnskandal
Treasure Island, San Francisco
Cupertino
Picks
Ben: Vapor Cloud
Vincent: FloatingPanel
Dom: solid
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes
Video
iPad
MacBook Air
Mac Mini
Akronymisierbar
VaporBerlin
Großer Amerikanischer Straßenbahnskandal
Treasure Island, San Francisco
Cupertino
Picks
Ben: Vapor Cloud
Vincent: FloatingPanel
Dom: solid
Social
Ben auf Twitter
Dom auf Twitter
Vincent auf Twitter
Hallo Swift auf Twitter
SwiftDe-Slack
Hallo Swift Webseite
Hallo Swift auf iTunes