29. May 2016
ASP NET Core
Intro to ASP.NET Core
ASP.NET is almost 15 years old - with it's initial release in January 2002 according to Wikipedia.
ASP.NET core is branded as a redesign of ASP.NET, with 6 major features:
- Built on .NET Core, it runs cross-platform
- It is open-sourced on Github
- It's packaged in more modular components (no longer based on System.Web.dll)
- New Middleware concept to construct your request pipelines
- Easier configuration using JSON files
- Highly increased performance
The naming madness
As we all know Microsoft was never really good at naming things and ASP.NET Core had to suffer from this as well.
So it had beautiful names like: ASP.NET 5, ASP.NET vNext and Project K.
All this naming confusion was stopped and can be read in Scott Hanselman's blog post here
ASP Net Core - The changes
No more System.Web.dll - the dll that occupies 2.6Mb and had to be loaded on each page request is no longer needed.
This leads to great RPS increase. 2300% more requests served per second.
I think this could be achieved mainly because of the modularity of the packages that you include in your project. But of course this leads to an overhead of knowing exactly what you need on a finer level when developing.
Age of Ascent - 50 000 players in the same battle
Thanks to Illyriad we have a proof of concept of the potential of the platform, check more about this project here
Prefix is a cool tool for monitoring what happens at a server side level with your Web Application, and much more.
And the really nice thing is that for now it's free.
While there are tools out there for profiling applications, like the simplest method of doing it is in your browser by pressing F12, or using another cool tool called Fiddler... but this will only give you a client side view of what is happening.
The cool thing about Prefix is that it will show you what is happening Server side, showing you things like:
- call stacks for errors
- type of requests
- profile Entity Framework generated SQL
- how different components including framework components are initialized
- duration of code execution
- ..and much more
All of this aside, what made me use it at least for now, but I think I'll keep it in my arsenal is the really nice Web Interface.
How to set up
You just download the installer from here
, after install you will have it available at http://localhost:2012/.
For me the profiler only worked after PC restart.
If you want more in depth info about prefix check out this blog post
, or watch this presentation on Prefix on youtube:
The jack of all trades
Are you a developer who only has to do development work?
So you only code, you don't have to deal with clarifying specifications or even extending them to a perceivable level?
You don't have to manual test for regression bugs because automated test don't exist? And investigate deployment errors, and why those update scripts failed to run?
Article of the week
The article I want to present this week is written by Jeff Knupp, and I think it's 100% accurate of where a lot of software development is going right now, check it out here
Why is this cool
Well, this is just sort of a preview version at the time I am writing this. From what I've read a lot of development and bug fixing is still necessary.
But.. once it's all put together and works, you could probably do all your Linux development on WIndows 10. That would also mean IDE's like Visual Studio might get integration for programming languages like Ruby, Python (not Iron Python), etc.. This way you could run bash scripts to compile / run a Linux Web server on Windows / deploy Linux specific code directly from Windows, without the need for a separate Linux VM.
What you can use
-apt-get install - to install new stuff
-vim - edit files with VI - this was already possible with MinGW-64
-grep - for search
-sed - to transform and parse text
-awk - used for text processing
And of course standard commands like ls, touch, make etc. that where already enabled by MinGW-64.
Article of the week
Rich Turner's video presentation on this to learn more here