Java EE聽vs聽PHP

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

Java EE

440
357
+ 1
2
PHP

110.1K
54.8K
+ 1
4.5K
Add tool

Java EE vs PHP: What are the differences?

What is Java EE? The standard in community-driven enterprise software. It is developed using the Java Community Process, with contributions from industry experts, commercial and open source organizations, Java User Groups, and countless individuals. It offers a rich enterprise software platform and with over 20 compliant implementations to choose from.

What is PHP? A popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

Java EE and PHP belong to "Languages" category of the tech stack.

PHP is an open source tool with 23.9K GitHub stars and 5.53K GitHub forks. Here's a link to PHP's open source repository on GitHub.

According to the StackShare community, PHP has a broader approval, being mentioned in 8911 company stacks & 2940 developers stacks; compared to Java EE, which is listed in 11 company stacks and 9 developer stacks.

Advice on Java EE and PHP
Needs advice
on
Python
PHP
and
Node.js

Hi, I have a project on my mind, and I need some help. First of all, I know it is all about personal preference, but I am a beginner in the back-end part. So, I am trying to figure out which language is better, for example, for user authentication and interaction between the users. Also, I don't know which framework is better for this work. My first thought was to use PHP, but after some research on the internet, I'm leaning towards Laravel. I will be grateful if you have some advice for me.

#newbie

See more
Replies (7)
Ezra Fayet
Recommends
PHP
Node.js

First thoughts: * As a beginner you need to understand concepts first, all languages out there are great, each has it's own philosophy, each is better suited for a specific situation. Learn concepts first, do something, then you will understand the differences between them and why one should be chose over another for a task * As a project manager you want your project to come to an end. You will get lost in all the different solutions out there (and it's good), but don't get lost too far. Very often I see people getting lost in those debates and never achieving things, like someone writing a book that would still be choosing the font 6 months after (we've all done that it's ok, but we have to realise it)

Chances are your project can be equally good on any different stacks. I heard an interview of someone from Uber who said something like they started with python, went to node, went back to python and went to go, and with micro-services now they can have all of them all-together.

Last remark: from what I know Laravel is a framework for PHP, so it IS PHP. Just like Symphony for PHP, Express for Node.js, Koa for Node.js, Flask for Python ...

Now to answer your question :

  • PHP has a big community, it is great and easy to start with, and you will definitely will learn real object oriented structure
  • Node.js has a big community too, don't worry finding help will be as easy. It is less easy to start with but in my point of view it is a lot easier to keep on going with it on a long run. Why ? Because it's very easy to run a new project, and it executes javascript. How is it good ? Because chances are that your front will also be using javascript (React.js / View.js are crazy good). Thanks to that you will be able to master the language better because you will use it all day (and at first mastering one language is more valuable than barely knowing two) and you won't have to switch languages in your head when you code. And communication between front and back will be in json ... Which is crazy close to javascript.

Alexander is right, if you go with PHP take your time first to do things by yourself like building your own MVC, the benefit is huge and the risk is to never really be able to understand what's happening on a deeper level. (at some point you can switch to a framework though). He's also right on choosing a strongly typed language, problem is javascript is not. This is why, if you choose node, when you start being confident, add typesccript.

Hope it helps, good luck

See more
Octavian Irimia
Recommends
PHP

Short answer, if it's a web project (and I guess it is) go with PHP and you can integrate NodeJs services later.

@adzaria (Ezra Fayet) gave a great answer and I'd like to emphasize the first part: As a beginner you need to understand concepts first. For me that means to understand the web, how servers and requests work, APIs and few others.

Now, I'd like to add few things so, this is the long answer:

Why PHP?

  • Everyone knows about the community - PHP is way older so you will find lots of resources and I am not only talking about learning - also lots of helpful tools and packages
  • PHP is great for OOP - not perfect, but with PHP7 got great - and if you are a beginner you want to know good OOP for your future. Let's say JavaScript's OOP is a bit strange; I will not get into details but, let's say "it's not by the book". You can still learn JavaScript for your front-end

Why not Python? Python got popular because of AI - don't use PHP for AI and don't use Python for web applications. I can elaborate a lot here but I guess you get the point.

Why not NodeJs?

  • NodeJs got popular because of sockets - and it works great, but as a service
  • Try to find a good and affordable hosting for NodeJs. How about for Python?
  • I would not ignore the security issues that it had and could appear. PHP is older and, therefore, wiser :)

Now, about a framework... is this a learning project or something that you need to do fast? My advice is to start a small project and not use any framework. However, you can use packages and inspire from a framework's architecture - Laravel is a good role model.

Why not start a big project? You will get distracted, get into details and product design stuff and get scared or border and abandon it. For your project you need an MVP - list of minimum required features that you put on paper - that you will complete. After that you can improve.

Good luck!

See more
somes kumar k
Member Technical Staff at Manage Engine, division of Zoho Corp | 3 upvotes 路 149.8K views
Recommends
Node.js

you can choose Node.js Here are my points

Node.js is build over chrome鈥檚 v8 and its works on non blocking io. Node.js have huge community and great packages (npm) to help you out in most cases and makes development faster Node.js has been adopted by many multi dollar company Hope this helps馃槉

See more
Alexander Santos
Fullstack Developer at 3CON | 2 upvotes 路 145.6K views
Recommends
PHP

The reason why i chose PHP is the amount of content you can find on the internet easily. As you quoted being a beginner, i think a more mature language would be better. And that's also another reason for following with PHP.

Python is simple and "mature", but it can be a bit hard to understand if you are a beginner. Python relies on heavy abstraction, and that's the reason behind it's simplicity. Python is an "easy to play, hard to master" language, i never recommend it to beginners. Also, one [maybe personal] reason why i don't like to use Python as back-end is: Python is very data-focused. So if your app has focus on business logic, Python wouldn't fit very well. And with that becomes an advantage, if your app has statistical focus, being data-focused or something like that, Python has huge advantage among all other languages due to many great tools the community has built.

About Node, it's like PHP, but less mature. It's as easy as PHP to find tools that can help you, for example, to abstract the database-connection's logic. But to find architectural-focused content, more advanced concepts, it's a lot harder. While that, Laravel's community, for example, has a lot of materials that involves those concepts.

Still, if you are really a beginner, i don't recommend using Laravel with PHP. Do things on plain PHP first, understand the reason behind using frameworks and Laravel's motivation.

Also, consider a strong-typed language first, those are considered more didatic, but less flexible.

See more
Tarun Batra
Back End Developer at instabox | 2 upvotes 路 138.3K views
Recommends
Python
Django

Python, PHP and Node.js all are capable of being used to create good complex software. There are many examples of similar applications built on all of them. If I have to pick one, I would say consider Python and Django. It is fairly easy to develop web applications on top of this stack. Scaling and maintaining the application should also not be a problem given a lot of resources are available online.

See more
Recommends
Python
Django

I have used Laravel, but with Django you can develop faster, as authentication and admin panel are configured out of the box. It users SQLite by default and you won't have to worry about the database in the begginning

See more

You cannot choose between Python | PHP | NodeJS Since they are entirely for Different purpose.

In Bird view

Python - Large Scale Projects and if you want a job in big IT company.

Node.JS - Huge computing projects and if you want job in Silicon valley startup.

PHP - Cost Effective and If you want start a business in near future.

See more
Needs advice
on
Python
PHP
and
Java

Hi everyone, I have just started to study web development, so I'm very new in this field. I would like to ask you which tools are most updated and good to use for getting a job in medium-big company. Front-end is basically not changing by time so much (as I understood by researching some info), so my question is about back-end tools. Which backend tools are most updated and requested by medium-big companies (I am searching for immediate job possibly)?

Thank you in advance Davit

See more
Replies (4)
Pierrick Martos
Engineering Manager at Akeneo | 20 upvotes 路 102K views
Recommends
Python

Go with Python definetly. It's used everywhere by web developers for backend developments : API, website backend, workers... but also by data scientists (lot lot of resources, models and libraries in Python it's language #1). For the web parts, best web framework are in Python : https://stackshare.io/microframeworks (Flask #2 and Django #3). Java is good but trend is not great in terms of popularity amongs developers and tech leaders.

See more
Vijayakumar Rajagopal
Recommends
Java

As per my experience java is most wanted for web development as of now. micro service is evolving . with frameworks like spring boot supports rapid development. Spring boot + Docker + kubernetes great combination.

See more
sharik zama
Software engineering Intern at EPAM Systems | 5 upvotes 路 101.3K views
Recommends
JavaScript

I would recommend learning HTML, CSS, and JavaScript (most important). JavaScript forms the backbone of web development. And, there are many popular and widely used frameworks like Angular and React that heavily rely on the knowledge of JavaScript. The number of job opportunities are much more when it comes to javascript.

See more
Chathuranga Bandara
Recommends
Python

I would recommend Python as the programming language and as you are a new developer, Flask to start with. It gives you a solid understanding on the web patterns such as REST and will get you up and running in no time. However, I suggest you to read and study on front-end technologies like (React or Vue) and databases (SQL and NoSQL) and probably some NodeJS as well. First grasp the concepts (which Python is ideal for) then it does not really matter the language as such.

See more
Decisions about Java EE and PHP
Kyle Harrison
Web Application Developer at Fortinet | 17 upvotes 路 176K views

Node continues to be dominant force in the world of web apps, with it's signature async first non-blocking IO, and frankly mind bending speeds. PHP and Python are formable tools, I chose Node for the simplicity of Express as a good and performant server side API gateway platform, that works well with Angular.

See more
Octavian Irimia

Both PHP and Python are free but when it comes to web development PHP wins for sure. There is no doubt that Python is a powerful language but it is not optimal for web. PHP has issues... of course; but so does any other language.

Another reason I chose PHP is for community - it has one of the most resourceful communities from the internet and for a good reason: it evolved with the language itself.

The fact that OOP evolved so much in PHP makes me keep it for good :)

See more
Roman Glushko
Machine Learning, Software Engineering and Life | 3 upvotes 路 104.1K views
Chose
Go
over
Rust
PHP
in

I chose Golang as a language to write Tango because it's super easy to get started with. I also considered Rust, but learning curve of it is much higher than in Golang. I felt like I would need to spend an endless amount of time to even get the hello world app working in Rust. While easy to learn, Golang still shows good performance, multithreading out of the box and fun to implement.

I also could choose PHP and create a phar-based tool, but I was not sure that it would be a good choice as I want to scale to be able to process Gbs of access log data

See more
Mohamed Hassan
Software Engineer at YottaHQ Inc. | 4 upvotes 路 39.3K views
Chose
PHP
over
Python
Go

PHP is easy to learn and you can get up and running in no time, available on almost all hosting providers and you can find developers easily. It has some great frameworks for building your backend like Symfony and Laravel. However, it can be challenging when running an enterprise and needs some adjustments, very recommended for starting a new project or startup.

See more
Subhan Nooriansyah
Full Stack Mobile Developer at AISITS | 1 upvote 路 57.4K views

Websocket is trending this year, but there is another technology similar with Websocket (WS) is Server Sent Event (SSE). Those method have used similar Content-type, SSE is used to text/event-stream and WS is used to binary or text/octet-stream.

The different both of those method is sent. WS is an undirectional sending data both of client and server and SSE is whatever data on server will be push to client.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Java EE
Pros of PHP
  • 1
    Inherits all java advantages
  • 1
    High level of security
  • 942
    Large community
  • 806
    Open source
  • 759
    Easy deployment
  • 482
    Great frameworks
  • 385
    The best glue on the web
  • 234
    Continual improvements
  • 181
    Good old web
  • 142
    Web foundation
  • 133
    Community packages
  • 124
    Tool support
  • 33
    Used by wordpress
  • 31
    Excellent documentation
  • 26
    Used by Facebook
  • 23
    Because of Symfony
  • 19
    Dynamic Language
  • 15
    Cheap hosting
  • 14
    Awesome Language and easy to implement
  • 14
    Very powerful web language
  • 13
    Fast development
  • 11
    Easy to learn
  • 11
    Composer
  • 10
    Flexibility, syntax, extensibility
  • 10
    Because of Laravel
  • 8
    Easiest deployment
  • 7
    Readable Code
  • 7
    Short development lead times
  • 7
    Worst popularity quality ratio
  • 7
    Fastestest Time to Version 1.0 Deployments
  • 6
    Faster then ever
  • 6
    Fast
  • 6
    Most of the web uses it
  • 5
    Open source and large community
  • 5
    Simple, flexible yet Scalable
  • 4
    Has the best ecommerce(Magento,Prestashop,Opencart,etc)
  • 4
    Large community, easy setup, easy deployment, framework
  • 4
    Open source and great framework
  • 4
    Easy to use and learn
  • 4
    Cheap to own
  • 4
    Easy to learn, a big community, lot of frameworks
  • 4
    Is like one zip of air
  • 4
    I have no choice :(
  • 3
    Great developer experience
  • 2
    Hard not to use
  • 2
    FFI
  • 2
    Interpreted at the run time
  • 2
    Great flexibility. From fast prototyping to large apps
  • 2
    Used by STOMT
  • 2
    Fault tolerance
  • 2
    Safe the planet
  • 2
    Walk away

Sign up to add or upvote prosMake informed product decisions

Cons of Java EE
Cons of PHP
  • 2
    PAID
  • 20
    So easy to learn, good practices are hard to find
  • 16
    Inconsistent API
  • 8
    Fragmented community
  • 5
    Not secure
  • 2
    No routing system
  • 1
    Hard to debug
  • 1
    Old

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Java EE?

It is developed using the Java Community Process, with contributions from industry experts, commercial and open source organizations, Java User Groups, and countless individuals. It offers a rich enterprise software platform and with over 20 compliant implementations to choose from.

What is PHP?

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

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

What companies use Java EE?
What companies use PHP?
See which teams inside your own company are using Java EE or PHP.
Sign up for Private StackShareLearn More

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

What tools integrate with Java EE?
What tools integrate with PHP?

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

Blog Posts

Oct 3 2019 at 7:13PM

Ably Realtime

+8
4
3252
What are some alternatives to Java EE and PHP?
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
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.
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.
Java 8
It is a revolutionary release of the world鈥檚 no 1 development platform. It includes a huge upgrade to the Java programming model and a coordinated evolution of the JVM, Java language, and libraries. Java 8 includes features for productivity, ease of use, improved polyglot programming, security and improved performance.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
See all alternatives