Clients have asked me several questions on choosing .NET framework against Open Source alternative such as Java Enterprise Edition (J2EE) Based development. While we do development on both technologies, the ones who gravitate towards .NET eventually had these reasons to select .NET framework…
Q 1: When do you use .NET framework?
The usual suspects about using .NET Framework And I had these to offer as a comparative.
- .NET Framework is heavily invested by one of the world’s richest organizations
- Skill base development in .NET is deliberate, schools of training exist, but unlike in Java, the framework is pretty much the same against hoards of optional frameworks as it is with Java
- MSDN library is well maintained and MVP’s are avialable with enough recognition to address challenging product development issues
- Highly scalable robust and far more secure in its code base protection against the Open Source coding languages which at times need code obfuscation
- Backward compatibility apart, has full service coverage of everything that technology has to offer towards software product development
- Is the only framework which comes with Software Development Kits and Methodologies of Microsoft, thus enabling the eons of challenge with ‘Getting the Product Right’ at one go.
- Built for security as in Proprietary code level security, cannot be replaced for its compilation levels except when doing programming based on C or C++
- Is not reliant on community for updates and version upkeeps
- Brings systemic approach towards software architecture and applies to various Enterprise Architecture Schools and Support Systems Integration, Cross Platform Development and Mobile, Cloud Computing through the Azure Cloud Platforms
- Enough said already?!
There are some crucial advantages towards using .NET framework while building products, against just application development.
As in product development, the objective of what the product must do has a clear vision and at time scope with about 90% clarity, we are able to create a backlog of product development task lists, go about executing modular sprint of development.
The usual approach is to build the architecture that supports the product needs. This is rendered as a Proof of Concept demonstrating scalable, secure and cross platform reach of .NET Framework Stack’s available foundation layers.
The framework allows for variations of Architecture to be developed, including and not limited to 3-tier MVC type frameworks and more composite Service Oriented Architecture types having n-tiers.
The modular development and open appreciation for supporting any and all forms of architecture styles whilst all along supporting multiple platforms makes .NET Framework a well rounded software development kit.
Q 3: Isn’t there a platform dependency with .NET?
Yes, is it that bad? no. Microsoft Servers are among the most respected servers in the world today and will possibly remain so for considerable amount time.
Java platforms were developed by Sun Microsystems and eventually they went broke, later Oracle acquired them causing a lot of concern about Java remaining free and open source in the long run.
At least with Microsoft, which is still very cash rich, consistently acquiring big names like Nokia, we can depend on their service platforms to remain available with varying degree of stability from version to version and enhancements after one or two bad version releases.
Q 4: Will I/we be forced to use only Microsoft Products if my Product was made in .NET Framework?
No, not really and who says such things anyway? I mean, when did a programming language insist that they will not support any other platform or technology except for Microsoft or iOS clearly stating an aversion to use of technology from Adobe, yes, they do not like Flash for a good many reasons and have provided independent alternatives in the form of ‘foundations’ that help cover wide variety of programming languages and delivery on different browsers.
HTML 5 is or was not supported by many browsers initially, gradually it gained acceptance in many other browsers.
If you are to build a product using .NET Framework, you can actually make it portable with iOS, Linux platforms as long as you know what you are building and can architect such solutions. It is a matter of capability than the framework limitation.
Q 5: If so, What Makes .NET Framework so Cool?
Three of Four things really.
.NET Framework contains the .NET stack comprising of libraries of coding friendly tools and components that make your product what they to be, provided you use them correctly.
Then there is the Foundations known as Windows Presentation Foundation, Windows Workflow Foundation and Windows Communication Foundation.
Each provide a very powerful array of capabilities that makes it feasible to build rich applications that can work on any platform including Mobile, support any computing such as Azure Cloud computing and support workflow based development that are both Sequential and State based in a rapid fashion, whilst the Communication Foundation is more than a general communication layer, it can easily connect and play with any database, thus allowing you to build products that support any kind of presentation layers, rapidly assembling and flexible business layers and connectivity to all kinds of databases.
This is the true power of .NET Framework.
Q 6: Well, what else about .NET Framework?
Solutions, Products, Integration Middleware components, Multi platform, Multi Technology, Thin Client, Enterprise Class Developments are all supported under some simple development studio known as the Visual Studio, this comes with everything you need to build desktop based, mobile based and browser based applications.
Supports extreme programming (xp), rapid development frameworks and can be used to build apps for a very low cost at very short span of time.
This contradicts the usual impression of building business class applications using .net, however, it is all about the expertise and capability to truly understand, benefit from such understanding to remain cost effective and efficient in your product build up.
What is the Next Step?
We are here, we can help. We have been delivering application development, product development and maintenance services since the late 1990’s, the least experienced member of team has about 4 years to their coding experience and we are Microsoft Partners.The next step is in deciding what you need done for product development and at what cost, time framework. Let us get started.