Swift Icon

Swift

Swift is a modern programming language focused on safety, performance, and expressivity.
32 Stories
All Topics

Erik Kennedy learnui.design

iOS 13 design guidelines, templates, and downloads

Erik Kennedy is back with an awesome resource for anyone doing iOS development.

Maybe you’ve never designed an iPhone app, and have no idea where to begin.

Maybe you’ve designed a dozen, but still want one place to reference best practices. Heaven knows Apple’s Human Interface Guidelines are awful to try and read.

Either way, this is the guide for you. I cover basically everything you need to know to create an iOS app that follows standard iOS 13 conventions.

Swift github.com

A DSL for writing type-safe HTML, XML, and RSS in Swift

It can be used to build websites, documents and feeds, as a templating tool, or as a renderer for higher-level components and tools. It’s primary focus is on static site generation and Swift-based web development.

I’ve always enjoyed using DSL’s like this.

let html = HTML(
    .head(
        .title("My website"),
        .stylesheet("styles.css")
    ),
    .body(
        .div(
            .h1("My website"),
            .p("Writing HTML in Swift is pretty great!")
        )
    )
)

Matt Gallagher cocoawithlove.com

First impressions of SwiftUI

Matt Gallagher:

A little over a month ago, I released CwlViews and then followed up with an article suggesting that Apple might be about to release their own declarative views library. At WWDC this week, they did just that, releasing SwiftUI.

This article will look at how SwiftUI’s approach to declarative views compares to CwlViews, why the two approaches differ and what Apple changed to make this possible. I’ll end with some thoughts about how this will affect macOS and iOS development.

Swift github.com

An example to-do list app using SwiftUI (introduced at WWDC 2019)

SwiftUI didn’t get as much air time as the new Mac Pro and its ridiculous (in multiple ways) 6K display, but looking back at Apple’s 2019 announcements, SwiftUI might end up being the most profound of them all.

If you want to cut straight to some working code and an XCode project that uses the brand new UI framework, check out the linked repo.

An example to-do list app using SwiftUI (introduced at WWDC 2019)

Swift github.com

Fuzzilli – a JavaScript engine fuzzer written in Swift

A (coverage-)guided fuzzer for dynamic language interpreters based on a custom intermediate language (“FuzzIL”) which can be mutated and translated to JavaScript.

Not an official Google project, but written and maintained by Google engineer Samuel Groß. The README lays out quite a bit on the concept, implementation, and usage of the fuzzer, but there’s even more to learn in this presentation from Offensive Con 2019 and the associated master’s thesis for which the project was produced.

Swift github.com

An app that makes it easier to find and subscribe to RSS Feeds

I’m logging this not because it’s super-useful in its current form (it is not). I’m logging this not because it’s a good example of a modern Swift app (it may be, I have no idea). Nope. I’m logging FeedCompass because it represents an idea that deserves more attention.

Independent websites, loosely stitched together via open protocols, are what make the web great.

Yeah, let’s do more of that.

Swift forums.swift.org

Apple is indeed patenting Swift features

Is Apple trying to own paradigms of a computer language or are they trying to keep the patent trolls away? Here’s a link to the patent in question, and here’s the patent’s abstract:

In one embodiment, an improved programming system and language for application development is provided that combines elements of the C and Objective-C languages without the constraints imposed by a requirement to maintain compatibility with the C language. The language provides the functionality of the C language compatibility in certain areas to improve the inherent safety of software written in the language. The new language includes default safety considerations such as bounds and overflow checking.

0:00 / 0:00