Trends Shaping .NET .NET isour preferred framework for custom software development and we chose it over Java and LAMP which were the alternatives under consideration. Ever since this technology was introduced by Microsoft, .NET has been steady improvedand is now an extremely powerful and compelling platform on which to develop custom applications and software products. Microsoft has even open sourced key parts of the .NET platform which, I suspect, makes it appealing to people for whom open source is important. Additionally, the computing platforms on which .NET applications and products run are easy scaled up to handle large transactions, users and data. .NET applications and products can be run on a variety of cloud providers if hosting in your own data center is no longer strategic or desirable. There is a vast array of languages currently supported on the .NET framework although C# is still most popular. Microsoft has a history of offering free and low cost development tools – a strategy to build up the developer base that Bill Gates started back when he was still establishing the company. This continues even today and Visual Studio continues to be an extremely capable tool for software engineers. Over the past several years, Microsoft has improved their developer-focused collaboration tools to make geographically distributed project teams as efficient and effective as ever. And there is no end to Microsoft’s continued efforts to further improve the stack, development tools, collaboration platforms and computing environment.
I don’t know enough to say if there is a shift away from.NET alternatives but there is clearly a large and growing ecosystem of .NET based applications and products which I believe is aresult of the strong capabilities of the platform. As I look to my peers in the field, I see many newly startedcustom developed enterprise applications using the .NET platform. The alternatives, such as such as Java and LAMP continue to exist and remain strong. Some people are usingLAMP technologies for special and unique situations while they rely on .NET and Java for theirmainstream custom applications and software products. It’s also truethat many organizations who are on the Java platform started their application and product development efforts before .NET was introduced and/or had maturedinto the scalable platform it has become. Today, all three technology camps, Java, LAMP and .NET have become very comprehensive and powerful and, as a result,any one of them can be used to build very sophisticated applications. Java was the first on the scene and,therefore,has a very strong, well established market share. LAMP came into prominence because of the likes of Google/Yahoo/eBay/Facebook and others who needed quick-to-deploy scripting tools– a need to quickly evolve product features which was the corner stone of their business strategy during their early years. .NET easily gained marketshare in the enterprise where Microsoft was already a dominant player.
Seek out those who have picked other stacks and see if they’re experiencing issues that may be avoided had they chosen the .NET platform
Challenges in.NET The biggest challenge that I see for .NET is the added cost of running on the Windows server platform – the Windows Server operating system and SQL Server database licensing costs can add up quickly thus presenting you with a large cost of doing business. This presents anadded cost that Java and LAMP technologies do not require because of the availability of a wide range of ‘free’ operating systems and databases.. Other than this, we have seen sporadic challenges such as finding qualified developers, although such shortages tend to be geographic and shift over time.
The days of being focused on the technology stack is well behind us. Business considerations have taken center stage in determining the technology for application and product development. Most, established organizations do not have the advantage of being green-field and devoid of legacy systems when faced with deciding on a stack for their development. Except for startups, it’s extremely rare to find an organization that has never undertaken a custom development effort. It’s highly unlikely that any one technology will, by itself, present a strategic advantage.You will find two, and perhaps all three, stacks in most large organizations. The most important point to note is that your business isn’t going to scale up faster than any of these three tech stack that are on a rapid evolutionary path themselves!
Advice for Budding Entrepreneur
We have been well served by the .NET stack. In my previous roles, I found it to be the same. I’ve had the luxury of leading custom applications and product teams that used the .NET stack and I can categorically say that we never regretted building our products and applications on .NET although I suspect you’ll find others in roles similar to mine who will be equally satisfied with their choice in Java or LAMP. Earlier in my career, I led team with Java as the platform of choice but it was before .NET was introduced.
Unless you are trying to solve a very difficult computer science problem, for everyday business applications and products, using the .NET stack will be sufficient in meeting all needs. Chances are slim that you’ll stress the stack’s capabilities and find yourself regretting the choice. Microsoft’s .NET in particular has a very rich set of developer tools – Visual Studio comes in a variety of configurations that will meet the needs of an individual all the way through to teams in large enterprises. Their recent focus on improving the developer-collaboration capabilities has also resulted in superior products including optional plug-ins and extensions that will add unique capabilities not included in the core offerings. You will find a broad range of cloud providers who will host .NET applications and products which will give you many options in how and where you host your application or product. Their compute platform, including the abilityto configure high-availability and fail-over capabilities to improve the reliability of the run-time environment is also very mature and sophisticated. For large deployments, a rich set of system monitoring and control capabilities exist including revision control and deployment tools that manage the process by which patches and enhancements are rolled out..
Check with your peers and identify a few who have solved problems similar to yours. It’s very likely that several other CIOs/CTOs are building custom applications and products using .NET and are very satisfied. Seek out those who have picked other stacks and see if they’re experiencing issues that may be avoided had they chosen the .NET platform? Microsoft will also be glad to make introductions to solutions providers and other CIOs/CTOs who can help share their experiences so that you don’t need to feel like you’re making a decision in the dark.