A Thorough Example
We are about to embark on a journey. I, along with your help, will endeavor to create a complete website example using the trends I listed in my last post. Too many of the examples and tutorials that are available are extremely superficial and I intend to be quite the opposite. To refresh, let’s look at the 6 trends I listed:
- ECMA Script 2015
- Angular 2
- React
- Flux
- ASP.Net Core 1.0
- Project Rider
Not for the faint of heart
This tutorial is going to be intended for intermediate to advanced users of C# and JavaScript. I am assuming the following:
- You know how to use Visual Studio
- You are familiar with Asp.Net MVC
- You can at least write a jQuery app in JavaScript
If you do not meet my assumptions then please by all means continue reading. I hope that you can follow along and I will be glad to answer any questions. I simply want to let you know that I might move faster than you would prefer.
Integrated Development Environment
Project Rider is unfortunately still not available for general use. I hope that the Early Access Program for Rider will open soon, but until then we will have to use Visual Studio Community Edition. If you don’t already have a version of Visual Studio head over to visualstudio.com and download the community edition. Community edition is the same as professional edition but free for educational and/or any purpose that earns below a million dollars a year. When project rider becomes avail able I will see what I can do to switch to that IDE but for now Visual Studio is going to be the main IDE.
Project type
We will be working with an Asp.Net Core 1.0 project, currently referred to as Asp.Net 5 templates in Visual Studio. We will be using C# 6 and all of the goodies that come with it. In the next post I will create the project and start working on boiler plate that is needed for whatever we decide to make.
JavaScript libraries
While I mentioned jQuery in my list of assumptions, I don’t intend to use it. I believe that jQuery has run it’s course and is no longer needed for modern web apps. Instead we will make what we need for ajax requests and will use libraries like Q for promises and deferreds. We will be using Angular 2 and React, I am expecting to write a page or two in Angular and then either copy those pages using react, or create similarly functioning pages using react. We will use a bunch of server side JavaScript libraries for transpiling our ES2015 into ES5 and running unit tests.
Oh, did I forget to mention Unit Tests
That’s right, we will be vigorously unit testing everything in this project. I don’t write code without unit tests at work and I won’t do it here either. We will use Mocha and Chai for JavaScript unit testing. We will use MSTest for C# unit testing. I will cover my method and show you how I do unit testing.
But what are we going to make?
Truth of the matter is I have no idea what we are going to make. I will think about it during the course of this week and if you have any ideas let me know. We technically have a few weeks before it will matter so until then I am accepting ideas.
That’s all folks
That’s it for today’s post. Next time we will create a project and talk about the Asp.Net Core project structure and show how it is different from what you might be used to.
Clayton has been programming professionally since 2005 doing mostly web development with an emphasis on JavaScript and C#. He has a focus Software Craftsmanship and is a signatory of both the Agile Manifesto and the Software Craftsmanship manifesto. He believes that through short iterations and the careful gathering of requirements that we can deliver the highest quality and the most value in the shortest time. He enjoys learning and encouraging other to continuously improve themselves.