[Discussion] Spring Boot vs Laravel for a Web Application
1 18 Jun 2015 16:42 by u/a_of_s_t
A friend and I are about to start a web project and we both want use different languages and frameworks to build the app. I'd like to get some feedback from the community on the merits of Spring Boot Laravel. Ultimately we just have to pick one and start rolling with it, but I figured I'd ask and get some ideas from the community.
Type of Project * We are going to build a web application plus REST API. * There will be use accounts. * There will be a forum. * The app will only do the following types of work: emails, aggregating data into reports, utilizing other RESTful APIs. * We are NOT building a single-page app.
Team Skills * One team member has 5 years PHP experience and 3 years Java experience. But only half a year with Spring. * One team member has 4 years Java experience and 2 years Spring. Little experience with PHP.
Pros and Cons of Spring Boot: * Strongly typed languages * High quality libraries since it is built on Java * You can easily start using Spring in your SpringBoot app once your project grows * Java 8 is coming out
- More work to get our work environments to be the same (maybe this has changed since I used Java?)
- Over-verbose, when we really just need to start getting a working prototype done
Pros and Cons of Laravel: * Project structure already in place * PHP 7 is coming out * Laravel + Vagrant can ensure our environments are the same
- Weakly types (pro or con depending on who you ask)
- PHP quirks (function parameters are not consistent, nor are function names)
What do you guys think? I don't want to start a "is Java better than PHP in XYZ metric" war, but rather, just a discussion on what you think would the best technology to a). build a web application and b). to quickly deliver and change that web application. Thanks!
3 comments
1 u/captbrogers 24 Jun 2015 06:19
Disclosure: I use Laravel for my day job.
You'll also want to take into account the target user base. What's is important, fast prototype? Rapid change implementation? How much server resources will it take to set up a server to run Java? I ask because I don't know, I'm not being sarcastic. How quickly do you want change features? I've found that Java can take longer than I'd like because of build times depending on what you're doing. But the trade off is once it's built, it's built.
Java can shine when it comes to serving speed, but server resources are a factor. Laravel is solid and composer packages give amazing options for functionality. Based on what you said the project would involve, sounds like both could work. I'd opt for Laravel because of the features you listed seem to be the exact sort of thing PHP/Laravel was built for.
Again, just my opinion but I'd like to hear from someone with Java experience chime in on what kind of server requirements you'd be looking at.
1 u/a_of_s_t [OP] 24 Jun 2015 06:38
Thanks for the insight! Yeah, I feel like both could work just fine which is really the hang up here. When my friend and I discuss it, we're probably going to base our decision on who will be the person who will put most of their work towards the web app and what language they are most comfortable with.
I have actually deployed some Java apps before, and the amount of resources can really vary. I have had Java apps completely stop responding because there was a memory leak. At least with PHP, it's much much harder to cause memory leaks.
1 u/captbrogers 24 Jun 2015 06:56
Your point about who will be doing more work may have the most pull.