Skip to content

Latest commit

 

History

History
143 lines (123 loc) · 4.99 KB

index.md

File metadata and controls

143 lines (123 loc) · 4.99 KB
layout title hideTitle atom
page-wide
Welcome to Swift.org
true
true

Swift is a general-purpose programming language that’s approachable for newcomers and powerful for experts. It is fast, modern, safe, and a joy to write.

{% for snippet in site.data.featured_snippets %}

{{ snippet -}}

{: class="featured-snippet {% if forloop.first %}visible{% endif %}" } {% endfor %}

Get ready for the Swift 6 language mode with the official migration guide

  • {{ site.data.builds.swift_releases.last.name }}
    Latest release
  • <li>
      <a href="/getting-started">
        <img src="/assets/images/landing-page/signs.svg" />
        Get started
      </a>
    </li>
    
    <li>
      <a href="/documentation">
        <img src="/assets/images/landing-page/book.svg" />
        Read the docs
      </a>
    </li>
    
    <li>
      <a href="/packages">
        <img src="/assets/images/landing-page/box.svg" />
        Explore packages
      </a>
    </li>
    

Use Cases

  • Apple Platforms

    Swift is a powerful and intuitive programming language optimized when running on iOS, macOS, and other Apple platforms.

    Apple offers a wide variety of frameworks and APIs that make applications developed for these platforms unique and fun.

    Learn more
  • Cross-platform Command-line

    Writing Swift is interactive and fun, the syntax is concise yet expressive. Swift code is safe by design and produces software that runs lightning-fast.

    SwiftArgumentParser and Swift's growing package ecosystem make developing cross-platform command-line tools a breeze.

    <a href="/getting-started/cli-swiftpm" class="cta-secondary">Learn more</a>
    
  • Server and Networking

    Swift's small memory footprint, quick startup time, and deterministic performance make it a great choice for server and other networked applications.

    SwiftNIO and Swift's dynamic server ecosystem bring joy to developing networked applications.

    <a href="/documentation/server" class="cta-secondary">Learn more</a>
    

Getting Involved

Everyone is welcome to contribute to Swift. Contributing doesn’t just mean writing code or submitting pull request — there are many different ways for you to get involved, including answering questions on the forums, reporting or triaging bugs, and participating in the Swift evolution process.

No matter how you want to get involved, we ask that you first learn what’s expected of anyone who participates in the project by reading the Community Overview. If you’re contributing code, you should also know how to build and run Swift from the repository, as described in Source Code.

  • Design

    Help shape the future of Swift by participating in the Swift evolution process.

    Learn more
  • Code

    Contribute to the Swift compiler, standard library, and other core components of the project.

    Learn more
  • Troubleshoot

    Help improve the quality of Swift by reporting and triaging bugs.

    Learn more

What's New

Stay up-to-date with the latest in the Swift community.

- [Visit the Swift.org blog](/blog/) - [Visit the Swift forums](https://forums.swift.org) - [Follow @swiftlang on X (formerly Twitter)](https://twitter.com/swiftlang){:target="_blank" class="link-external"}
<script> var featuredSnippets = document.querySelectorAll('.featured-snippet'); var visibleSnippet = document.querySelector('.featured-snippet.visible'); var randomIndex = Math.floor(Math.random() * featuredSnippets.length); visibleSnippet?.classList.remove('visible'); featuredSnippets[randomIndex]?.classList.add('visible'); </script>