Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

JavaScript
JavaScript

76.8K
62.4K
+ 1
7.4K
Swift
Swift

6.9K
4.9K
+ 1
1.1K
Add tool

JavaScript vs Swift: What are the differences?

What is JavaScript? Lightweight, interpreted, object-oriented language with first-class functions. JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.

What is Swift? An innovative new programming language for Cocoa and Cocoa Touch. 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.

JavaScript and Swift can be categorized as "Languages" tools.

"Can be used on frontend/backend", "It's everywhere" and "Lots of great frameworks" are the key factors why developers consider JavaScript; whereas "Ios", "Elegant" and "Not Objective-C" are the primary reasons why Swift is favored.

Swift is an open source tool with 48.2K GitHub stars and 7.71K GitHub forks. Here's a link to Swift's open source repository on GitHub.

reddit, Slack, and StackShare are some of the popular companies that use JavaScript, whereas Swift is used by Slack, Lyft, and Zillow. JavaScript has a broader approval, being mentioned in 5034 company stacks & 6258 developers stacks; compared to Swift, which is listed in 979 company stacks and 526 developer stacks.

- No public GitHub repository available -

What is JavaScript?

JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.

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.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose JavaScript?
Why do developers choose Swift?

Sign up to add, upvote and see more prosMake informed product decisions

Sign up to add, upvote and see more consMake informed product decisions

What companies use JavaScript?
What companies use Swift?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with JavaScript?
What tools integrate with Swift?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to JavaScript and Swift?
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Dart
Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.
CoffeeScript
It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.
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
Decisions about JavaScript and Swift
Sparker73
Sparker73
Frontend Developer · | 8 upvotes · 23.2K views
Node.js
Node.js
JavaScript
JavaScript
.NET
.NET
PHP
PHP

Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

See more
Zach Holman
Zach Holman
at Zach Holman · | 40 upvotes · 432.4K views
React
React
Apollo
Apollo
Rails
Rails
JavaScript
JavaScript

Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

See more
Visual Studio Code
Visual Studio Code
GitHub
GitHub
Linux
Linux
JavaScript
JavaScript
Swift
Swift
Java
Java
PHP
PHP
Python
Python
XML
XML
JSON
JSON
Git
Git
SVN (Subversion)
SVN (Subversion)

I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

  • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

  • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

  • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

  • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

  • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

  • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

  • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

See more
Osamah Aldoaiss
Osamah Aldoaiss
UI Engineer | Maker at Triad Apparel Inc. · | 6 upvotes · 25.1K views
atTriad Apparel Inc.Triad Apparel Inc.
Gatsby
Gatsby
Lighthouse
Lighthouse
React
React
GraphQL
GraphQL
Node.js
Node.js
ES6
ES6
JavaScript
JavaScript

Gatsby has been at the core of our Shop system since day one. It gives its User the power to create fast and performant sites out-of-the-box. You barely have to do anything to get great Lighthouse results. And it all runs on ES6 JavaScript.

The power of SSR React and then hydrating it client-side to add interactivity and App-like feel is what makes Gatsby powerful.

It comes with a ton of plugins, that are mind-boggling: Image Processing, GraphQL, Node.js, and so much more. This is thanks to a great ecosystem, a great user-base and the revolutionary Community work, which led to the Gatsby repo to be one of the most committed to, out there.

See more
Nicolas Theck
Nicolas Theck
Student at RocketPlay · | 3 upvotes · 48.4K views
atRocketPlayRocketPlay
HTML5
HTML5
JavaScript
JavaScript
Vue.js
Vue.js
Webpack
Webpack
GitLab
GitLab
GitLab CI
GitLab CI
Ubuntu
Ubuntu
npm
npm
nginx
nginx
CloudFlare
CloudFlare
ExpressJS
ExpressJS
Sequelize
Sequelize
PostgreSQL
PostgreSQL
JSON Web Token
JSON Web Token
PM2
PM2
OVH
OVH
Node.js
Node.js
Twilio SendGrid
Twilio SendGrid
#Frontend
#Backend
#Pulsejs
#Passport
#Ns

We use JavaScript in both our #Frontend and #Backend. Front-End wise, we're using tools like Vue.js , Webpack (for dev & building), pulsejs . For delivering the content, we push to GitLab & use GitLab CI (running on our own Ubuntu machine) to install (with npm) our packages, build the app trough Webpack and finally push it to our nginx server via a folder. From there, use accessing the website will get cached content thanks to CloudFlare. Back-End wise, we again use JavaScript with tools such as ExpressJS (http server), Sequelize (database, server running on PostgreSQL ) but also JSON Web Token with passport to authenticate our users. Same process used in front-end is used for back-end, we just copy files to a dist where PM2 watches for any change made to the Node.js app. Traffic doesn't go trough CloudFlare for upload process reasons but our nginx reverse proxy handles the request (which do go trough CloudFlare SSL-wise, since we're using their ns servers with our OVH domain.) Other utils we use are SendGrid for email sending & obviously HTML5 for the base Vue.js app. I hope this article will tell you more about the Tech we use here at RocketPlay :p

See more
Gustavo Muñoz
Gustavo Muñoz
Web UI Developer at Globant · | 8 upvotes · 255.7K views
Flutter
Flutter
React
React
React Native
React Native
Dart
Dart
Android Studio
Android Studio
Visual Studio Code
Visual Studio Code
JavaScript
JavaScript
#Flare

In my modest opinion, Flutter is the future of mobile development. The framework is as important to mobile as React is to the web. And seeing that React Native does not finish taking off, I am focusing all my efforts on learning Flutter and Dart. The ecosystem is amazing. The community is crazy about Flutter. There are enough resources to learn and enjoy the framework, and the tools developed to work with it are amazing. Android Studio or Visual Studio Code has incredible plugins and Dart is a pretty straight forward and easy-to-learn language, even more, if you came from JavaScript. I admit it. I'm in love with Flutter. When you are not a designer, having a framework focused on design an pretty things is a must. And counting with tools like #flare for animations makes everything easier. It is so amazing that I wish I had a big mobile project right now at work just to use Flutter.

See more
Gustavo Muñoz
Gustavo Muñoz
Web UI Developer at Globant · | 2 upvotes · 7.3K views
Angular 2
Angular 2
TypeScript
TypeScript
React
React
Flow (JS)
Flow (JS)
JavaScript
JavaScript
CoffeeScript
CoffeeScript
#Angular
#ECMA

Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

See more
Pedro Arnal Puente
Pedro Arnal Puente
CTO at La Cupula Music SL · | 8 upvotes · 24.5K views
atLa Cupula Music SLLa Cupula Music SL
JavaScript
JavaScript
jQuery
jQuery
jQuery UI
jQuery UI
Vue.js
Vue.js
Webpack
Webpack
ESLint
ESLint
Babel
Babel
ES6
ES6

We are phasing out jQuery and jQuery UI in favour or Vue.js and @Vue-cli so we can support building a modern, well-architectured frontend.

The JavaScript build pipeline is supported by Webpack , and includes tools like ESLint and Babel , so we can properly support the latest ES/JS versions, with ES6 as the minimum baseline.

See more
Tassanai Singprom
Tassanai Singprom
JavaScript
JavaScript
PHP
PHP
HTML5
HTML5
jQuery
jQuery
Redis
Redis
Amazon EC2
Amazon EC2
Ubuntu
Ubuntu
Sass
Sass
Vue.js
Vue.js
Firebase
Firebase
Laravel
Laravel
Lumen
Lumen
Amazon RDS
Amazon RDS
GraphQL
GraphQL
MariaDB
MariaDB
Google Analytics
Google Analytics
Postman
Postman
Elasticsearch
Elasticsearch
Git
Git
GitHub
GitHub
GitLab
GitLab
npm
npm
Visual Studio Code
Visual Studio Code
Kibana
Kibana
Sentry
Sentry
BrowserStack
BrowserStack
Slack
Slack

This is my stack in Application & Data

JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

My Utilities Tools

Google Analytics Postman Elasticsearch

My Devops Tools

Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

My Business Tools

Slack

See more
StackShare Editors
StackShare Editors
TypeScript
TypeScript
CoffeeScript
CoffeeScript
JavaScript
JavaScript
Flow (JS)
Flow (JS)

From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

See more
Adam Bavosa
Adam Bavosa
Python
Python
JavaScript
JavaScript
asyncio
asyncio
PubNub
PubNub

I love Python and JavaScript . You can do the same JavaScript async operations in Python by using asyncio. This is particularly useful when you need to do socket programming in Python. With streaming sockets, data can be sent or received at any time. In case your Python program is in the middle of executing some code, other threads can handle the new socket data. Libraries like asyncio implement multiple threads, so your Python program can work in an asynchronous fashion. PubNub makes bi-directional data streaming between devices even easier.

See more
Ali Soueidan
Ali Soueidan
Creative Web Developer at Ali Soueidan · | 18 upvotes · 475K views
npm
npm
Vue.js
Vue.js
vuex
vuex
JavaScript
JavaScript
Pug
Pug
Sass
Sass
JSON
JSON
Git
Git
GitHub
GitHub
ES6
ES6
Asana
Asana
Adobe Illustrator
Adobe Illustrator
PHP
PHP
Babel
Babel

Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

Side note: I used npm for package management. 🎉

*Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

See more
Helio Junior
Helio Junior
Python
Python
JavaScript
JavaScript
CSS 3
CSS 3
#DataScience
#UXdesign
#NodeJS
#Electron

Python is a excellent tool for #DataScience , but up to now is very poor in #uxdesign . To do some design I'm using JavaScript and #nodejs , #electron stack. The possibility of use CSS 3 to draw interfaces is very awesome and fast. Unfortunatelly Python don't have (yet) a good way to make a #UXdesign .

See more
Kamil Kowalski
Kamil Kowalski
Engineering Manager at Fresha · | 26 upvotes · 190.3K views
atFresha EngineeringFresha Engineering
Selenium
Selenium
Java
Java
Ruby
Ruby
Elixir
Elixir
JavaScript
JavaScript
Cypress
Cypress

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Ruby
Ruby
Rails
Rails
React
React
Redux
Redux
Create React App
Create React App
Jest
Jest
react-testing-library
react-testing-library
RSpec
RSpec
PostgreSQL
PostgreSQL
MongoDB
MongoDB
Redis
Redis
React Native
React Native
Next.js
Next.js
Python
Python
Bit
Bit
JavaScript
JavaScript

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more
Interest over time
Reviews of JavaScript and Swift
Avatar of Bessalitskykh
Software Development Consultan at MLSDev Inc.
Review ofSwiftSwift

The performance of Swift is almost the same as that of C++, which is considered the fastest in algorithm calculation arithmetics. Apple had this idea in mind and worked to improve the speed of Swift. For example, Swift 2.0 has beaten C++ in several computation algorithms, such as Mandelbrot algorithm. Objective-C is slower because it contains C API legacy.

Swift is faster than Objective-C, because it removed the limitations of C language and has been improved with the help of advanced technologies that were unavailable when C was developed. As mentioned by Apple, Swift was originally designed to operate faster.

Despite the fact that languages are different, they both integrate, and work with Cocoa and Cocoa Touch APIs, for all Apple platforms. Therefore, a regular app-user would not recognize the difference in operating speed between Objective-C vs Swift. Speed also depends on a programmer’s level and capabilities, since a slow app can be written in Swift as well.

Learn more here https://mlsdev.com/blog/51-7-advantages-of-using-swift-over-objective-c

Avatar of Bessalitskykh
Software Development Consultan at MLSDev Inc.
Review ofSwiftSwift

Its performance approaches the one of C++ which is considered the fastest algorithm calculation arithmetics. And Apple strives to improve the speed of Swift. Learn more here https://mlsdev.com/blog/51-7-advantages-of-using-swift-over-objective-c

Review ofJavaScriptJavaScript

excellent!!

How developers use JavaScript and Swift
Avatar of Andrew Faulkner
Andrew Faulkner uses JavaScriptJavaScript

Almost the entire app was written in Javascript, with JSON-based configuration and data storage. The following components were written and/or configured with Javascript:

  • Most server-side scripts, all unit tests, all build tools, etc. were driven by NodeJS.
  • ExpressJS served as the 'backend' server framework.
  • MongoDB (which stores essential JSON) was the main database.
  • MongooseJS was used as the main ORM for communicating with the database, with KnexJS used for certain edge cases.
  • MochaJS, ChaiJS, and ExpectJS were used for unit testing.
  • Frontend builds were done with Gulp and Webpack.
  • Package management was done primarily with npm - with a few exceptions that required the use of Bower (also configured with JSON).
  • "Templating" was done with Javascript dialect JSX.
  • The frontend was build primarily with ReactJS (as the View) and Redux (as the Controller / Store / frontend model).
  • Configuration was done with json files.

The only notable exceptions were the use of SCSS (augmented by Compass) for styling, Bash for a few basic 'system chores' and CLI utilities required for development of the app (most notably git and heroku's CLI interface), and a bit of custom SQL for locations where the ORM extractions leaked (the app is DB-agnostic, but a bit of SQL was required to fill gaps in the ORMs when interfacing with Postgres).

Avatar of OutSystems
OutSystems uses JavaScriptJavaScript

Read more on how to extend the OutSystems UI with Javascript here.

OutSystems provides a very simple to use AJAX mechanism. However, developers can also use JavaScript extensively to customize how users interact with their applications, to create client side custom validations and dynamic behaviors, or even to create custom, very specific, AJAX interactions. For example, each application can have an application-wide defined JavaScript file or set of files included in resources. Page-specific JavaScript can also be defined.

Avatar of Gorka Llona
Gorka Llona uses JavaScriptJavaScript

This GNU/GPL licensed Javascript library allows you to draw complex organizational charts that can't be drawn using Google's tool or equivalents. Orgchart structures are specified with JSON and can be generated on-the-fly by server-side scripts and databases. Events can be attached to clicks over the boxes. Multiple options can be defined; look at the repo for examples. This 1300-code-lines software component with contributors from 8 countries (and others for which I have to integrate their works) appears in the first page of Google Search results when searching for "Javascript Organizational Chart Library".

Avatar of Cloudcraft
Cloudcraft uses JavaScriptJavaScript

JavaScript gets a bad rep, quite undeservedly so in my opinion. Today, JS is closer to functional languages than to the traditional-OO languages, and when used as such provides a great development experience. The pace of development is just picking up with transpilers like Babel making future advanced language features available to the masses today. At Cloudcraft.co, we write 100% of both the front-end (with React) and the backend (with Node.js) in Javascript, using the latest ES6 and even some ES7 features. This is not your grandfather's Javascript!

Avatar of Lawrence Cheuk
Lawrence Cheuk uses SwiftSwift

iPhone app, a new born language, it may good but the IDE, xcode is bad compare with Visual Studio. It just like a baby. playground can only use without connect to other library...you can not do a simply refactor of renaming a variable. You can go to definition and find reference, but you can not go to implementation....I should write them on xcode not here basically it is not the fault of swift, but it tightly to it, unless you want to use a notepad to write it.

Avatar of MOKA Analytics
MOKA Analytics uses JavaScriptJavaScript

The application front-end is written in JavaScript (ES6). We originally selected it over TypeScript because many library typings at the time were still flaky and the transpilation time was slow.

We are now re-considering TypeScript because 1) the tooling has improved significantly, and 2) and the root cause of the majority of our front-end bugs are related to typing (despite having PropTypes).

Avatar of Refractal
Refractal uses SwiftSwift

Most of our newer apps are written completely in swift, with our older ones and some special cases using a mix of Swift and Objective-C, but with Swift 2, the language is pretty much a must-use. "guard" is <3.

Avatar of Flutter Health Inc.
Flutter Health Inc. uses SwiftSwift

Flutter is coded with Swift v.2.3 and can be run with Xcode v.8.2.1. To launch in Xcode 9.3, the code needs to be migrated to Swift 4.1

Avatar of Maxim Ananov
Maxim Ananov uses SwiftSwift

Most of the app code was gradually rewritten in Swift for better performance and code maintenance.

Avatar of JINJA Ltd.
JINJA Ltd. uses SwiftSwift

Our native iOS app is built on Swift, and most of the basic function is still written in Swift

How much does JavaScript cost?
How much does Swift cost?
Pricing unavailable
Pricing unavailable