ES6 vs Objective-C

Get Advice Icon

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

ES6
ES6

12.6K
9.7K
+ 1
145
Objective-C
Objective-C

4.4K
2.2K
+ 1
490
Add tool

ES6 vs Objective-C: What are the differences?

ES6: The next version of JavaScript. Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls; Objective-C: The primary programming language you use when writing software for OS X and iOS. 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.

ES6 and Objective-C can be categorized as "Languages" tools.

"ES6 code is shorter than traditional JS" is the top reason why over 98 developers like ES6, while over 211 developers mention "Ios" as the leading cause for choosing Objective-C.

Slack, StackShare, and ebay are some of the popular companies that use ES6, whereas Objective-C is used by Uber Technologies, Instagram, and Pinterest. ES6 has a broader approval, being mentioned in 1461 company stacks & 1725 developers stacks; compared to Objective-C, which is listed in 851 company stacks and 363 developer stacks.

- No public GitHub repository available -
- No public GitHub repository available -

What is ES6?

Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.

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

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

Why do developers choose ES6?
Why do developers choose Objective-C?

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

    Be the first to leave a con
      Be the first to leave a con
      What companies use ES6?
      What companies use Objective-C?

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

      What tools integrate with ES6?
      What tools integrate with Objective-C?

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

      What are some alternatives to ES6 and Objective-C?
      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.
      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.
      TypeScript
      TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
      jQuery
      jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
      PHP
      Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
      See all alternatives
      Decisions about ES6 and Objective-C
      StackShare Editors
      StackShare Editors
      Angular
      Angular
      jQuery
      jQuery
      Objective-C
      Objective-C
      Swift
      Swift
      Go
      Go
      Ruby
      Ruby
      Java
      Java
      React
      React
      Python
      Python
      Node.js
      Node.js
      Rails
      Rails

      By mid-2015, around the time of the Series E, the Digital department at WeWork had grown to more than 40 people to support the company’s growing product needs.

      By then, they’d migrated the main website off of WordPress to Ruby on Rails, and a combination React, Angular, and jQuery, though there were efforts to move entirely to React for the front-end.

      The backend was structured around a microservices architecture built partially in Node.js, along with a combination of Ruby, Python, Bash, and Go. Swift/Objective-C and Java powered the mobile apps.

      These technologies power the listings on the website, as well as various internal tools, like community manager dashboards as well as RFID hardware for access management.

      See more
      StackShare Editors
      StackShare Editors
      Objective-C
      Objective-C
      Gradle
      Gradle
      Swift
      Swift
      Java
      Java

      At the heart of Uber’s mobile app development are four primary apps: Android rider, Android driver, iOS rider, and iOS driver. Android developers build in Java, iOS in Objective C and Swift. Engineers across both platforms land code into a monolithic code base that ships each week.

      They use some third-party libraries, but often build their own, since “Many open source libraries available are general-purpose, which can create binary bloat. For mobile engineering, every kilobyte matters.”

      On Android, the build system is Gradle. For the UI, Butter Knife binds views and callbacks to fields and methods via annotation processing, and Picasso provides image loading.

      As for iOS, all of the code lives in a monorepo built with Buck. For crash detection, KSCrash reports crashes to the internal reporting framework.

      See more
      Nick Parsons
      Nick Parsons
      Director of Developer Marketing at Stream · | 33 upvotes · 221.7K views
      atStreamStream
      Go
      Go
      Stream
      Stream
      Python
      Python
      Yarn
      Yarn
      Babel
      Babel
      Node.js
      Node.js
      ES6
      ES6
      JavaScript
      JavaScript
      #Languages
      #FrameworksFullStack

      Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

      We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

      We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

      Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

      #FrameworksFullStack #Languages

      See more
      Jake Stein
      Jake Stein
      CEO at Stitch · | 15 upvotes · 75.4K views
      atStitchStitch
      ES6
      ES6
      JavaScript
      JavaScript
      CoffeeScript
      CoffeeScript
      React
      React
      AngularJS
      AngularJS

      Stitch’s frontend is used to configure data sources and destinations and monitor the status of each. Although we have been using AngularJS since its early days, we recently introduced React components into our front end, which many of our developers find easier to work with. We started using CoffeeScript when it was one of the few options for a more expressive alternative to vanilla JavaScript, but today we opt to instead write new code in ES6, which we feel is a more mature alternative.

      See more
      Conor Myhrvold
      Conor Myhrvold
      Tech Brand Mgr, Office of CTO at Uber · | 8 upvotes · 421.9K views
      atUber TechnologiesUber Technologies
      RIBs
      RIBs
      Swift
      Swift
      Objective-C
      Objective-C

      Excerpts from how we developed (and subsequently open sourced) Uber's cross-platform mobile architecture framework, RIBs , going from Objective-C to Swift in the process for iOS: https://github.com/uber/RIBs

      Uber’s new application architecture (RIBs) extensively uses protocols to keep its various components decoupled and testable. We used this architecture for the first time in our new rider application and moved our primary language from Objective-C to Swift. Since Swift is a very static language, unit testing became problematic. Dynamic languages have good frameworks to build test mocks, stubs, or stand-ins by dynamically creating or modifying existing concrete classes.

      Needless to say, we were not very excited about the additional complexity of manually writing and maintaining mock implementations for each of our thousands of protocols.

      The information required to generate mock classes already exists in the Swift protocol. For Uber’s use case, we set out to create tooling that would let engineers automatically generate test mocks for any protocol they wanted by simply annotating them.

      The iOS codebase for our rider application alone incorporates around 1,500 of these generated mocks. Without our code generation tool, all of these would have to be written and maintained by hand, which would have made testing much more time-intensive. Auto-generated mocks have contributed a lot to the unit test coverage that we have today.

      We built these code generation tools ourselves for a number of reasons, including that there weren’t many open source tools available at the time we started our effort. Today, there are some great open source tools to generate resource accessors, like SwiftGen. And Sourcery can help you with generic code generation needs:

      https://eng.uber.com/code-generation/ https://eng.uber.com/driver-app-ribs-architecture/

      (GitHub : https://github.com/uber/RIBs )

      See more
      Antonio Kobashikawa
      Antonio Kobashikawa
      Web developer | Blogger | Freelancer at Rulo Kobashikawa · | 4 upvotes · 46.6K views
      Koa
      Koa
      ES6
      ES6
      JavaScript
      JavaScript
      Ionic
      Ionic
      Vue.js
      Vue.js
      MongoDB
      MongoDB
      ExpressJS
      ExpressJS
      Node.js
      Node.js

      We are using Node.js and ExpressJS to build a REST services that is middleware of a legacy system. MongoDB as database. Vue.js helps us to make rapid UI to test use cases. Frontend is build for mobile with Ionic . We like using JavaScript and ES6 .

      I think next step could be to use Koa but I am not sure.

      See more
      Johnny Bell
      Johnny Bell
      Senior Software Engineer at StackShare · | 9 upvotes · 116.3K views
      atStackShareStackShare
      Apollo
      Apollo
      GraphQL
      GraphQL
      MobX
      MobX
      JavaScript
      JavaScript
      ES6
      ES6
      React
      React
      jQuery
      jQuery
      #Context
      #Hooks🎣

      We are always building new features and replacing old code at StackShare. Lately we have been building out new features for the frontend, and removing a lot of old jQuery code (sorry jQuery but it's time to go).

      We've mainly been using React, ES6 and JavaScript on the frontend to build out the components, and we've been slowly removing some legacy MobX and using GraphQL and Apollo for our state management, if we need to control state further than GraphQL and Apollo allows us to we use just plain React with #context , or the new fancy React #hooks🎣 .

      As we've moved towards the above tech, its really made smashing out new features and updating legacy code super fast, and really fun!

      See more
      Hampton Catlin
      Hampton Catlin
      VP of Engineering at Rent The Runway · | 9 upvotes · 12.1K views
      atRent the RunwayRent the Runway
      React
      React
      TypeScript
      TypeScript
      ES6
      ES6
      JavaScript
      JavaScript

      We use JavaScript because it's the standard for web development, especially with browser execution. And, over the years, some smart work by the W3C has taken Javascript from the most-hated-language to the okay-I-can-make-that-good. No small feat!

      Obviously, using ES6 and TypeScript is what makes it decent in browser contexts. Throw in a bit of React and now we're cooking with gas!

      See more
      ES6
      ES6
      JavaScript
      JavaScript
      Socket.IO
      Socket.IO
      Redis
      Redis
      MongoDB
      MongoDB
      HTML5
      HTML5
      FeathersJS
      FeathersJS
      Redux
      Redux
      React
      React

      I have always been interested in building a real-time multiplayer game engine that could be massively scalable, and recently I decided to start working on a MMO version of the classic "snake" game. I wanted the entire #Stack to be based on ES6 JavaScript so for the #Backend I chose to use FeathersJS with MongoDB for game/user data storage, Redis for distributed mutex and pub/sub, and Socket.IO for real-time communication. For the #Frontend I used React with Redux.js, the FeathersJS client as well as HTML5 canvas to render the view.

      See more
      Tom Klein
      Tom Klein
      CEO at Gentlent · | 4 upvotes · 29.6K views
      atGentlentGentlent
      Python
      Python
      Electron
      Electron
      Socket.IO
      Socket.IO
      Google Compute Engine
      Google Compute Engine
      TypeScript
      TypeScript
      ES6
      ES6
      Ubuntu
      Ubuntu
      PostgreSQL
      PostgreSQL
      React
      React
      nginx
      nginx
      Sass
      Sass
      HTML5
      HTML5
      PHP
      PHP
      Node.js
      Node.js
      JavaScript
      JavaScript

      Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

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

      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
      Pedro Arnal Puente
      Pedro Arnal Puente
      CTO at La Cupula Music SL · | 8 upvotes · 12.9K views
      atLa Cupula Music SLLa Cupula Music SL
      JavaScript
      JavaScript
      ES6
      ES6
      Babel
      Babel
      ESLint
      ESLint
      Webpack
      Webpack
      Vue.js
      Vue.js
      jQuery UI
      jQuery UI
      jQuery
      jQuery

      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
      Ali Soueidan
      Ali Soueidan
      Creative Web Developer at Ali Soueidan · | 16 upvotes · 88.5K views
      npm
      npm
      Babel
      Babel
      PHP
      PHP
      Adobe Illustrator
      Adobe Illustrator
      Asana
      Asana
      ES6
      ES6
      GitHub
      GitHub
      Git
      Git
      JSON
      JSON
      Sass
      Sass
      Pug
      Pug
      JavaScript
      JavaScript
      vuex
      vuex
      Vue.js
      Vue.js

      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
      Interest over time
      Reviews of ES6 and Objective-C
      No reviews found
      How developers use ES6 and Objective-C
      Avatar of Instacart
      Instacart uses Objective-CObjective-C

      Basically, the trajectory was we had our iOS app, which started out native, right? It started as a native app, and then we realized you have to go through a review process and it’s slow, and at a very early stage, it made sense for us to make it a wrapped web view. Basically, the app would open, and it would be a web view inside of it that we could iterate on quickly and change very rapidly and not have to wait for app store view process to change it. It wasn’t totally a native experience, but it was as actually a pretty good experience and lasted for a very long time and was up until recently the foundation of our current mobile web experience, which is different from our app situation. So for a long time, basically, our app store iOS Instacart app was a wrapped web view of just our store, a condensed version of our store, which meant that we could add things. We could change sales. We could change the formatting. We could change the UI really fast and not have to worry about the app store review process.

      This all changed about a year ago, I would like to say, at which point it became a totally native app. We felt comfortable enough with the product and all the features that we made it a native experience and made it a fully featured app.

      Avatar of Kurzor, s.r.o.
      Kurzor, s.r.o. uses ES6ES6

      We started using CoffeeScript years ago, so the switch to ES6 is quite natural in our team. ES6 of course advances the JS standard to a level of an advanced language. We are using it today simply because it: 1. helps to keep the code shorter, 2. integrates easily with JSX, 3. helps to deal with immutable using const.

      Avatar of Refractal
      Refractal uses Objective-CObjective-C

      While the majority of our stack is now using Swift, we still love Objective-C in many cases, especially low-level software manipulation, where it's just easier. It doesn't hurt that a lot of iOS/OS X Libraries out there are written in it either.

      Avatar of Jake Taylor
      Jake Taylor uses ES6ES6

      ES6 is a new-ish, modern form of JavaScript that adds in extra functionality that make code cleaner and easier to work with, such as arrow functions, const and let declarations, array helper methods, object/array destructuring etc.

      Avatar of SmartLogic
      SmartLogic uses Objective-CObjective-C

      We like to go native with iOS development, and Objective-C has been the only game in town until recent introduction of Swift. We're keeping an eye on Swift, but we aren't giving up on the [old way:to do:things]!

      Avatar of Ryan VanBelkum
      Ryan VanBelkum uses ES6ES6

      ES6 (ES2015) is a huge improvement to the javascript spec. These additions are heavily leveraged in React development, such as spread operators, fat arrow functions, and classes.

      Avatar of DailySMSCollection
      DailySMSCollection uses Objective-CObjective-C
      Avatar of Ataccama
      Ataccama uses ES6ES6

      ES6 brings some sweet features to the language. Our favourites are lambda-expressions, block-scoped consts and lets and Promises.

      Avatar of Mick Dekkers
      Mick Dekkers uses ES6ES6

      ES6/ES2015+ makes JavaScript a pleasure to write. Arrow functions, template literals and ES modules especially. RIP CoffeeScript.

      Avatar of Promethean TV
      Promethean TV uses Objective-CObjective-C

      PrometheanTV provides SDKs for IOS devices including support for the Objective-C language.

      How much does ES6 cost?
      How much does Objective-C cost?
      Pricing unavailable
      Pricing unavailable
      News about ES6
      More news