Feed powered byStream Blue Logo Copy 5
PHP

PHP

Application and Data / Languages & Frameworks / Languages

Decision at The New York Times about Kafka, Node.js, GraphQL, Apollo, React, PHP, MySQL, AngularJS

Avatar of nsrockwell
CTO at NY Times
KafkaKafka
Node.jsNode.js
GraphQLGraphQL
ApolloApollo
ReactReact
PHPPHP
MySQLMySQL
AngularJSAngularJS

When I joined NYT there was already broad dissatisfaction with the LAMP (AngularJS MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

17 upvotes2 comments42.4K views

Decision at Kokoen GmbH about ExpressJS, Node.js, JavaScript, MongoDB, Go, MySQL, Laravel, PHP

Avatar of ASkenny
CEO at Kokoen GmbH
ExpressJSExpressJS
Node.jsNode.js
JavaScriptJavaScript
MongoDBMongoDB
GoGo
MySQLMySQL
LaravelLaravel
PHPPHP

Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

8 upvotes12.3K views

Decision about ExpressJS, Flask, Sinatra, Node.js, PHP, Python, Perl, Ruby, Java, C++, Piwitch, SipWitchQt, Bayonne

Avatar of tychosoft
Chief at Cherokees Of Idaho
ExpressJSExpressJS
FlaskFlask
SinatraSinatra
Node.jsNode.js
PHPPHP
PythonPython
PerlPerl
RubyRuby
JavaJava
C++C++
#Piwitch
#SipWitchQt
#Bayonne

My view of the enterprise software stack I think is different than most. I find that I use C++ and #Qt in many of the roles most used Java and typically in #SipWitchQt and #Bayonne. I also have come to adopt Ruby in those other places where I had used Perl, Python , and PHP in the past, and certainly in preference to Node.js. In particular I am starting to really like Ruby and Sinatra over Python and Flask or Node.js with ExpressJS for writing quick web api and microservices, hence why I am using Sinatra in #PiWitch going forward. I do not pick a language because of popularity, but rather based on whether I can be effective in it for the problem I am trying solve.

6 upvotes2 comments17.6K views

Decision about PagerDuty, Slack, Go, PHP, Java, Python, Ruby, Node.js, Sqreen

Avatar of paulblei
PagerDutyPagerDuty
SlackSlack
GoGo
PHPPHP
JavaJava
PythonPython
RubyRuby
Node.jsNode.js
SqreenSqreen

I chose Sqreen because it provides an out-of-the-box Security as a Service solution to protect my customer data. I get full visibility over my application security in real-time and I reduce my risk against the most common threats. My customers are happy and I don't need to spend any engineering resources or time on this. We're only alerted when our attention is required and the data that is provided helps engineering teams easily remediate vulnerabilities. The platform grows with us and will allow us to have all the right tools in place when our first security engineer joins the company. Advanced security protections against business logic threats can then be implemented.

Installation was super easy on my Node.js and Ruby apps. But Sqreen also supports Python , Java , PHP and soon Go .

It integrates well with the tools I'm using every day Slack , PagerDuty and more.

5 upvotes10.6K views

Decision about PHP, .NET, JavaScript, Node.js

Avatar of Sparker73
Frontend Developer
PHPPHP
.NET.NET
JavaScriptJavaScript
Node.jsNode.js

Node.js is my choice because it uses very few resources to run and it is capable to handle tons of connections simultaneously. Most developers already know JavaScript, the evolution of ECMAScript is immediately reflected to Node.js and all you have to do is update your Server's Node.js version without time and effort. Thousands of improvements that makes it very powerful especially in asynchronous programming. The web is full of courses, dev communities, free sample code, plunkers and many knowledge sources on Node.js that facilitates the learning curve. What else we can ask from a legendary language that is still evolving? I am learning Node.js by developing a simple REST WebAPI and using it as a playground to test situations in which the main objective is to challenge Node.js and compare results and performance with .NET implementations and certain well known fast PHP implementations. Until now the results are astonishing. Summarizing: Node.js for backend is so far (in my opinion) the most recommended solution to get positive achievements in size, speed, power, concurrency, scalability, deployment and running costs.

5 upvotes9.9K views

Decision at Bengala about Intercom, Slim, Propel, MySQL, PHP, Ember.js

Avatar of betocantu93
IntercomIntercom
SlimSlim
PropelPropel
MySQLMySQL
PHPPHP
Ember.jsEmber.js

Ember.js PHP MySQL Propel Slim Intercom

Mostly CRUD app, using propel orm, jsonapi serializers and ember.js frontend, this app was in ember 2.16 and we recently upgraded without any issue to 3.15, propel is super good as ORM, slim is a thin framework basically for routing and middleware

2 upvotes4.5K views

Decision at UCRAFT about PHP, MySQL, Composer, Ember.js, JavaScript, Laravel

Avatar of balgev
Founder at UCRAFT
PHPPHP
MySQLMySQL
ComposerComposer
Ember.jsEmber.js
JavaScriptJavaScript
LaravelLaravel

We recently decided to rewrite Ucraft's Laravel from scratch.

The goal is to make everything more Laravel friendly that will speak to frontend JavaScript , built on Ember.js via JSON Patch standard. This will also make out app better extendible and overridable.

The namespeaces are going to be more correct and the app itself will be compatible with Composer packages.

This also improves the connection between MySQL and PHP making the reoccurring MySQL queries cached during the lifecycle.

1 upvote5.1K views

Decision about PHP, Python, Docker, Kitematic, GitLab, Eclipse, DevEnv

Avatar of amarin-boonkirt
Full Stack Developer at UzaWeb
PHPPHP
PythonPython
DockerDocker
KitematicKitematic
GitLabGitLab
EclipseEclipse
#DevEnv

Python PHP Eclipse GitLab Kitematic Docker #DevEnv I selected PHP for General Web Platform, And Python for other special things.

1 upvote1.7K views

Decision about ExpressJS, PHP, ES6, Neo4j, MySQL, Node.js, ChromeExtension

Avatar of khan_mubaris
ExpressJSExpressJS
PHPPHP
ES6ES6
Neo4jNeo4j
MySQLMySQL
Node.jsNode.js
#ChromeExtension

Node.js MySQL Neo4j ES6 PHP #chrome_extension ExpressJS sometimes ( read toy projects ) React and Vue

1 upvote1.4K views

Decision about Slim, Yii, Lumen, PHP

Avatar of ytaborda17
Full Stack Developer
SlimSlim
YiiYii
LumenLumen
PHPPHP

I'm about to start a new project to build a REST API, and I got to this point: Yii2 Vs Lumen Vs Slim, I used Yii 1.1 a while a go and it was awesome, really easy to work with, as a developer you don't have to worry about almost anything, just setup the framework, get your php extensions, and start coding your app.

But, I was told about performance and someone recomended Lumen or Slim to work with a micro framework and a less bloated framework, what worries me is the lack of advantages that Yii2 offers, ACF and RBAC as a native tool on the framework, gii, the model validations and all the security props already in it.

Is it worth it? Is the performance so great on those frameworks to leave aside the advantages of a framework like Yii2?

How do you suggest to make the test to prove wich one is better?

PHP Lumen Yii Slim

208 views