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

Electron

11.1K
9.8K
+ 1
148
Spring

3.9K
4.7K
+ 1
1.1K
Add tool

Electron vs Spring: What are the differences?

Key Differences Between Electron and Spring

Electron and Spring are two popular frameworks used for different purposes in software development. Understanding the key differences between these frameworks is essential for developers to choose the most suitable one for their projects. Here, we highlight six key differences between Electron and Spring:

  1. Architecture: Electron is a framework for building cross-platform desktop applications using web technologies such as HTML, CSS, and JavaScript. It combines the Chromium rendering engine and Node.js runtime to provide a powerful platform for desktop app development. On the other hand, Spring is a framework for building enterprise-level Java applications. It provides a comprehensive set of tools and libraries for building robust, scalable, and secure applications.

  2. Scope: Electron focuses on desktop application development, allowing developers to create applications that can run on Windows, macOS, and Linux operating systems. In contrast, Spring is a general-purpose framework that can be used for various types of applications, including web applications, mobile applications, and microservices.

  3. Language: Electron applications are primarily built using web technologies such as HTML, CSS, and JavaScript. Developers with web development skills can easily create desktop applications using their existing knowledge. On the other hand, Spring applications are typically built using Java, a popular programming language for enterprise application development.

  4. Platform Support: Electron provides native API access to various operating system features, allowing developers to build applications that interact closely with the underlying platform. This makes it suitable for creating desktop applications that require access to system resources. In contrast, Spring abstracts away the underlying platform details, allowing applications to run on any platform that supports Java.

  5. Community and Ecosystem: Electron has a vibrant community and a wide range of third-party libraries and tools available. It is widely adopted by developers, especially for creating desktop applications with web technologies. Spring also has a large and active community, with extensive documentation, tutorials, and support available. It has a mature ecosystem with numerous libraries and frameworks built on top of it.

  6. Target Audience: Electron is particularly suitable for web developers who want to leverage their existing web development skills to create desktop applications. It provides a familiar development environment and allows developers to reuse their web assets. In contrast, Spring is targeted towards enterprise developers who are building complex, scalable applications that require robustness, security, and scalability.

In summary, Electron is a framework for building cross-platform desktop applications using web technologies, while Spring is a comprehensive framework for building enterprise-level Java applications. Electron focuses on desktop application development with native API access, while Spring is a general-purpose framework with a broad scope. Electron targets web developers, while Spring targets enterprise developers.

Advice on Electron and Spring

Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

See more
Replies (1)

Java in general, in my opinion, is somewhat outdated in 2021. C# is a better language, and therefore, I think ASP.NET (Core/.NET 5) should be used over it. Node.js isn't bad if you are getting started, or if you need to prototype an app. I use Node in production because of TypeScript, but .NET is a really good framework that has excellent performance.

See more
Needs advice
on
Node.jsNode.js
and
SpringSpring

I am provided with the opportunity to learn one of these technologies during my training. I have prior experience with Spring and found it tough and still haven't figured out when to use what annotations among the thousands of annotations provided. On the other hand, I am very proficient in Java data structures and algorithms (custom comparators, etc.)

I have used Node.js and found it interesting, but I am wondering If I am taking the risk of choosing a framework that has a comparatively lesser scope in the future. One advantage I see with the node.js is the number of tutorials available and the ease with which I can code.

Please recommend which path to take. Is Spring learnable, or should I spend my energy on learning Node.js instead?

See more
Replies (2)
Recommends
on
Node.jsNode.jsTypeScriptTypeScript

I do not know Spring or your company/specialty. Of course it must be learnable and I won't tell you to give up on anything. Java is and will remain valuable.

Regardless, I don't think "lesser scope" is a valid strike against Node.js here. Node.js fulfills JavaScript's original vision of an everywhere language and can run anywhere that Java can. It serves webpages, communicates with hardware, powers command line tools, and builds desktop applications. A huge complexity-saver for teams running many environments (my biggest regret is that it cannot run a microcontroller).

Node.js' biggest practical weakness is that JavaScript is less structured than Java. Luckily, the large influx of Java developers has been helping with this: gaps like constants and private properties are gradually filling in, and TypeScript firms up the types to the point where JavaScript looks a lot like Java.

Probably more potential competition from the larger pool of JS developers, but the compensation is allegedly similar so I guess there is a similar supply/demand situation.

See more
Recommends

hi this depends where you want to advance . If you want to work for an big aged company with a lot of legacy go the spring way (banks, insurances netflix etc ) if you want to go the new agile fast cloud way learn node js it is much more suited for cloud and micro service even spring cloud can do that as well but it is much more heavier

See more
Needs advice
on
DjangoDjango
and
SpringSpring

I am a graduate student working as a software engineer in a company. For my personal development, I want to learn web development. I have some experience in Springboot while I was in university. So I want to continue with spring-boot, but I heard about Django. I'm reaching out to the experts here to help me choose a future proof framework. Django or Spring Boot?

Thanks in Advance

See more
Replies (5)
Recommends
on
SpringSpring

Kamrul Hasan, Don't choose dying technologies with small communities. How many startups do you think use Spring and Django? Use Google Trends to compare technologies. Study the StackOverflow developer survey and job websites to see what technologies are wanted. Few teams can afford to train you to get up to their level so be a life-long learner. Embrace the dawn of a new industry and become an expert.

See more
Sulaiman Sanusi
Recommends
on
SpringSpring

I recommend you stick to Java Spring as you already have experience with the technology, i suggest you master this technology and then if Django seam to be very interesting to you, django is a framework you can easily pickup as python is also easy, you have to probably be able to manage the context switching between a static typed language like Java to dynamic language like python

See more
Christoph Becker
Recommends
on
DjangoDjangoSpringSpring

It depends on what you want. Spring is Java-based whereas Django is Python-based. The question rather is Java vs Python. I personally recommend Python as it's shorter and easy to learn. But Java has advantages in really big systems.

See more
Gonzalo Fernández
Recommends

Hi Kamrul,

It really depends on the kind of project and whether you feel more comfortable with Java or Python. Both are excellent frameworks, with a huge community and learning material. I've been working with Spring Boot since I started coding almost and I can assure you it's the perfect combination for Java. The learning curve may be harder that Django, but once you know the basics you're good to go. I can't tell you much about Django but you must now by now that it has a great reputation with Python users. In any case I don't think you can go wrong with any of these two. My advice is, if you are already familiar with the Spring framework, give Spring Boot a try, because you're going to find out that it just makes the whole Spring experience so much easier. Let us know what you chose!

See more
Recommends
on
DjangoDjango

Both are in active development and had huge community support. It really depends on you what you are comfortable with. Both are married to their respective languages. I choose Python over Java because of its simplicity and readability. To develop in java you need to write a lot of code. That's how java is. The best part I love with Django is its synchronization with Databases.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Electron
Pros of Spring
  • 69
    Easy to make rich cross platform desktop applications
  • 53
    Open source
  • 14
    Great looking apps such as Slack and Visual Studio Code
  • 8
    Because it's cross platform
  • 4
    Use Node.js in the Main Process
  • 230
    Java
  • 157
    Open source
  • 136
    Great community
  • 123
    Very powerful
  • 114
    Enterprise
  • 64
    Lot of great subprojects
  • 60
    Easy setup
  • 44
    Convention , configuration, done
  • 40
    Standard
  • 31
    Love the logic
  • 13
    Good documentation
  • 11
    Dependency injection
  • 11
    Stability
  • 9
    MVC
  • 6
    Easy
  • 3
    Makes the hard stuff fun & the easy stuff automatic
  • 3
    Strong typing
  • 2
    Code maintenance
  • 2
    Best practices
  • 2
    Maven
  • 2
    Great Desgin
  • 2
    Easy Integration with Spring Security
  • 2
    Integrations with most other Java frameworks
  • 1
    Java has more support and more libraries
  • 1
    Supports vast databases
  • 1
    Large ecosystem with seamless integration
  • 1
    OracleDb integration
  • 1
    Live project

Sign up to add or upvote prosMake informed product decisions

Cons of Electron
Cons of Spring
  • 18
    Uses a lot of memory
  • 8
    User experience never as good as a native app
  • 4
    No proper documentation
  • 4
    Does not native
  • 1
    Each app needs to install a new chromium + nodejs
  • 1
    Wrong reference for dom inspection
  • 15
    Draws you into its own ecosystem and bloat
  • 3
    Verbose configuration
  • 3
    Poor documentation
  • 3
    Java
  • 2
    Java is more verbose language in compare to python

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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 Spring?

A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

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

What companies use Electron?
What companies use Spring?
See which teams inside your own company are using Electron or Spring.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with Electron?
What tools integrate with Spring?

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

Blog Posts

What are some alternatives to Electron and Spring?
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.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
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.
See all alternatives