Swift logo

Swift

An innovative new programming language for Cocoa and Cocoa Touch.
20.3K
13.4K
+ 1
1.3K

What is Swift?

Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.
Swift is a tool in the Languages category of a tech stack.
Swift is an open source tool with GitHub stars and GitHub forks. Here’s a link to Swift's open source repository on GitHub

Who uses Swift?

Companies
2583 companies reportedly use Swift in their tech stacks, including Uber, Slack, and Robinhood.

Developers
15165 developers on StackShare have stated that they use Swift.

Swift Integrations

Sentry, gRPC, Strapi, SwiftUI, and Snyk are some of the popular tools that integrate with Swift. Here's a list of all 73 tools that integrate with Swift.
Pros of Swift
259
Ios
180
Elegant
126
Not Objective-C
107
Backed by apple
93
Type inference
61
Generics
54
Playgrounds
49
Semicolon free
38
OSX
36
Tuples offer compound variables
24
Clean Syntax
24
Easy to learn
22
Open Source
21
Beautiful Code
20
Functional
12
Dynamic
12
Linux
11
Protocol-oriented programming
10
Promotes safe, readable code
9
No S-l-o-w JVM
8
Explicit optionals
7
Storyboard designer
6
Optionals
6
Type safety
5
Super addicting language, great people, open, elegant
5
Best UI concept
4
Its friendly
4
Highly Readable codes
4
Fail-safe
4
Powerful
4
Faster and looks better
4
Swift is faster than Objective-C
4
Feels like a better C++
3
Easy to learn and work
3
Much more fun
3
Protocol extensions
3
Native
3
Its fun and damn fast
3
Strong Type safety
3
Easy to Maintain
2
Protocol as type
2
All Cons C# and Java Swift Already has
2
Esay
2
MacOS
2
Type Safe
2
Protocol oriented programming
1
Can interface with C easily
1
Actually don't have to own a mac
1
Free from Memory Leak
1
Swift is easier to understand for non-iOS developers.
1
Numbers with underbar
1
Optional chain
1
Great for Multi-Threaded Programming
1
Runs Python 8 times faster
1
Objec
Decisions about Swift

Here are some stack decisions, common use cases and reviews by companies and developers who chose Swift in their tech stack.

Needs advice
on
FirebaseFirebaseFlutterFlutter
and
SupabaseSupabase

Hello,

I'm in the midst of reviewing an old CRUD SAAS I have running on Angular 7 with a MariaDB backend and Laravel PHP. Presently is hosted on a couple of Linode servers- and really feeling the weight, especially with the looming need to upgrade to A15 and meet the pace and scalability occurring (for context, the SAAS turns in over 24k USD monthly in subscriptions- so I have concerns around the impact of a new stack on existing clients). Additionally, I manage a Kotlin and Swift codebase for appdev.

I'm looking at moving towards Flutter for a singular codebase, and something serverless but still relational- like Supabase. In the past, I ran my own Auth services- but it was a ton of work to setup and maintain, so looking at using Firebase for Auth services (I know Supabase has Auth as well, but I wonder if it's as reliable and frequently maintained as Firebase?) Supabase has a FlutterSDK as well which makes things much simpler. Planning on maintaining microservices like Stripe etc for functional aspects.

I would love some insight from those who have done a tech stack transition, what should I be aware of- those who have produced in Flutter or a similar stack, what am I walking into without knowing?

See more
Aarav Varma
Needs advice
on
FlutterFlutter
and
React NativeReact Native

Can React or Flutter replace native technologies? I'm a founder of a Social Network called Orbiting, I'm basically a nontech guy, everything about tech is self-taught so I'm confused about what should I do taking forward the product, I've stupidly built Native mobile apps for Android (Kotlin) and Ios (Swift), post-beta, I'm thinking to move towards a language like React Native or Flutter as it decreases strain on my frontend side, keeping the team lean is one of my most important aspects in terms of growing the company but at the same time I don't want to compromise on user experience.

See more
Needs advice
on
FlutterFlutterPythonPython
and
SwiftSwift

Hello, I am still a student and would like to ask a question. Currently, I am developing in mobile development with Flutter in the frontend and Python in the backend part. Right now I have to make a choice about developing a mobile app or developing a backend to progress more professionally. My questions are as follows:

1) If I prefer the mobile application area, will I only work with the Ui/Ux developer with the front-end and code the designs in Swift Kotlin languages, am I responsible for the back-end software?

2) I have a product that generates new ideas so I like to control the development and work there because the backend is the brain, but are they independent from each other in the backend mobile application? Is the mobile app developer responsible for the backend software?

3) I don't like graphic design because I don't like it if it's not perfect and I get stressed. Am I responsible for the graphic design in the mobile app?

4) Is a mobile app developer also a backend developer?

I know these are very simple questions, but they are very important to me. Thanks for your answers.

See more
Adit Patel
Needs advice
on
RustRust
and
SwiftSwift

Hey there, we are looking to develop our own layer 1 blockchain. We're splitting the responsibilities for origination, clearing, and settlement across three independent but cooperating node networks. We've gotten our Proof of Concept up using Ruby on Rails for the nodes, you can see it as the attached link. So far, so good. Now we are looking to convert it into a distributable and are trying to figure out which language is the best for this.

Essentially our needs from the language are: solid networking tools and speed, very fast execution of basic actions, some parallel execution, and able to compile the end product into an easy to distribute and use package for end users.

I was learning Rust, but I have a healthy amount of experience with Swift and right now, it's only me coding. I've only done iOS coding, but have built a fintech app from scratch that's now in the app store so I'm pretty familiar with the language and its benefits. Haven't experimented with Vapor or any of the application development tools, and I wanted to know if it is a crazy idea to develop a blockchain node in Swift instead.

See more
Needs advice
on
PythonPython
and
SwiftSwift

please which is better to learn this year, Swift or Python

See more
Needs advice
on
SwiftSwiftSwiftUISwiftUI
and
XcodeXcode

Greetings everyone. I ran a design studio for 8 years in which we designed mobile and web apps. I also lead development teams when our client asked us to carry out the development of the projects. I always had an interest in learning to code to help me understand what is going on on the dev side and also build small apps as a hobby. I tried several times to get on a learning path, but challenges always put me down, so I quit after a couple of weeks. I tried JavaScript, Python, PHP, and Objective-C.

Now I am retrying to teach myself Swift and especially SwiftUI for more than a month, and It's been going well so far. I want to build my own small apps, and I'm not focused on getting hired as a developer. I want to ask if it's the right language to start learning to program or should I learn something else first as a foundation. I'm currently taking a 100 days of code challenge and reading the Swift 5.3 PDF if I want to get more information on a specific topic. It feels like none of the stuff is sticking, but I'm not sure if it's the way it goes or my approach is wrong.

I would appreciate any kind of guidance. Thanks

See more

Blog Posts

Swift Alternatives & Comparisons

What are some alternatives to Swift?
Objective-C
Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.
React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
See all alternatives

Swift's Followers
13399 developers follow Swift to keep up with related blogs and decisions.