Get Advice Icon

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

Electron
Electron

2.5K
2.1K
+ 1
93
GraphQL
GraphQL

4.8K
4.2K
+ 1
257
Add tool

Electron vs GraphQL: What are the differences?

Electron: Build cross platform desktop apps with web technologies. Formerly known as Atom Shell, made by GitHub. With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor; GraphQL: A data query language and runtime. GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.

Electron belongs to "Cross-Platform Desktop Development" category of the tech stack, while GraphQL can be primarily classified under "Query Languages".

Some of the features offered by Electron are:

  • Use HTML, CSS, and JavaScript with Chromium and Node.js to build your app.
  • Electron is open source
  • maintained by GitHub and an active community.

On the other hand, GraphQL provides the following key features:

  • Hierarchical
  • Product-centric
  • Client-specified queries

"Easy to make rich cross platform desktop applications" is the primary reason why developers consider Electron over the competitors, whereas "Schemas defined by the requests made by the user" was stated as the key factor in picking GraphQL.

Electron and GraphQL are both open source tools. It seems that Electron with 74.4K GitHub stars and 9.72K forks on GitHub has more adoption than GraphQL with 11.7K GitHub stars and 752 GitHub forks.

StackShare, Twitter, and Intuit are some of the popular companies that use GraphQL, whereas Electron is used by Slack, WebbyLab, and triGo GmbH. GraphQL has a broader approval, being mentioned in 541 company stacks & 715 developers stacks; compared to Electron, which is listed in 213 company stacks and 366 developer stacks.

What is Electron?

With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.

What is GraphQL?

GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
Get Advice Icon

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

Why do developers choose Electron?
Why do developers choose GraphQL?

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

Jobs that mention Electron and GraphQL as a desired skillset
What companies use Electron?
What companies use GraphQL?

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

What tools integrate with Electron?
What tools integrate with GraphQL?

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

What are some alternatives to Electron and GraphQL?
Photon
The fastest way to build beautiful Electron apps using simple HTML and CSS. Underneath it all is Electron. Originally built for GitHub's Atom text editor, Electron is the easiest way to build cross-platform desktop applications.
React Native Desktop
Build OS X desktop apps using React Native.
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.
JavaFX
It is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
Element
Element is a Vue 2.0 based component library for developers, designers and product managers, with a set of design resources.
See all alternatives
Decisions about Electron and GraphQL
StackShare Editors
StackShare Editors
Chromium
Chromium
MacGap
MacGap
ES6
ES6
Electron
Electron
React
React
Node.js
Node.js

The Slack desktop app was originally written us the MacGap framework, which used Apple鈥檚 WebView to host web content inside of a native app frame. As this approach continued to present product limitations, Slack decided to migrate the desktop app to Electron. Electron is a platform that combines the rendering engine from Chromium and the Node.js runtime and module system. The desktop app is written as a modern ES6 + async/await React application.

For the desktop app, Slack takes a hybrid approach, wherein some of the assets ship as part of the app, but most of their assets and code are loaded remotely.

See more
StackShare Editors
StackShare Editors
Chromium
Chromium
MacGap
MacGap
ES6
ES6
Electron
Electron
TypeScript
TypeScript
React
React
Node.js
Node.js

Slack's new desktop application was launched for macOS. It was built using Electron for a faster, frameless look with a host of background improvements for a superior Slack experience. Instead of adopting a complete-in-box approach taken by other apps, Slack prefers a hybrid approach where some of the assets are loaded as part of the app, while others are made available remotely. Slack's original desktop app was written using the MacGap v1 framework using WebView to host web content within the native app frame. But it was difficult to upgrade with new features only available to Apple's WKWebView and moving to this view called for a total application rewrite.

Electron brings together Chromium's rendering engine with the Node.js runtime and module system. The new desktop app is now based on an ES6 + async/await React application is currently being moved gradually to TypeScript. Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier.

See more
Collins  Ogbuzuru
Collins Ogbuzuru
Front-end dev at One shirt | 8 upvotes 12.3K views
AWS Lambda
AWS Lambda
Prisma
Prisma
GraphQL
GraphQL

We are starting to build one shirt data logic, structure and as an online clothing store we believe good ux and ui is a goal to drive a lot of click through. The problem is, how do we fetch data and how do we abstract the gap between the Front-end devs and backend-devs as we are just two in the technical unit. We decided to go for GraphQL as our application-layer tool and Prisma for our database-layer abstracter.

Reasons :

GraphQL :

  1. GraphQL makes fetching of data less painful and organised.

  2. GraphQL gives you 100% assurance on data you getting back as opposed to the Rest design .

  3. GraphQL comes with a bunch of real-time functionality in form of. subscriptions and finally because we are using React (GraphQL is not React demanding, it's doesn't require a specific framework, language or tool, but it definitely makes react apps fly )

Prisma :

  1. Writing revolvers can be fun, but imagine writing revolvers nested deep down, curry braces flying around. This is sure a welcome note to bugs and as a small team we need to focus more on what that matters more. Prisma generates this necessary CRUD resolves, mutations and subscription out of the box.

  2. We don't really have much budget at the moment so we are going to run our logic in a scalable cheap and cost effective cloud environment. Oh! It's AWS Lambda and deploying our schema to Lambda is our best bet to minimize cost and same time scale.

We are still at development stage and I believe, working on this start up will increase my dev knowledge. Off for Lunch :)

See more
Divine Bawa
Divine Bawa
at PayHub Ghana Limited | 13 upvotes 99.6K views
Apollo
Apollo
Next.js
Next.js
styled-components
styled-components
React
React
graphql-yoga
graphql-yoga
Prisma
Prisma
MySQL
MySQL
GraphQL
GraphQL
Node.js
Node.js

I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.

See more
Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare | 9 upvotes 116.1K 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
Malthe J酶rgensen
Malthe J酶rgensen
CTO at Peergrade | 13 upvotes 43.7K views
atPeergradePeergrade
Amazon RDS
Amazon RDS
Graphene
Graphene
GraphQL
GraphQL
Django
Django
PostgreSQL
PostgreSQL

We recently switched from MongoDB and the Python library MongoEngine to PostgreSQL and Django in order to:

  • Better leverage GraphQL (using the Graphene library)
  • Allow us to use the autogenerated Django admin interface
  • Allow better performance due to the way some of our pages present data
  • Give us more a mature stack in the form of Django replacing MongoEngine, which we had some issues with in the past.

MongoDB was hosted on mlab, and we now host Postgres on Amazon RDS .

See more
Seun Kola
Seun Kola
CTO at Virtualrobe Limited | 7 upvotes 8.5K views
Apollo
Apollo
Prisma
Prisma
React
React
GraphQL
GraphQL

Using GraphQL for queries and mutation on React app and Prisma database is so cool, easy and fast to learn. i often use Apollo client to integrate both ends. Most times working has a frontend developer and trying to build a MVP product quickly requires tools that require less setup on both production and development in order to test functionalities, and using GraphQL for queries surpasses Rest queries for me because of the flexibility in requesting the data you actually need and not requesting the whole dataset everytime.

But in all, Rest is still the king since most public api support its CRUD processes more than GraphQL but lot of top companies are using it and am definitely using it for various project including my recent pet project(Delivery buddy - A platform that allows pair-to-pair delivery service).

See more
Seun Kola
Seun Kola
CTO at Virtualrobe Limited | 2 upvotes 6.9K views
ExpressJS
ExpressJS
Apollo
Apollo
GraphQL
GraphQL
Prisma
Prisma
React Native
React Native
React
React

Have been working on a side project that focuses on sharing economy, allowing users to pickup and deliver groceries for others. Have already started working on the frontend for the web dashboard using React and plan to use React Native for the mobile app. But am in a dilemma, whether to build the backend myself for the MVP or use firebase for the backend. I need advise, has anyone use Firebase for such project and what are the pros and cons, what issues will i faced.

Note: My proposed stack for the backend is a Prisma database, GraphQL , Apollo and ExpressJS

Thanks in advance to everyone.

See more
Munkhtegsh Munkhbat
Munkhtegsh Munkhbat
Software Engineer Consultant at LoanSnap | 9 upvotes 18.6K views
GraphQL
GraphQL
Apollo
Apollo
React
React
Heroku
Heroku
styled-components
styled-components
PostgreSQL
PostgreSQL
Prisma
Prisma
graphql-yoga
graphql-yoga
#Frontend
#Backend

In my last side project, I built a web posting application that has similar features as Facebook and hosted on Heroku. The user can register an account, create posts, upload images and share with others. I took an advantage of graphql-subscriptions to handle realtime notifications in the comments section. Currently, I'm at the last stage of styling and building layouts.

For the #Backend I used graphql-yoga, Prisma, GraphQL with PostgreSQL database. For the #FrontEnd: React, styled-components with Apollo. The app is hosted on Heroku.

See more
Michael Mota
Michael Mota
CEO & Founder at AlterEstate | 6 upvotes 8.8K views
atAlterEstateAlterEstate
Django
Django
Graphene
Graphene
GraphQL
GraphQL

We recently implemented GraphQL because we needed to build dynamic reports based on the user preference and configuration, this was extremely complicated with our actual RESTful API, the code started to get harder to maintain but switching to GraphQL helped us to to build beautiful reports for our clients that truly help them make data-driven decisions.

Our goal is to implemented GraphQL in the whole platform eventually, we are using Graphene , a python library for Django .

See more
Michael Mota
Michael Mota
CEO & Founder at AlterEstate | 4 upvotes 880 views
Next.js
Next.js
Graphene
Graphene
GraphQL
GraphQL
Django
Django

I've been using Django for quite a long time and in my opinion I would never switch from it. My company is currently using Django with REST framework and a part in GraphQL using Graphene. On the frontend we use Next.js and so far everything has been running quite good. I've found limitations but manage to solve it.

As someone mentioned before, if you are comfortable with Django, don't switch. There's no need since with django you can basically achieve anything. Of course this will depend on the project you want to build, but the scalability and flexibility django can offer it's just out of this world. (Don't want to sound like a fan boy haha but it really is).

See more
Interest over time
Reviews of Electron and GraphQL
No reviews found
How developers use Electron and GraphQL
Avatar of Chris Saylor
Chris Saylor uses ElectronElectron

Our application began as an HTML5 browser game, however we decided to leverage certain native parts of desktop applications by wrapping our client code into Electron. This also allowed us to not have to worry about compatibility across all the various browsers.

Avatar of jasonmjohnson
jasonmjohnson uses GraphQLGraphQL

GraphQL will be used as the public API for the data persistence layer. It communicates nicely with all other languages and can provide API responses in the format specified in the request.

Avatar of HyVive
HyVive uses ElectronElectron

Our Web Applications are served on our Desktops by Electron. This allows us to have native apps running on our Workstations without having too many Browser Tabs open at the same time.

Avatar of Nick De Cooman
Nick De Cooman uses GraphQLGraphQL

Applied GraphQL in a side-project I'm currently working on. Using the Apollo GraphQL implementation for both server-side and React client.

Avatar of PawByte
PawByte uses ElectronElectron

Electron is the current preferred method to convert games made in the Game Pencil Editor for desktop support.

Avatar of Metrix Financial Reporting Solutions UG
Metrix Financial Reporting Solutions UG uses ElectronElectron

Implement a web-service using your favorite tools but sell a desktop application for oblivious windows users.

Avatar of Hevelop
Hevelop uses GraphQLGraphQL

From Magento 2.3 GraphQL is provider by a core implementation, this is used to implement PWA frontend.

Avatar of Ralic Lo
Ralic Lo uses ElectronElectron

Used Electron to package single page web application as a desktop application.

Avatar of Told
Told uses GraphQLGraphQL

We use GraphQL as our transport standard for all API calls.

Avatar of Michael Manges
Michael Manges uses GraphQLGraphQL

Connecting my Gatsby site to GraphCMS.

How much does Electron cost?
How much does GraphQL cost?
Pricing unavailable
Pricing unavailable