Hacker News new | ask | show | jobs
by Continuous 3145 days ago
Use the language your team is familiar with! If it is PHP don't hesitate just because it is not "cool"..

PHP was a great tool back in the day and today!

PHP with a decent framework like Laravel [1] or Zend Framework [2] really works well and addresses all the features that you have listed (except the last 2).

Uniquely among modern languages, * PHP was born in a web server *. Its strengths are tightly coupled to the context of request-oriented, server-side execution.

We've managed to develop several complex apps over the last 10 years on PHP. For Web Socket support, we use Socket.IO or Firebase and it both really well together with PHP.

If you choose PHP now, you are not alone. Many companies still choose PHP for their Web Application. Slack uses PHP for most of its server-side application logic [3]

[1] https://laravel.com/ [2] https://framework.zend.com/ [3] https://slack.engineering/taking-php-seriously-cf7a60065329

4 comments

I don't know about 'back in the day'... php was way ugly and hackety hack... BUT... laravel + composer now is a beautiful thing, super easy to get going. PHP in 2017 has grown up a lot and isn't the same as php in 2007.

I think most important thing is picking something that you can hit the ground running fast, it doesn't matter what you build in (though I'd stay away from nosql personally... never know when you'll need rdbms on scaling, and starting w/ mysql/postgres is safer in many cases)..

people avoid languages because they don't know if a php job ad means "20 year old codebase" or greenfield.
As someone who uses Laravel the most between all backend frameworks, it still sucks because it's rare to impossible to find jobs that use it and employers still largely care about what you're most proficient with and look down on it because it's PHP. That said, I do really like Laravel
Literally one job for my city and it's the first time I've ever seen one posted for my city. I do appreciate the resource though.
Many of them hire remotely though.
OP lists websockets, a feature PHP cannot implement well.

(and no ratchet, php-websocket do not count)

Well, to be honest if you want to use websockets, you better do that part in Node.js, Elixir or Go. The creator of Juggernaut, which was one of the most popular websocket library for Rails, ended up porting to Node.js until he said that people should stop using websockets and rely on Server Sent Events instead.

https://www.html5rocks.com/en/tutorials/eventsource/basics/

Considering there is absolutely no IE or Edge support for SSE, it seems like a non-starter for a general website.

https://developer.mozilla.org/en-US/docs/Web/API/Server-sent...

If by "websockets" you mean "notify a web client immediately when a server side event occurs", then PHP + Laravel + Pusher is a mature solution for this.
Has anyone tried Grav? Some ex-Drupal people use it.