The constant change in technology for web development is a challenge. New approaches and innovations have affected everyone and now Microsoft is hoping to entice the marketplace with their newest .Net framework, Asp.Net.
Asp.Net has been around for 14 years and the framework has gone through many changes which finally evolved into Asp.Net Core 1.0.
Asp.Net Core 1.0 is a completely new framework and in no way related to Asp.Net 4.6. It is a side-by-side project that exists very well along with everything else. Although it is an offspring of the current Asp.Net 4.6, it’s a great deal smaller and is composed of standard units.
There are many people who believe that Asp.Net 1.0 is the same as Asp.Net 4.6, but that’s not the case. They are actually referring to MVC6 which is a completely separate framework that can be plugged into Asp.Net but is not necessary. Asp.Net Core 1.0 is a major change to the Asp.Net scene. This shouldn’t be particularly surprising as Asp.Net Core 1.0 is quite important to Microsoft and is critical to the future of .Net.
Asp.Net Core 1.0 is an open source and cross-platform. Microsoft has invested a great deal of money and a lot of work in making the cross-platform portable. The alternative to Mono is the new CoreCLR which means you can develop, build, and run on an Asp.Net Core 1.0 application on either CoreCLR or Mono for Mac, Windows, and Linux. Instead of PowerShell, Microsoft is integrating Node.js which can be used for both post and pre-built actions with Grunt or Gulp.
Part of the new development is Visual Studio. Originally this format was only available for Windows. Microsoft has created a good IDE with Visual Studio Code for everyone. While there are many other changes, Microsoft is dead set on going open source and cross platform. All the amazing changes are not just great, but critical for the long-term success of Asp.Net.
There are many wondering why they are taking a new direction toward the Mac and Linux community. Why is Microsoft investing money to attract non-Windows developers? Visual Studio Code does not cost them anything and it’s highly unlikely they will use MS SQL Server in their projects. The web applications will probably end up on Linux box in Amazon Web Services and/or Google Cloud Platform.
For an Asp.Net developer who cannot be monetized, is better off than a developer not using Asp.Net. As the .Net community is shrinking, Microsoft is concerned about losing .Net developers. They will lose those people who are more than willing to purchase other Microsoft products such as MS SQL Server or Azure.
Windows Desktop development is on its way out, leaving the mobile market and the web. Windows phones and tablets are a very small part of the market in comparison to iOS and Android. Asp.Net is the only Microsoft product that can compete with other technologies such as Ruby, Python, Java, etc. Up until now, Asp.Net, developers could only develop web applications using Windows.
Web developers write applications that are understood by any browser, OS, and devices that connect to the internet. With Asp.Net developers can only perform their tasks from a Windows computer. This leads to the biggest problem for Asp.Net. Both .Net framework and Asp.Net are not cross platform compatible.
This limitation will have an impact on the acceptance of Asp.Net on many levels. At this time, there is a critical shortage of good software developers. Recruiting new talent is becoming very difficult to achieve. It’s twice as hard if you limit your talent to only Windows users. Not only is this a waste of time and resources for recruiting, they will pay higher salaries for developers. After all, it’s supply and demand.
It’s also very difficult for companies committed to .Net to change directions in midstream. Many of today’s large internet businesses started off small and use free open source technologies such as Ruby, PHP, Java, Node.js, and Python. This has caused a negative effect for Microsoft because they missed the opportunity to sell Asp.Net and sent out the message that if you want a successful business, you choose an open stack over proprietary software.
Even though Asp.Net is one of the fastest and best technologies out there, startup businesses are not showing an interest. As these companies grow, they will probably give it a shot somewhere down the road. If it doesn’t go well, they will be glad they didn’t pay Microsoft for a license.
Another problem with not being cross platform compatible, developers are missing out on innovations that are not available on the Windows platform. Microsoft has been going after many innovations by offering their own versions for .Net but not with great success. Such as Silverlight, AppFabric Cache, and DocumentDb.
Asp.Net Core 1.0:
Asp.Net Core 1.0 is built on the same principles that have helped other languages in popularity:
- Free and open source
- Cross platform compatible
- Easy access
- Fast, thin, modular, and extensible
All anyone can hope for, Microsoft will not jump the gun and release a product before it’s ready, as they have been known to do. Once launched, time will tell if this is going to be a good turning point for Microsoft or not.