From a practical perspective there is very little difference between ASP.NET and PHP, both will allow you to commission, maintain and improve a secure web application within your requirements.
While the product ends up being very similar, how we get there can vary a lot and in specific ways that directly affect your business. At a quick glance here are the main factors you will encounter:
The first major difference is the cost to produce, maintain and further develop your application. In all of these categories PHP ends up being cheaper and the main reason is that PHP is an Open-Source project, so from the ground up it is designed to be available to everyone.
By comparison ASP.NET is owned by Microsoft and there are licensing fees around ASP.NET projects. This extends to more expensive server hosting too and until recently even the tools that developers had to use to develop came at a cost.
This cost difference is the single biggest driving factor that has affected all aspects of both solutions. It is however important to consider that in this context cheaper doesn’t mean worse and expensive doesn’t mean premium.
Comparatively speaking you will be paying more for your ASP.NET setup than for PHP for the equivalent quality and performance. Our winner in this comparison is PHP.
With PHP being free there is no barrier to entry for individuals who want to be developers, even a low performance computer or old laptop is enough for anyone to get started and develop. Because of this you have a massive talent pool for PHP developers at all professional levels ready to work for you. Additionally PHP developers seem to operate at extreme ends of the spectrum, having both the worst quality developers and also the absolute best developers.
ASP.NET requires a bit of investment to get into, so as a general rule the developers choosing this path are well studied and typically learn professional software development techniques as part of their journey. This means even at the low end you have very capable developers.
Somewhat counterintuitively if you are on a budget, the lower end of ASP.NET is likely to give you more peace of mind than the PHP market because there is only so low you can drop in the ASP.NET market.
On community resources we have a clear winner with PHP, with the community being so large and the projects rooted in Open Source you end up with so much collaborative work on common-interests projects. You will be spoiled for choice when and this can help accelerate the delivery time of your projects and to some extent the quality too.
ASP.NET does have its own community and its share of free resources however it always feels like it is trying to play catch up to the PHP community.
The quality of the solution you get will vary based on the talent pool you go for. In this case you really do get what you pay for. Whether it is PHP or ASP.NET you should expect to have a reasonable and sufficient budget to cover your software needs.
If you are looking to test a new idea and want a product up quickly and effectively, PHP is definitely going to come out on top: cheaper developers & community resources make it childs play to put together new high quality projects. ASP.NET also has a very mature ecosystem however it just can’t quite keep up with PHP.
It’s hard to escape the dominating effect that cost has over the two solutions, there is a compounding effect that snowballs in both directions.
Because of this we find that PHP is easier to get into and easier to live with. It’s reliable and predictable.
ASP.NET has a higher entry point for developers so we find that it’s pretty hard to find bad developers, the talent pool is smaller yet still significant.
Overall our vote is for PHP. You can start small, grow to be a giant and you are supported the whole way with great feature-rich technology all at reasonable costs with very low risk.