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

Play

753
606
+ 1
496
Spring Boot

25.9K
23.6K
+ 1
1K
Add tool

Play vs Spring-Boot: What are the differences?

Play and Spring Boot, two prominent frameworks in the Java ecosystem, offer distinct approaches to building web applications. Let's explore the key differences between Play and Spring-Boot.

  1. Architecture: Play framework follows a non-blocking architecture based on the Actor model, which allows handling concurrent requests efficiently. On the other hand, Spring-Boot follows a traditional multi-threaded architecture, where each request is processed by a dedicated thread.

  2. Language Support: Play framework primarily uses Scala for development, which is a statically typed language that runs on the Java Virtual Machine (JVM). However, it also has extensive support for Java. In contrast, Spring-Boot supports multiple languages, including Java, Groovy, and Kotlin, providing flexibility to developers.

  3. Convention over Configuration Approach: Play framework adopts a convention over configuration approach that emphasizes a standardized structure for application development. It provides a set of predefined naming conventions, reducing the need for explicit configuration. On the other hand, Spring-Boot focuses on configuration over convention, offering a more flexible approach to application development.

  4. Integrated Features: Play framework includes built-in features like an integrated web server, comprehensive REST API support, and real-time updates using WebSocket. In contrast, Spring-Boot doesn't provide an embedded web server by default, requiring external servers like Apache Tomcat. Spring-Boot offers a vast range of integrations with other Spring modules, enabling developers to leverage the extensive Spring ecosystem.

  5. Testing Capabilities: Play framework comes with built-in testing capabilities that facilitate writing unit tests and functional tests for the application. It includes features like Fake Application, Test Server, and Test Browser, making it easier to create robust test cases. In Spring-Boot, although testing is supported, it requires additional frameworks like JUnit or Mockito for comprehensive testing.

  6. Community and Documentation: Play framework has a relatively smaller and more focused community compared to the vast Spring community. Consequently, the documentation and community support for Spring-Boot are more extensive, providing a wealth of resources and community-driven solutions.

In summary, Play emphasizes reactivity and statelessness, while Spring Boot offers a comprehensive, convention-driven framework.

Advice on Play and Spring Boot
Needs advice
on
DjangoDjango
and
Spring BootSpring Boot

I need to build a system(web app) where people will share their projects and will receive funding against those projects if someone likes the projects. The backend should be secure, and the tools that will be needed to build that system should be free. We are a startup that can't invest too much in tools right now. We need to build it in 3-4 four months.

The application should be able to support 10k users for now and should be able to scale later.

Also, please suggest what front-end technologies I should use.

See more
Replies (1)
Top Notch

Depending on the backend I would pick the technology you feel most comfortable with, although, my preference would go to Django with Django REST Framework considering the timeframe you mentioned.

As for the front-end, React.JS and Vue are easy to get started with.

See more
Leonardo Viada
Project manager and web developer at Revo Digital ยท | 4 upvotes ยท 2.7M views
Needs advice
on
PlayPlayRailsRails
and
ScalaScala
at

In the past few months, a project we're working on grew up quite fast. Since we're adding more and more features, I'm considering migrating my Express/TS REST API towards a more solid and more "enterprise-like" framework. Since I am experienced with TypeScript but not so much with Rails nor Play (Scala), I'd like to have some advice on which one could provide the best development experience, and most importantly, the smoothest paradigm transition from the JS/TS world. I've worked on some personal project with Rails, but I've found the Ruby language really distant from what the TypeScript ecosystem and syntax are, whereas on the opposite - during the brief tours I've taken in the past weeks - it's been a pleasure coding in Scala. Obviously, there are some key differences between the two languages - and the two frameworks consequently - but despite all the ROR automation and ease of use I don't despise at all Scala's pragmatic and great features such as static typing, pattern matching, and type inference. So... Please help me out with the choice! Regards

See more
Replies (4)
Kevin Emery
QE Systems Engineer at Discovery, Inc. ยท | 6 upvotes ยท 58.1K views
Recommends
on
RailsRails

I don't have the Scala experience to compare the two, but I can say that Ruby is a wonderful language. For procedural programming where you don't need a lot of concurrent execution threads, it's superior to Node.JS in my opinion. All of the concepts from Typescript have equivalent syntax in Ruby, but there are fewer symbols (e.g. () => { ... }); ) and more keywords (eg 'do ... end'). It's a very flexible language and allows for a lot of different approaches to how it's written, so coding standards and careful organization is important. In the long run, however, you'll find it quicker to debug than Node.JS and just as powerful.

See more
ALESSIO SALTARIN
Distinguished IT Architect at IBM ยท | 5 upvotes ยท 59K views

If you are comfortable with TypeScript, why not evolve to a C# ecosystem? Asp.Net Core + Entity Framework is a mature and well supported technology. As far as I can see in the enterprise market, the most adopted choice is still Java. So, maybe you may have a look to SpringBoot - and ultimately Quarkus.

See more
Reza Malek
at Meam Software Engineering Group ยท | 3 upvotes ยท 50.3K views
Recommends
on
RailsRailsScalaScala

This is advice regardless of your background and requirements. The Play framework has a terrible and complicated design, don't risk it. I even suggest Spring and Kotlin over it! You can use Scala for small services and Data Engineering stuff and benefit optimizations and threading of JVM. RoR, on the other hand, has a huge development speed, which I believe is a big advantage cause you can handle performance bottlenecks later. Also, Scala has another downside, which is featureful in terms of OO and FP paradigms, which makes anyone write code freely with any personal style and makes it a problem in a team, Hence a coding style has to be defined if there would be Scala development team.

See more
Hosam Aly
Senior Software Engineer ยท | 3 upvotes ยท 50.2K views
Recommends
on
PlayPlayRailsRailsScalaScala

If software performance is your top priority, then Scala/Play is probably best. If developer productivity is your top priority, then Ruby on Rails is the best choice in my opinion.

The Rails framework is batteries-included. The framework takes care of many things by default so that you don't have to. Logging, security, etc. It's also well-integrated; for example, controllers understand models out of the box. I had a better experience with RoR than with Play.

On the other hand, Scala and the JVM are more performant in general, so they can scale to serve more requests per second on the same hardware.

If you're considering serverless functions, then Scala is probably a better choice because it would be faster to load, giving you better economics.

See more

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
Rafsanjanee Rizvi
Owner at Mingchen Information And Technology ยท | 4 upvotes ยท 393.9K views
Needs advice
on
ExpressJSExpressJSNestJSNestJS
and
Spring BootSpring Boot

Hi, I am a new developer using Ionic to develop a mobile app. I have recently tried to build a social mobile app which will have video calling, payment transaction, chatting, sharing, etc. I am now confused as to which framework I should use for the backend: Spring Boot or ExpressJS or NestJS? Any detailed advice will be better for my development. Looking forward to your valuable reply.

See more
Replies (2)

Any tools that achieve your software functionalities is good. you should check if with these frameworks you can do video-call, chat etc. how the scalability is achieved and the complexity of using it with them. since you are starting from scratch you can do this kind of feasibility before starting

See more
Recommends

If I want to write server api, I will use NestJS as primary framework. It base on express | fastify so I can use anything of expressJs. SpringBoot is a java framework. I will think to write as payment transaction service. If you are Ionic developer. you will know Js / ES6. You can try NestJS / ExpressJS. - video calling: You can not create video calling feature. Some keywords: ffmpeg / coturn / webrtc - chatting: realtime (socket.io / websocket) - you can try some opensource as rocketchat. It also have video calling feature.

See more

Hi

Iโ€™ve been using Django for the last year on and off to do my backend API. Iโ€™m getting a bit frustrated with the Django REST framework with the setup of the serializers and Django for the lack of web sockets. Iโ€™m considering either Spring or .NET Core. Iโ€™m familiar with Kotlin and C# but Iโ€™ve not built any substantial projects with them. I like OOP, building a desktop app, web API, and also the potential to get a job in the future or building a tool at work to manage my documents, dashboard and processes point cloud data.

Iโ€™m familiar with c/cpp, TypeScript.

I would love your insights on where I should go.

See more
Replies (3)
Recommends
on
.NET Core.NET Core

Theres a logt going on in the dotnet world. I currently do all my Rest APIs with asp.net core.

The Setup is very easy as the .net web sdk provides with a lot features you don't want to keep yourself concerned with. You can integrate Swagger with little effort.

See more
Dzung Nguyen
Researcher at Florida Institute of Technology ยท | 6 upvotes ยท 391K views
Recommends
on
Spring BootSpring Boot

Spring Boot is the lightweight of the Spring framework. I used the Spring framework before, and I fall in love with the Spring Boot. I also use .NET core, but still, I like Spring boot the best. If you have time then you should experience both. You are more than halfway in gaining experience. My suggestion is always to try to learn many things as you can.

See more
Nikhil Gurnani
Sr. Backend Engineer at Grappus ยท | 4 upvotes ยท 385.8K views
Recommends
on
Spring BootSpring Boot

I see what you're going through and I extend my hands to you. I felt the same frustration after almost 1.5 years of working with Django and Node.js in the parallel. And since the last one year, I've transitioned into Spring Boot. I think its fair to say, that its quite different when you're going from Django background as a framework, but otherwise. I think it's one of the robust ones out there. Scalability is seamless and you get most of the things out of the box or easily supported by dev dependencies. You should definitely check it out! :)

See more
Eva Maciejko
Needs advice
on
ExpressJSExpressJSLaravelLaravel
and
Spring BootSpring Boot

Hello, I am a fullstack web developer. I have been working for a company with Java/ Spring Boot and client-side JavaScript(mainly jQuery, some AngularJS) for the past 4 years. As I wish to now work as a freelancer, I am faced with a dilemma: which stack to choose given my current knowledge and the state of the market?

I've heard PHP is very popular in the freelance world. I don't know PHP. However, I'm sure it wouldn't be difficult to learn since it has many similarities with Java (OOP). It seems to me that Laravel has similarities with Spring Boot (it's MVC and OOP). Also, people say Laravel works well with Vue.js, which is my favorite JS framework.

On the other hand, I already know the Javascript language, and I like Vue.js, so I figure I could go the fullstack Javascript route with ExpressJS. However, I am not sure if these techs are ripe for freelancing (with regards to RAD, stability, reliability, security, costs, etc.) Is it true that Express is almost always used with MongoDB? Because my experience is mostly with SQL databases.

The projects I would like to work on are custom web applications/websites for small businesses. I have developed custom ERPs before and found that Java was a good fit, except for it taking a long time to develop. I cannot make a choice, and I am constantly switching between trying PHP and Node.js/Express. Any real-world advice would be welcome! I would love to find a stack that I enjoy while doing meaningful freelance coding.

See more
Replies (10)
Recommends
on
Spring BootSpring Boot

Hi Eva, As you have solid experience with Spring already, you should jump into freelancing with that. It would be quite stressful to start freelancing with a tech stack you don't know well. Then in the background you can keep learning/practicing an alternative and switch over when you are confident enough (eg. 0.5-1 year later). I think you should learn Laravel as you already like it and find it easier. Express has better performance but that is not required for most of the small freelancer projects.

See more
Recommends
on
ExpressJSExpressJS

Looking at current technological trends and rise of JavaScript, you cannot go wrong with JavaScript. - There's an abundance of libraries to get most things done - You can use JavaScript for both the frontend and the backend - this allows you potentially share your logic/models/code across both stacks - A dynamic/interpreted language such as JavaScript is great for serverless (there's somewhat of a trend towards serverless aswell - especially in modern projects) - If you like/need static typing, you can always migrate seemlessly to Typescript - VueJS is a lightweight framework (compared to Angular), it has more GitHub stars and most would argue it's easier to work with (beginner friendly). Additionally most modern webapps do not use JQuery anymore (even though a lot of legacy projects continue to do so). You don't need JQuery if you use Vue/Angular/React

Additionally it doesn't seem like performance is a hugely important metric in your scenario, so JavaScript would suffice.

Note: These are all my opinions and what I've seen in the current market when recently searching for jobs.

See more
Benoรฎt Hubert
JavaScript Instructor at Wild Code School ยท | 6 upvotes ยท 715.2K views
Recommends
on
Spring BootSpring Boot

I think Patrik and Alex are right: if you're comfortable with Spring Boot already, you'll be more productive right from the start.

If you wish to learn something else besides, both Laravel and Express are good choices. They aren't in the same category of frameworks: Laravel is an all-in-one solution, while Express is more like "build your own stack from different parts". Which implies that you can use whatever you want as a database engine: MySQL or PostgreSQL are perfectly valid choices (in my school, we teach Express with MySQL, because SQL is still a big thing here in France, and a sought-after skill). You can use Sequelize or TypeORM which support all major SQL DBMS.

Express is widely used, but if you're seeking the JavaScript equivalent of Spring Boot or Laravel, you probably want to look at NestJS. The only potential downside is that it's still young, maintained by a small commmunity, compared to those behind Spring Boot and Laravel.

Bottom line: using a stack tech, that you enjoy and are comfortable with, matters. Spring Boot + Vue.js seem perfectly fine to me. But do forget jQuery if you're using Vue.js, React or Angular, because it will definitely bring more harm than good!

See more

Hi as someone who employs and select developers i agree with a lot almost sayed but think of what are your strengths and where you are or better where your customers are. If you search for big enterprise projects spring boot is ok sql is must and html css as well. if you want to go more to internet related companies (like airbnb, what sup, facebook ) or similar (and not asia) then react is a must node js as well. The libraries tools etc which are used you need to adopt fast. If asia then VUE is a must. but if you like small projects with individuals or like wordpress or similar then you can learn php but i think in 2020 it is wasted time. Same for python in that area. and i also see that we often have problem that developer at least must understand docker docker compose better as it works with kubernetes ,.. just my 5 cents

See more
Muhammad Waleed
Community & Content Operations ยท | 5 upvotes ยท 723.8K views
Recommends
on
Spring BootSpring Boot

I would definitely recommend you to go with Spring Boot + AngularJS + jQuery. Reasons: 1- You have an experience of 4 years with the above-mentioned stack. 2- As you mentioned that you wish to work as a freelancer, your stack is the perfect one for finding good bids with a little less effort than that of PHP + Laravel + Vue.js.

See more
Alex Spieslechner
Recommends
on
Spring BootSpring Boot

in order to stay employable, I'd work with something you can deliver with. if I'd be your client and you'd have to get comfortable with a new stack, I would 100% not pay you for this startup time. learn new stuff in your free-time. or set aside time for learning.

that said, if you want to reorientate, php (even though i personally hate it) is extremely wide spread. but so are java and nodejs. so I'm not a fan of that argument... i recommend building something in each language, and see what you enjoy more. for me it was nodejs, because I already enjoy frontend JavaScript, and appreciate the ecosystem and community.

regarding expressjs and mongodb: yes, it is a goto solution for a lot of tutorials, because its as simple as it gets. especially wben using something like monk. BUT if you want to use mysql, posgres or similar, check out TypeORM, Prism or another ORM-like solution. you can use any db with express, and there's plenty of abstraction layers, which make your life easier. but i noticed that expressjs does a lot less "holding hands" compared to .net core (c#), or laravel (php). can be a pro or a con.

See more
Rubin Thomas
Software Cloud Developer at RUBIN THOMAS ยท | 4 upvotes ยท 654.4K views
Recommends
on
PerlPerlPHPPHPPythonPython

As a developer myself, I would recommend you not to restrict yourself to JAVA, PHP or any other language. New Tools/languages keep coming every day. If you do plan to move to freelancing. PHP has a lot of options in the freelance space and a lot of competition too.

Learning PHP is as simple as learning any other language. It depends merely on your interest.

Personally if you can code, you should not restrict yourself. I have had to code in many languages, PHP, Perl, shell script, Python, Java, Javascript, Ruby etc... I would keep your developing skills and logic, algorithms etc.. and increase your knowledge and experience in the different languages.

I agree with you JAVA is a lot more time consuming. But it also has its enterprise level scope.

At the same time learning a new language should not be a barrier for you to stop exploring what's out there and keeping your skills up to date. Learning new technologies should be your primary focus and getting project out of your stack helps you build a good reputation.

There are many options for you to pursue. Having an open mindset will help you move forward. If you look to learn now, you are setting yourself up for a brighter future.

See more
Recommends
on
ExpressJSExpressJSLaravelLaravel

I like fullstack freelancers who stacks are clean as one of below

  1. PHP (laravel ) + Jquery + Bootstrap

  2. Python(Django) + Angular JS or VueJS

  3. NODEJS + REACTJS

See more
Recommends
on
ExpressJSExpressJS

Hey There, I would recommend going fullstack javascript since you already have experience with javascript on the front end it would be very easy to pickup node and express js. You can use sql with node and express if you please, but mongo is pretty easy to get going with.

See more
Ahmed Gamal

Please, try to work with your comfortable stack, here is some recommendation

See more
Slimane Deb
Needs advice
on
NestJSNestJS
and
Spring BootSpring Boot
in

I am currently planning to build a project from scratch. I will be using Angular as front-end framework, but for the back-end I am not sure which framework to use between Spring Boot and NestJS. I have worked with Spring Boot before, but my new project contains a lot of I/O operations, in fact it will show a daily report. I thought about the new Spring Web Reactive Framework but given the idea that Node.js is the most popular on handling non blocking I/O I am planning to start learning NestJS since it is based on Angular philosophy and TypeScript which I am familiar with. Looking forward to hear from you dear Community.

See more
Replies (2)
Recommends
on
NestJSNestJS

NestJS is an excellent framework (they both are). I would say the fact that you're working with Angular makes NestJS a great match, unless you're splitting front and back end between developers. But even in that case I would still go with NestJS for a new project.

Regarding the single threading point, take a look at PM2 which helps to run Node in multiple processes (we use it with NestJS) https://pm2.keymetrics.io/docs/usage/cluster-mode/

Also regarding web server performance in general this is an interesting post showing how Node with outperform Java in a web situation (be careful though, best to check a few posts to make sure these aren't totally biased benchmarks!): https://www.tandemseven.com/blog/performance-java-vs-node/

See more
Recommends
on
KotlinKotlin

Node.js has only 1 real thread per process; Java JIT will mostly run faster than JS one; So if it happens to be not only I/O... Why do you need most popular, not simply popular? Does Node.js have tech advantages?

See more
Taimoor Mirza
Associate Software Engineer at Intech Process Automation ยท | 5 upvotes ยท 768.4K views
Needs advice
on
ASP.NET CoreASP.NET Core
and
Spring BootSpring Boot

For context, I currently use JavaScript (React) and Python (Flask) in my daily routine.

I need your help in choosing either Spring Boot or ASP.NET Core. Both frameworks seem to have mature ecosystems. I would like to hear your thoughts on the following points:

  • Difficulty level of both frameworks
  • Level of community support
  • Career prospects i.e do Spring based jobs pay more or vice versa
  • which one will be helpful if I decide to transition towards a more specialized field like data engineering.

I am asking this because it is something that I am also exploring in parallel. I know that Python and #SQL play a huge role in big data.

See more
Replies (4)
Keegan Witt
Recommends
on
Spring BootSpring Boot

I'll preface this by saying I haven't ever done work on the Microsoft stack, so take this with a grain of salt.

Community support: Java tends to have a more active community (and much more diverse universe of new open source projects) than .Net (related to below).

Difficulty level: I'd say the Java/Spring stack is more difficult because Java developers tend to use more community projects and have to know which ones to choose in which circumstances (e.g. what logging framework to use? What database connection pooling library to use? What testing framework to use). That being said, most decisions you have to make have choices that are vastly more popular than others. My impression is that .NET guys use stuff from the standard library almost exclusively. If it's not provided there, it's a problem they never thought to solve or maybe write their own (usually the former).

Career prospects: I'll get hate for this probably, but Java/Spring has more jobs than .Net. .NET Core even more so because it's new. Most .NET jobs out there are going to be not Core, and not on anything other than Windows. LinkedIn search for jobs in United States shows 97,103 for Java and 36,448 for C#. That's not to say some individual city might not have more .NET than Java, but by and large Java is bigger. Also, .NET is not dying at the same pace as say Ruby on Rails (sorry Rails fans). I'd say it's ticking very slowly lower, maybe even holding steady. I wouldn't say you're screwed career-wise if you choose .NET. C# is also pretty similar to Java from what I've seen, and I know professionals that have transitioned to Java (though interestingly, I don't know any that did the reverse). Several companies have basically no .NET footprint, for example, Amazon, Google, Facebook, LinkedIn, Twitter all have Java, but basically no C#.

Specialized fields: Neither Spring or .Net are going to be a thing in a field like data science. That's exclusively Python (some R) for the most part. The only exception being that there is some Java in Hadoop, and Scala in Spark (which runs on the JVM). But I think those are generally more for data products being created, and not data science work. I'm also under the impression this is increasingly less the case than historically. Some other specialties might make Java useful, for example Android development.

In short, Java is the COBOL of the modern enterprise (which is both a good and bad thing). I recommend it to anyone over .NET, but not for technical reasons. It's for reasons related to the questions you asked. There are actually reasons I think CLR and C# are actually better from a technical perspective than Java (unsurprisingly, since they had the benefit of hindsight). But that's not what you were asking about...

See more
Recommends
on
Spring BootSpring Boot

Spring boot helps you creating microservices in hours, not days and there is a very active community around it with amazing integrations. Check one of the tutorials maybe. At least here in Germany, the job market will be better for Spring Boot as well, there are a lot more companies using Java then C#.

See more
Alexandru Muntean
Java Application Architect at IBM ยท | 4 upvotes ยท 577.5K views
Recommends
on
Spring BootSpring Boot

ASP.NET Core is pretty new while spring boot is very old but with a different name. Spring boot is just a pack of spring packages which make your life easier. I also believe that java community is way stronger than c# community... You can do your job in both frameworks and it's up to you what you choose after-all you're going to work on the project/lead it ... but whatever you choose.. after a few days of investment stick with your decision because in both frameworks you'll encounter challenges :)

See more
Klaus Nji
Staff Software Engineer at SailPoint Technologies ยท | 3 upvotes ยท 565.1K views

Iโ€™ll echo what others have said here with a few twists.

I have experience with both platforms including Micronaut, a relatively new kid on the block. It all depends on your near term goal. If it is to make money, sure Java jobs pay more generally because there is more hassles when dealing with the entire ecosystem. Like someone said earlier, you have to make a decision at almost every stage of the development cycle from the IDE, dependency resolution framework, logging, serialization, microservice framework etc. There is just too much choice which some may argue is an advantage while others may argue is a distraction and productivity killer. At the end of the day you can build solid systems with both frameworks.

Coming to ASP Core, yes I also agree that options are more streamlined. Youโ€™ll be using Visual Studio or Visual Studio code. For dependency management, youโ€™ll be using Nuget. But I disagree with one of the comments above about the lack of choice. In some aspects .NET actually has more choice believe it or not for example choice of ORM. There is entity framework, nhibernate, dapper etc. For J2ee, hibernate reigns supreme although you have JPA. For dependency injection you have many IoC containers like unity, castle Windsor in .NET while you have Guice and maybe a Spring based implementation.

Also C# is technically a better language that Java. Thatโ€™s not questionable as has also been stated above. Many things are done right obviously by avoiding some of the mistakes made in the underlying architecture surrounding the Java programming language. Thatโ€™s why Microsoft created c# to begin with. The language is a lot cleaner and allows you to focus on learning core principles and nail down fundamental OO with emphasis on good design. I find too many distractions in the Java ecosystem which takes me away from understanding the core problem I am trying to solve.

So as you can this is not an easy decision and as someone has stated thereโ€™s work to do regardless of what technology choice you make.

If your sole purpose is to make a higher base salary, sure pick Spring Boot. If you want to quickly deliver something and iterate, pick ASP Core. I personally use c# for all private projects and proving concepts even though my employer is a Java shop. It allows me to stay focused on solving the problem and not constantly wrestle with issues such as Gradle dependency resolution glitches in IntelliJ.

Given that you can transfer skills from .NET to J2ee I recommend guys to pick up ASP get a couple of services to get a feel web development as you can still get jobs in Java even with that experience. Companies donโ€™t care these days. In fact a lot of companies are going to Go so thereโ€™s that too.

Depends on your immediate term goal.

See more
Needs advice
on
Node.jsNode.js
and
Spring BootSpring Boot

Hi, I am looking to select tech stack for front end and back end development. Considering Spring Boot vs Node.js for developing microservices. Front end tech stack is selected as React framework. Both of them are equally good for me, long term perspective most of services will be more based on I/O vs heavy computing. Leaning toward node.js, but will require team to learn this tech stack, so little hesitant.

See more
Replies (1)
Max Musing
Founder & CEO at BaseDash ยท | 10 upvotes ยท 541.2K views
Recommends
on
Node.jsNode.js
at

It's probably worth investing some time for your team to learn Node.js. There's very little overhead, especially with a framework like ExpressJS, so if your team is familiar with JavaScript it should be a quick process.

It handles I/O really well out of the box, and has a strong community with great open source libraries. Since you're using React on the front end, there's also some benefit to being able to use JavaScript throughout your stack.

See more
Needs advice
on
LaravelLaravel
and
Spring BootSpring Boot

The problem I have is: build a scalable backend API decoupled as much as possible from the frontend. And more in general, to build a Web application using some kind of frontend. I would like to compare mainly Liferay with Spring Boot

The most important factors for me are: scalable backend, API documentation, TDD, integration with frontend application for modern reactive interaction

See more
Replies (3)
Povilas Brilius
PHP Web Developer at GroundIn Software ยท | 5 upvotes ยท 349K views
Recommends
on
LaravelLaravel
at

It's a general development question, be more specific, because /dev/std... is a generic approach, not a targeted development. You want to develop PHP or Java? Both are good in their terms, but it's your decision. For PHP Laravel is a robust and exhaustive console enabled framework, featuring rich integrations with virtualization & REST. On the other hand, Spring will bring you learning curve if you are switching from PHP and so on. Try to match your needs with project requirements, it will be easier.

See more
Stephen Fox
Artificial Intelligence Fellow ยท | 3 upvotes ยท 348.9K views
Recommends
on
LaravelLaravel

Laravel is lighter weight. Spring Boot quickly becomes a handful, as you'll be downloading hundreds of megabytes in dependencies for a few functions and a dynamic dependency there. There are multiple problems that are solved by "download and put it on your classpath by whatever means. Spring framework will automatically detect it and resolve the issue". It's magical when things work, but my teams have constantly found the limits of the framework's utility and starting points of their burden.

While my expertise with Laravel is more limited, I haven't seen this kind of mess in that community and God bless 'em for it.

See more
Brian Chief Obare
Chief Technology Officer at https://www.chiefbrob.info ยท | 1 upvotes ยท 348.4K views
Recommends
on
LaravelLaravel

Laravel all the way. i like the documentation, simplicity, and scalability

See more
Decisions about Play and Spring Boot
Hampton Catlin
VP of Engineering at Rent The Runway ยท | 7 upvotes ยท 449.3K views

Starting a new company in 2020, with a whole new stack, is a really interesting opportunity for me to look back over the last 20 years of my career with web software and make the right decision for my company.

And, I went with the most radical decisionโ€“ which is to ignore "sexy" / "hype" technologies almost entirely, and go back to a stack that I first used over 15 years ago.

For my purposes, we are building a video streaming platform, where I wanted rapid customer-facing feature development, high testability, simple scaling, and ease of hiring great, experienced talent. To be clear, our web platform is NOT responsible for handling the actual bits and bytes of the video itself, that's an entirely different stack. It simply needs to manage the business rules and the customers experience of the video content.

I reviewed a lot of different technologies, but none of them seemed to fit the bill as well as Rails did! The hype train had long left the station with Rails, and the community is a little more sparse than it was previously. And, to be honest, Ruby was the language that was easiest for developers, but I find that most languages out there have adopted many of it's innovations for ease of use โ€“ or at least corrected their own.

Even with all of that, Rails still seems like the best framework for developing web applications that are no more complex than they need to be. And that's key to me, because it's very easy to go use React and Redux and GraphQL and a whole host of AWS Lamba's to power my blog... but you simply don't actually NEED that.

There are two choices I made in our stack that were new for me personally, and very different than what I would have chosen even 5 years ago.

1) Postgres - I decided to switch from MySql to Postgres for this project. I wanted to use UUID's instead of numeric primary keys, and knew I'd have a couple places where better JSON/object support would be key. Mysql remains far more popular, but almost every developer I respect has switched and preferred Postgres with a strong passion. It's not "sexy" but it's considered "better".

2) Stimulus.js - This was definitely the biggest and wildest choice to make. Stimulus is a Javascript framework by my old friend Sam Stephenson (Prototype.js, rbenv, turbolinks) and DHH, and it is a sort of radical declaration that your Javascript in the browser can be both powerful and modern AND simple. It leans heavily on the belief that HTML-is-good and that data-* attributes are good. It focuses on the actions and interactions and not on the rendering aspects. It took me a while to wrap my head around, and I still have to remind myself, that server-side-HTML is how you solve many problems with this stack, and avoid trying to re-render things just in the browser. So far, I'm happy with this choice, but it is definitely a radical departure from the current trends.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Play
Pros of Spring Boot
  • 81
    Scala
  • 55
    Web-friendly architecture
  • 55
    Built on akka
  • 50
    Stateless
  • 47
    High-scalable
  • 46
    Fast
  • 40
    Open source
  • 34
    Java
  • 27
    High velocity
  • 24
    Fun
  • 9
    Lightweight
  • 8
    Non-blocking io
  • 6
    Developer friendly
  • 5
    Simple template engine
  • 4
    Scalability
  • 3
    Pure love
  • 2
    Resource efficient
  • 149
    Powerful and handy
  • 134
    Easy setup
  • 128
    Java
  • 90
    Spring
  • 85
    Fast
  • 46
    Extensible
  • 37
    Lots of "off the shelf" functionalities
  • 32
    Cloud Solid
  • 26
    Caches well
  • 24
    Productive
  • 24
    Many receipes around for obscure features
  • 23
    Modular
  • 23
    Integrations with most other Java frameworks
  • 22
    Spring ecosystem is great
  • 21
    Auto-configuration
  • 21
    Fast Performance With Microservices
  • 18
    Community
  • 17
    Easy setup, Community Support, Solid for ERP apps
  • 15
    One-stop shop
  • 14
    Easy to parallelize
  • 14
    Cross-platform
  • 13
    Easy setup, good for build erp systems, well documented
  • 13
    Powerful 3rd party libraries and frameworks
  • 12
    Easy setup, Git Integration
  • 5
    It's so easier to start a project on spring
  • 4
    Kotlin
  • 1
    Microservice and Reactive Programming
  • 1
    The ability to integrate with the open source ecosystem

Sign up to add or upvote prosMake informed product decisions

Cons of Play
Cons of Spring Boot
  • 3
    Evolves fast, keep up with releases
  • 1
    Unnecessarily complicated
  • 23
    Heavy weight
  • 18
    Annotation ceremony
  • 13
    Java
  • 11
    Many config files needed
  • 5
    Reactive
  • 4
    Excellent tools for cloud hosting, since 5.x
  • 1
    Java ๐Ÿ˜’๐Ÿ˜’

Sign up to add or upvote consMake informed product decisions

What is Play?

Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.

What is Spring Boot?

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

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

What companies use Play?
What companies use Spring Boot?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with Play?
What tools integrate with Spring Boot?

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

Blog Posts

Vue.jsSpring BootUnity+7
2
1253
What are some alternatives to Play and Spring Boot?
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.
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.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
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.
HTML5
HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
See all alternatives