My background is asp.net development and I took part in several projects where developer team was free to choose server-side programming technology (PHP, ASP.NET[Web Forms/MVC], JSP) & free to buy any CMS.
Looking backward I realize technology & approach we chose often wasn't the best one. I'll enumerate some projects:
- One web portal (ASP.NET Web Forms) - Originally It was .Net Nuke every developer knew nothing about & was snobbish enough to learn. Previous team modified Nuke engine the way it couldn't be upgraded (they added rows and relations to standard tables). So we rewrote it from the scratch. Big mistake. We spent a year to achieve previous functionality. Business felt trapped - they could not fire us and could not stand us.
- Another web portal (ASP.NET Web Forms) - Portal was very specific (trading) so we start developing from the scratch. Everything was fine half a year but as project grew business wanted to see more and more basic functionality (forums, blogs). May be we should wrote lots of modules for standard cms instead of developing from scratch.
- One specific 5-paged site with massive reporting - ASP.NET MVC and it was ok.
- Several small specific questionnaires - ASP.NET MVC and it was ok also.
There were projects where I had to support legacy web systems and there was no choice.
I feel (and it's very subjective) that server-side technologies niches are the following (when you have a choice what to choose):
- Standard company sites & blogs/forums/communities (the most part of all web development) - is PHP CMS area (Wordpress, Joomla, Drupal e.t.c.). If team has asp.net background they should choose asp.net CMS (Nuke, Sharepoint)
- Small / Specific sites - PHP/ASP.NET niche (but if it can grow choose CMS from the very beginning)
- Intranet company ecosystems - ASP.NET mostly (CMS or not)
- ...
I know every task can be accomplished with technologies you are most familiar with, but what do you think of nowadays niches?
There are some radical questions also:
Shall developers use CMS for every site larger than 3 pages as every site functionality tends to grow and there are lots of modules written for us? Even if site looks too specific it's better to write modules for well-known CMS than to write sites from scratch.
What is JSP niche?