Latest trend in web technologies

Back in 2004, Facebook front-end was written in PHP. What are the latest web technologies? If I have to develop something like facebook "today", what technologies are suggested? It should work on all devices which exist today. It should be scalable and fast. and should be able to handle the media files that facebook like service handles on daily basis. Thanks.
James BondSoftware ProfessionalAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
I think you're confusing a few things.  Number one, Facebook is a web site that is viewed in web browsers.  Web browsers display HTML pages and run javascript.  Programming languages like PHP and database servers run on the servers, not on the devices.

Facebook still uses PHP but they have developed compilers that convert it to C and then machine code instead of interpreting it when it runs.  They also use just about everything else on their servers.  Their web pages use a great deal of javascript to continuously update the pages.

Facebook (and Yahoo and other large sites) have thousands of software engineers and Facebook has their own data centers with thousands of servers.  If you wanted to develop something similar today, you would first have to have a lot of money.  The current operation of Facebook requires a lot of facilities and network engineers in addition to the software engineers.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
James BondSoftware ProfessionalAuthor Commented:
ok. Thanks for your comment. Why did they develop compiler? Why not use C++ directly to write code instead? Isn't compiler the overhead? What is the rationale? Whats the advantage?
Dave BaldwinFixer of ProblemsCommented:
The compiler is not used in real time, it is used to re-write the code in a language that is compiled and runs 4 to 10 times faster than interpreted PHP when it is done.  You could consider PHP to be a prototyping language for them.  I have a PHP compiler on this machine that runs a good bit faster than interpreted PHP.  

The biggest advantage of using PHP as the base is the huge number of functions that are already written for it.  PHP and it's extensions are normally written in C (not C++) and the source code is freely available.  I think it gives them a lot to work with.

Note: It looks like they do use C++ after all.
CompTIA Security+

Learn the essential functions of CompTIA Security+, which establishes the core knowledge required of any cybersecurity role and leads professionals into intermediate-level cybersecurity jobs.

Dave BaldwinFixer of ProblemsCommented:
Note that they will use any language that serves a purpose.  And they use a variety of database servers.  This search will bring up a lot of listings about the languages that Facebook uses.  And this page from a Facebook blog is also informative: 

Facebook publishes a lot about what they do.  They're not worried about you competing with them because they are at the point where huge resources are required to compete with them.
James BondSoftware ProfessionalAuthor Commented:
ok. Thanks. Please give me some time to understand this architecture. Will get back.
Julian HansenCommented:
There is a growing trend to move away from developing interface code on the server. While PHP, Ruby etc will remain to deliver data to RESTful requests I see the future applications being predominantly browser based using client side frameworks like Angular.

This makes a lot more sense as it moves the interface rendering overhead to each client that views the application rather than a single server (or cluster) having to chug away churning out interface code.

For me Angular (or similar) applications making RESTful requests to a server (running whatever) is where things are headed.
James BondSoftware ProfessionalAuthor Commented:
I am not a regular Facebook user. But recently to understand it's technology and features I used it for a month. The lite version on my mobile device was fine. But  accessing full   website was nightmarish experience. It was not just slow but most of the time it didn't load at all. I am sure many users must be facing this problem. All other websites work fine on my PC. Is this because FB is using RESTful requests and rendering responsibility has been shifted to clients as it was when Internet was started?
Dave BaldwinFixer of ProblemsCommented:
Here in California, Facebook is not that slow.  What web browser were you using?  Facebook uses a large amount of javascript to continuously update their pages with a large amount of data including many pictures.  I doubt that they are using RESTful interface.  I believe they are using whatever they think is best.  RESTful is more for poeple who are serving data to others.  Facebook pretty much has complete control over their pages.
James BondSoftware ProfessionalAuthor Commented:
I am using google chrome. But I tried IE as well as FireFox, same behavior. It works once or twice then just doesn't load at all. I think they haven't figured out the correct architecture yet.
Dave BaldwinFixer of ProblemsCommented:
Sorry but there are about a billion Facebook users that say differently.  It is likely that your location and network are having problems because most of the world is not.
Julian HansenCommented:
You have not given a reason for assigning a 'B' grade. The default grade is an 'A' - if not awarded it is expected that you follow up with an explanation as to why you did not award the 'A' grade.

Please refer to the grading guidelines for more info
James BondSoftware ProfessionalAuthor Commented:
Hi julien, as far as I understand B grade doesn't mean bad. I was only trying to indicate the future reader that the answers  are good but I have not been able to test them. Also my experience with Facebook site is inconsistent as far as performance is concerned. I am not sure the technology they are using is the best one. My intention while giving B grade was that reader should not blindly follow the answers but should take the answer and should do his or her due diligence. I am going to do the same. Unfortunately no matter how hard you try, the question is generic and there can never be a perfect answer and there can not be A grade. Hope you understand my point.
Julian HansenCommented:
there can not be A grade
If you read the guidelines you will see that this particular case is covered. Sometimes an answer is the right one even if it is not what the author wants to hear.
As mentioned before - the A grade is default - B is when you have exhausted all options.

With respect to Facebook your appraisal is seriously flawed. Some really innovative stuff has come out of facebook - Dave highlighted some of this to you. Take a look at ReactJS which is rapidly rising in the ranks as a client side JavaScript framework challenging the likes of Angular (Google).

The fact that you don't have a good experience with FB (again as highlighted by Dave) is a problem exclusive to you. Its like saying my car is slow therefore there is something wrong with the road system. Facebook is not some micky mouse outfit run out of a garage - it is forced by the nature of its operation to be on the leading edge of what is out there.

You wanted to know what the trend was today - the answers given where that PHP is still very much a contender (Facebook given as an example) but that there were new trends in the form of client side frameworks example Angular - React - the latter being a Facebook technology.

That is the answer to the question - please explain what more it was you were expecting?
Julian HansenCommented:
Having given this some thought here is another answer for you to consider.

Web development today is defined more by stacks than any one particular technology.

The main development technologies include
Ruby (Rails)
JavaScript (Node.JS)

There are a scattering of others but those make up the majority.
Each one has its own frameworks and stacks.
.Net (MVC3/MVC4)

Linux  / Windows
Apache (Nginx is trending)

Rising stars in the stack space

MongoDB (NoSql)

Java, Ruby and Python have theirs as well but I am not up to speed on those.

Within each of the above there are different frameworks and scaffolding applications that provide the skeleton for building apps.

PHP has
Laravel / lumen - PHP's rising star framework

amongst others

Java is extremely mature with many frameworks but tends to be confined to corporate applications (not as a rule - but more common)

Client side frameworks include Bootstrap / Foundation - CSS frameworks for responsive interface design.

JQuery is dominating the javascript DOM manipulation space with thousands of JQuery plugins available to do pretty much anything.

New trends are for client side include Angular, Ember, React, Backbone - javascript libraries that provide state based frameworks for building and rendering apps as client side single page applications.

On top of this you have a bunch of tools that have become common place for configuring / installing and scaffolding various stacks
npm (Node package manager)

In summary - it is more about stacks and frameworks than about the underlying technologies themselves. Each offering has its advantages and disadvantages - but things are moving such that complex applications are using a mix of many rather than being exclusively bound to one.
James BondSoftware ProfessionalAuthor Commented:
I know some innovative stuff has come out of Facebook. but are you sure it is the best and there can not be a better way? I have my experience with things whether it is Facebook or a car. And what conclusion I draw out of it is my prerogative. Nobody is best judge including you and me. So let's not get in to measuring each other's comments. I had gone through the guidelines. This particular case requires extra work like more reading,  testing, comparison between various technologies to decide what's really is a trend. You have helped but it is not final. So according to the guidelines It is B. Please try to understand this can not be A.
Julian HansenCommented:
This is not about changing the grade.

If you award a B you are expected to follow up with an explanation - which you did not provide hence my comment.

You have now followed up and clarified the requirements and therefore there is no more to discuss.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.