Issue #136 13 Jun 2019
Written by: Bas Broek
So that was quite the week, wasn’t it? So many interesting things announced at
WWDC. Although there were no groundbreaking announcements regarding Swift 6 or
the open source projects, but with SwiftUI, iPadOS,
Marzipan Catalyst, and
more, the one word to sum up WWDC for me was
a good way, though!
Looking forward to the amazing things we’ll all get to do with these announcements next. And if we’re lucky, we might even get to see some of the tools in open source and/or on other platforms… Here’s hoping.
With all of that happening, it has been relatively (read: very) quiet when it comes to proposals, although a few updates to proposals related to the new announcements are underway, so expect updates in two weeks!
Semaphore is now the fastest way to test and deploy iOS apps. Powerful CI/CD pipelines run 42% faster comparing to Travis and auto-scale to every git push. You pay only for what you use. Sign up free with GitHub and give it a try today.
News and community
Apple introduced a new framework, SwiftUI, that brings a declarative user interface builder to all Apple platforms. Now to wait for them to open source it! 🤞
It’s always been a goal of Swift to support declarative programming, and the language can be quite good for it, but some kinds of “declaration” fit better into the current language than others. In particular, heterogeneous trees with a lot of hard-coded structure — such as JSON, HTML, and view hierarchies — often feel a bit awkward to express using the ordinary tools of the language. I think we can do better than that, and so I’m proposing a feature to enable a new class of embedded DSL in Swift.
You can read the draft proposal here.
Those of you watching Apple’s WWDC keynote today and introduction of SwiftUI likely observed a new enhancement to the Swift language in the form a Domain Specific Language (DSL) that could be used to build a UI in code.
This is a feature that has not been discussed on Swift evolution. The work on that feature has been very iterative with lots of experimentation. Those of us involved in that work wanted to make sure we had a design we were happy with before taking it back for discussion with the community. Further, while the feature is general purpose, adding it to Swift is easier to motivate and discuss the details with a compelling and concrete use case like SwiftUI.
Speaking on behalf of the Core Team, here are the next steps to discuss and review the feature:
- The Core Team would like to run a formal review of the feature soon.
- Before that review, we’d like to use the pitch thread for general discussion and questions about the feature.
While Apple has embraced the approach as part of SwiftUI, the evolution review is intended to have a real and tangible impact on the shape of the feature itself.
RedisNIO is a module providing general implementations for connecting to a Redis instance and executing commands against it using Redis’ proprietary Redis Seralization Protocol (RESP).
These types are designed to work in a request / response loop, representing individual connections to Redis.
The goal of this library is to provide individual building blocks for working with Redis, while still providing enough mechanisms “out of the box” so users can get started immediately with Redis.
You can read the full proposal here.