Which Web Techonologies should I use to build a Web Application in 2015?

Posted on 2014-12-31
Last Modified: 2015-01-19
The question is very subjective but I find myself stuck in mud and I need fuel to think so I'll waste the smallest amount of time possible to become a "real" programmer and start finding a small junior job.

I've been fiddling for two years (coursera, code school, books, online resources) with Python and the good old LAMP stack (with superpowers given by jquery and jquery mobile).

Last week I've decided to start doing things with method and I've discovered yeoman and other incredible tools like AngularJS.

I felt like I've wasted months on doing things that AngularJS does in seconds and in a very clean and readable way.

It has been both great and terrible: am I wasting time trying to use old technologies?

Should I start focusin on the MEAN stack instead of LAMP?

What is the world looking for now?

I feel lost.

I would like to use Python instead of PHP to handle my backend but maybe it is not the right tool for fast and agile web development... Flask, Bottle, Django...

Then there's Ruby...

Everyone wants their applications to work on mobile too so there's Cordova, Phonegap... Headache!

So many differencies, so many questions, so many problems.

I've thought much about where to ask for what to do but Experts Exchange is the only place that gave me the rights suggestions about beginning to study and therefore I'm here, again, to seek help.

May your new years be filled with hacking and success!
Question by:ltpitt
LVL 70

Accepted Solution

Jason C. Levine earned 500 total points
ID: 40525685
Learn to use them all.  Failing that, learn to use as many as you can and stay current as new things come out...but know what everything is and what it can do.

The problem with telling you which technology is the One True Way is that it won't be the One True Way.  Every framework and language has its place and you never know when you'll be put in a position to work with something new or old, familiar or unfamiliar.  If you are working for yourself, not being able to at least have a conversation about a given technology means you will be passing on certain opportunities.  If your work for a company or agency, the more things you can do increases your value and the company's ability to do things.  

So be a web Jack-of-all-Trades, and a master of several.
LVL 53

Expert Comment

ID: 40525856
The application requirements should dictate the technology.

If you are thrilled by new toys and want to be an early adapter, Then you will always be chasing the latest buzz, and never produce anything much more then stuff that does beta testing of the tools.

The installed bases of tools like PHP, Wordpress, Apache, and other mature technologies are large because they have been perfected though tens of thousands of developers making things that don't work right and getting the tools improved over time, to extend the capabilities.

Those mature technologies are more secure because hackers have found most of the vulnerabilities and those are now patched.  If you think that something looks quick and easy then you need to undersand that quick and easy means you will give up some level of control and flexibility, and when you can't make it do something and you need help you will find that the newer the technology the less of a community there is to support it; and the more likel case where you will have to use a hack that oens an attack vector.

Every month hundreds of questions go up on EE about fixing something in a newer technology that end up getting classified as neglected because there is no one on the site who knows the new toy well enough to have a solution.  So whatever new technology you decide you want to use, make sure it is supported by a community of users who are actually experts, not just experimenters.

As for me I have not seen any thing that convinces me there is a better way to do web development then the LAMP stack.  However I have been developing with LAMP for a long time and have built up a pretty extensive library of snippets, classes, widgets and plug and play objects that I can use to generate just about anything I need.  The best part about "old" code and "old" toys is that they have been hardened against the most skillful hacker attacks and it takes very high level skills to do damage.

BTW, I agree with Jasons's suggestion about learning many tools. Learning how things work, and even experimenting with them, is te only way to know when a newer technology has matured enough to be used for real development instead of just being nerd bait.


Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
This guide will walk you through the essential considerations and tech stack for building scalable websites. Know how to grow your business the smart way!
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now