Spring Boot

Spring Boot

Application and Data / Languages & Frameworks / Frameworks (Full Stack)
Needs advice
on
JavaJava
and
LaravelLaravel

Hi. I am a backend developer in a company tasked with recoding a legacy application, choosing the right technology stack, and then later hiring for that stack.

This is a freight/logistics/courier application made 15 years ago in PHP with no modern framework used. In this application, customers from different countries login into their accounts and add a huge number of shipments, like let's say 500, and then, later on, generate PDFs for them after calling third-party APIs. This application has API integrations with lots of other companies and also offers API access to its own software as well. This application is also used in-house by warehouse people to scan different shipments using barcode scanners and to process shipments by performing different actions on them. The database being used currently is MySQL.

Now we have the choice to write this application in a modern technology stack. Performance, speed, reliability, and security are the primary concerns here.

Should I go with Java/Spring Boot with Angular2+ as the front end or PHP/Laravel with Vue.js as the front end?

Switching at this point from PHP to Java will not be hard if Java is considered better here because we can hire as per our final decision.

Thanks.

READ MORE
8 upvotes·11.5K views
Replies (3)
Software Engineer ·
Recommends
on
Laravel

As a Laravel developer, I'd have to say go with Laravel. Although you can move away from PHP, it means any of that legacy code will still need to be completely ported to Java or whatever other language you use. Whereas, staying with PHP, you may find it easier to re-use/adapt that existing code.

Of course, if you're going for a full rewrite, then that might not be a useful consideration. However, even a full rewrite will introduce a lot of changes. When having to do this kind of thing, I recommend changing as few things as possible at once. So staying in the same language while upgrading may keep some pain points down.

READ MORE
4 upvotes·5.3K views

Vue.js with PHP/Laravel (vue.js is much better than Angular for building the frontend. I feel much cleaner and faster). you already using MySQL database PHP is prefered.

READ MORE
4 upvotes·3 comments·8.7K views
Ryan Amundson
Ryan Amundson
·
February 20th 2023 at 2:16AM

Are your only choices Java+Angular or PHP+Vue? My recommendation as an engineer with 10 years in a few fortune 50 companies:

Front end:

(Option 1) React: This will probably be your best bet as it has a huge market share and will be the easiest to hire for. Less opinionated which leads to a billion different libraries to choose from but also potential for bloat when hiring developers that want to use the tools and libraries they know.

(Option 2) Angular: This is also a good option still a decent market share share slightly more difficult to hire for but more suitable for large scale applications as it is more opinionated and more structured, in general, than React is.

(Option 3) Vue: Ive never recommended this before but it is a fine option, will be harder to hire for but not that much, not as mature as the other options but has as solid following.

Backend:

I typically would never recommend PHP, it used to be a trouble child but in recent years has picked up in quality. Still would recommend lots of other options first but if you want to minimize the amount of refactoring this could still be fine.

Java/Kotlin great options, Java is a mature language that will interface with MySQL with no problems. Should be easy as any to hire for these roles.

Golang is a younger popular Language for building microservices architectures, could be a good option if you want to change the architecture to be more resilient.

Tons of other options here as well C# and .NET, NodeJS with something like NestJS, etc...

·
Reply
Chris Goodwill
Chris Goodwill
·
February 20th 2023 at 11:09AM

Thank you for the detailed answer.

Front End:

we already have an application running on Angular and have a resource for it also so would be okay to just keep on going with Angular?

Backend:

Our existing application on PHP has matured over the years and is mostly in maintenance mode. Would you still recommend to rewrite this in Java? Thanks

·
Reply
Ryan Amundson
Ryan Amundson
·
February 21st 2023 at 5:47PM

Angular is a perfectly acceptable option for a front-end framework as Google has committed to consistent LTS (long term support) with 6 month cadence on major releases. For reference I work with VMware on their UI and it is nearly 100% Angular and has worked very well for them.

Regarding backend, if you are in maintenance mode with PHP I dont see any reason you should need to rewrite unless you are unable to fix issues for reasons related to the language. Just remember to keep security updates current and should be fine.

Best of luck

·
Reply
View all (3)
Needs advice
on
JavaJavaNode.jsNode.js
and
Spring BootSpring Boot

So, I have been doing Java for 1 year now and I learnt Spring Boot, I have also learnt basics of MERN stack, I wanted to continue with spring boot but when I looked for Jr Developers jobs in spring boot there seems to be very few (I was looking for remote jobs), all the job posts were for senior developers and this has made me worried if I should continue with spring boot.

So here's my situation as a language I know java better than javascript, but as a framework I know node.js and spring boot equally, which framework should I choose to advance myself in my career as a backend developer?

Please help me with this one, thank you.

READ MORE
10 upvotes·13.2K views
Replies (2)
Engineer at L&T Technology Services Ltd.·

Job search can be hard and pretty daunting.

However, I recommend you sticking with whatever you have the most experience with. MERN stack and Spring Boot jobs are actually very high in demand in service based companies, a lot of which can allow you to work remotely if their specific clients work at hours that don't match with yours.

I recommend going over on LinkedIn itself and search for Associate/Junior dev positions with Java or JavaScript filters rather than specific Nodejs or Spring Boot filters. Freshers aren't generally expected to know web frameworks right after graduation, and undergo mandatory training anyways, even for vastly differing domains (you could undergo training for Go even though you mentioned skill in Java, as a fresher).

However, freshers are expected to know atleast 1 object oriented language, in which they can demonstrate fundaments of OOP, basic logic building, and working with Strings. It starts with senior roles in software industry where people are generally asked about what "stack" they previously worked on, which influences decision making for hiring people.

As a fresher, you are expected to know nothing. So start filtering and applying that you know nothing and want to learn everything, while job searching. Good Luck!

READ MORE
5 upvotes·1 comment·9.5K views
Sutej Kulkarni
Sutej Kulkarni
·
February 10th 2023 at 3:35AM

Thanks for your advice

·
Reply
CEO / Lead Developer at Spex Technologies·
Recommends
on
ExpressJS
Node.js

You should really try NodeJS with ExpressJS

READ MORE
3 upvotes·1 comment·3.8K views
Abbu A V
Abbu A V
·
March 13th 2023 at 9:59AM

good jobs out there for fullstack MERN skills? Along with knowledge on cloud, microservices, etc

·
Reply
Student at HCMC University of Technical and Education·
Needs advice
on
ASP.NET CoreASP.NET Core
and
Spring BootSpring Boot

I am a final year student and am wondering between Java and .NET Core.

Where I live, Java/Spring Boot has a larger market share and is also the majority of what I learn in school. As for C#/.NET Core, it is gradually being chosen by many companies, along with its potential being evaluated by the community recently and through some tutorials I think I quite like it.

Which one should I choose as the first step of my internship?

READ MORE
4 upvotes·8.5K views
Replies (2)
Recommends
on
Spring Boot

I would recommend sticking to what you have already spent your time on.

You are in your final year, you spent a great deal of time and effort on Java. The Java has a larger marketplace in your area according to you. So, it would be logical for you to go with it unless you have lost your interest.

READ MORE
6 upvotes·5.5K views
Recommends
on
Spring Boot

I would also like to give the same advice, stick to your current stack. You would start learning other stacks gradully. Don't shift yourself right now.

READ MORE
4 upvotes·1.4K views
Machine Learning Web developer at Sakona SL·
Needs advice
on
DjangoDjangoReactReact
and
Spring BootSpring Boot

Hello, there are 4 of us in the company and I am the only software guy.

We are going to make a web app for a client where orders are going to be taken into account and manufacturing orders (MO) are created in an optimal way.

Our client is going to provide us with the data to train an artificial intelligence model that will create manufacturing orders in an optimal way. The data will be: employees (schedule, calendar...), orders that are created, and manufacturing processes (MP) with their respective dependencies in terms of other MPs.

I am thinking about creating the AI with Python and deploying it. Then create a web (I don't know which technologies to use. If frontend React or do it all with Spring Boot or Django) and make requests to the AI API. I have no experience with React and with the other two I have very little experience.

Which technology should I use?

READ MORE
6 upvotes·13K views
Replies (1)
Sincerely, we don't care. at Goodvibes·
Recommends
on
React
Spring Boot

I don't think it matters

front-end : React is really cool and I enjoy it but you can build a website with Angular and Vue, or even Svelte (I've never tried it), but these are all options.

back-end : Spring Boot Because the framework is so powerful, you could do this with NodeJS, which would be easier than Spring Boot, but you'd have to figure out your syntax preferences and ask other people if your stack is viable.

Django can be used, but Spring Boot is far more powerful in terms of scalability and security.

if no back-end needed : you can use NextJS to fetch your API calls and create a lightweight website.

I mean, your question is difficult to answer because we don't know the architecture you imagine for this project. you need to think about all the components you'll create end-to-end and write it down in a paper without considering the stack you'll use, and then you can ask again with more precision.

READ MORE
4 upvotes·9.9K views
Needs advice
on
ASP.NET CoreASP.NET Core
and
Spring BootSpring Boot

Currently, I'm working as a frontend dev. I work with Angular. Also, have experience with Dart/Flutter. To learn some tools for the backend, what should I choose ASP.NET Core or Spring Boot?

READ MORE
5 upvotes·9.8K views
Replies (4)
Full Stack Developer at DreamCraft·

Given Angular is written in TypeScript, C# will feel more familiar to you. Other reasons to choose ASP.NET are that it's one of the fastest frameworks out there for any language, has a lower learning curve compared to Spring Boot, allows you to quickly build JSON Web APIs and uses less memory. Another notable option if you have a lot of TypeScript code you wish to reuse is Nest framework, which is a TypeScript framework that uses the same architecture as Angular but for back end APIs. I would still choose ASP.NET over Nest but it depends on what will give you more benefits.

READ MORE
5 upvotes·1 comment·219 views
Muhammad Abduqayum
Muhammad Abduqayum
·
January 14th 2023 at 9:48AM

Thanks,

I already started learning ASP.NET.

Got a course on udemy: "Build an app with ASPNET Core and Angular from scratch".

·
Reply

Given you have cross platform experience (dart, angular) I would recommend spring boot. It is a powerful platform, allows you to easily integrate with many standard tools: databases, message queues, … And you have the freedom to deploy your applications on every platform that has Java or containers available - so virtually everywhere.

READ MORE
3 upvotes·1 comment·191 views
Meziano
Meziano
·
January 6th 2023 at 9:51PM

I advise you to go for spring boot: it's the future. Just look at the statistics: spring boot is far more used and spread.

It's very easy to use, easy to install, easy to learn.

You'll not regret it!

·
Reply
View all (4)
Needs advice
on
FlaskFlask
and
Spring BootSpring Boot

I have to use one of these two frameworks for a test in one week. I have an extremely small amount of exposure to Spring Boot and no exposure to Flask. Which should I learn?

READ MORE
2 upvotes·8.8K views
Needs advice
on
GolangGolangNode.jsNode.js
and
PythonPython

Hi Guys, If you were to learn one of these languages for backend development: Golang, Python or TypeScript/Node.js, which one would you choose? Should meet the following criteria: - Focus on web application development. - Be stable for the next 10 years. - Good for microservices (compete with Java Spring Boot). - Production ready for now and not in the future. (Like Rust) - Have good ecosystems, i.e. libraries, testing, CLI, framework and good deployment options. - Good language features. I'm not interested in ML/AI, Data Science or DevOps.

READ MORE
7 upvotes·43.1K views
Replies (3)
Web Developer at Ecombooks·

Both Python and Node.JS solves similar yet different purposes for microservices. As a concern, I choose Node.JS over anything as My services could be handled by any cloud. If you want to perform some tasks requiring more to the server, then definitely go for Python else JS is best.

READ MORE
6 upvotes·2 comments·39.5K views
JD-4
JD-4
·
October 12th 2022 at 12:23AM

Thanks Bhupendra, Can you please explain to me what you mean with "requiring more to the server"? some explicit real use cases ma be useful.

·
Reply
Bhupendra Madhu
Bhupendra Madhu
·
October 13th 2022 at 5:15AM

Converting files to JSON format or any task requiring computing power might need python as its possible to do in python and JS is just for data processing and all sort of tasks

·
Reply

I would go with Go if you need performance or solve highly concurrent tasks. If not, Node feels easier to work with and is arguably more common (also, it's JS - it's everywhere, and you can switch to FE more quickly since you want to focus on web apps). Python is cool as well, but I hate how the package management is not solved, and the pythonic coding standards are not excellent, in my opinion, of course. As for stability (in terms of their APIs), I guess Go is the safest choice (it's still v1, after all), Python is a close second, and Node changes relatively fast. It's also a question of what language(s) you already know and use.

READ MORE
3 upvotes·38.5K views
View all (3)
Software Engineer at -·
Needs advice
on
.NET.NETNode.jsNode.js
and
SpringSpring

Hello, I am trying to learn a backend framework besides Node.js. I am not sure what to pick between ASP.NET Core (C#) and Spring Boot (Java). Any advice, any suggestion is highly appreciated. I am planning to build only Web APIs (no desktop applications or something like that). One thing to mention is that I have no experience in Java or C#. I am trying to learn one of those 2 and stick to it.

UPDATE: The project I am trying to build is a SaaS using microservices that supports multi tenancy.

READ MORE
8 upvotes·54.5K views
Replies (3)
Lead Software Engineer ·

I'd recommend to learn Spring as it is very widespread in the industry and provides a lot of easy integration into most of the common backend tech stacks. Rather than learning Java you could look into Kotlin. It's a very consistent, stable and well-thought language in my opinion and not as verbose as Java. Many problems can be solved with Kotlin in a clear and elegant way while also always having the option to use data structures and libs in JVM. It is also has a very good support in Spring.

READ MORE
8 upvotes·32.7K views

Why not pick Django or Flask (both Python)

READ MORE
4 upvotes·3 comments·45.4K views
Bogdan Pop
Bogdan Pop
·
October 27th 2022 at 6:43PM

Personally, I am not a big fan of Python in general. I need a backend good enough for creating a SAAS with Microservices and to support multi tenancy. I am not sure if Python can fit these requirements.

·
Reply
edu ya
edu ya
·
October 29th 2022 at 3:40PM

ig , u can use python for one of the microservices

·
Reply
shlomizoot
shlomizoot
·
December 4th 2022 at 11:36AM

from experience with C# - Microsoft gives you lots of capabilities out of the box with Visual studio , so it will be easy to ramp up and get code going

had more difficult with java but it was a long time ago

*currently working with node and C# and can tell you that Microsoft did much to make the transition fairly simple with new C# and .net version

·
Reply
View all (3)
Chief Product Officer at InfoDesk·
Needs advice
on
CypressCypress
and
Robot FrameworkRobot Framework

In which situations should we use Cypress or Robot Framework? Are both good choices to get tenured manual testers into the practice of automating their work for tests of APIs and functional tests of web applications? Cypress looks great for functional testing of web applications and Robot Framework looks great for everything else.

Background: We have over a thousand functional test cases for our web applications being executed manually by a QA team. Our front ends interface with APIs written in Java with various frameworks over the years (e.g. Spring, Spring Boot, Java EE). I think our testers could learn enough of the basic coding in JS, Java, and Python required to automate most of those cases.

READ MORE
5 upvotes·31.1K views
Needs advice
on
PrimeFacesPrimeFaces
and
ThymeleafThymeleaf

Hello, I need to create a website using Java frameworks, the website must pull data from different mssql views , I'm thinking of using Spring Boot+PrimeFaces but someone suggested I should use Thymeleaf instead of primefaces, I don't have any experience in either, so I'm wondering if someone has some advice based on their own experience? thanks!

READ MORE
4 upvotes·16K views
Replies (1)
Recommends
on
PrimeFaces

PrimeFaces is best combined with Jakarta EE. You could use for instance GlassFish or WildFly.

PrimeFaces uses Faces, and Faces uses CDI, which are both available by default in Jakarta EE. It's possible, but not super natural or trivial to add these to Spring Boot.

READ MORE
1 upvote·1 comment·4.1K views
Kevin Nabity
Kevin Nabity
·
September 17th 2022 at 7:17PM

I'd advise against using PrimeFaces for new development. JSF seems to be on its way out the door and the fact that so much logic that belongs on the front-end gets forced to the server with PrimeFaces has been a big obstacle for me in development with PrimeFaces. Angular/React/VueJS all seem like better alternatives.

·
Reply