DEV Community

Dmytro Pylypenko
Dmytro Pylypenko

Posted on

5 1

Swift 5. What is new?

Swift 5 is ABI stable, which gives direct compatibility with OS without additional layers and backward compatibility between different versions of Swift, beginning from 5.0 version.

Also the new version has a lot of improvements:

  1. Flattened try? with Optional type
    No more double guard.
    pic_1

  2. Raw strings
    Gives one of the possibility to write a string without escaping characters inside. It's very feature for writing raw RegEx expressions in a clean way.

    pic_2

    If you need to embed a variable inside a raw string, you must add hash symbol after backslash: #"(\\|\#(variable))"#

  3. String interpolation
    Declaration can be flexible and behave on your own.
    For this, extend the protocol StringInterpolation with own function:
    pic_3

  4. No recursion inside computed properties
    Avoid additional layer for computations, and have it inside a closure.

pic_4


It was a part of described features, more is there: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_release_notes/swift_5_release_notes_for_xcode_10_2_beta

Article on Medium: https://medium.com/@dimpiax/swift-5-what-is-new-examples-fbb64d525486

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (3)

Collapse
 
eljayadobe profile image
Eljay-Adobe •

Swift 1.x to 2.0 was a major change. (I'd call 1.x alpha quality.)

Swift 2.0 to 3.0 was also a major change. (I'd call 2.0 beta quality.)

Swift 3.0 to 4.0 to 4.1 to 4.2 to 5 all seem like minor fit-and-finish changes. To me, this is a good thing. The language is settled, mature. Literature on 3.0 is probably entirely or nearly entirely applicable to 5.

Collapse
 
peterwitham profile image
Peter Witham •

I think there will be a lot to love about Swift 5, I am hoping that they stay true to the commitment to include the runtime in OS' so it is no longer part of app installs.

Collapse
 
dimpiax profile image
Dmytro Pylypenko •

So be it! :)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs