Microsoft TechDays 2016 Talk about webdevelopment with AngularJs 2.0, SignalR and ASP.NET Core

Microsoft TechDays 2016

  • Tuesday
  • 01.03.2016
  • Microsoft Switzerland
  • Rating speaker: 4.64/5 & Content: 4.55/5

AngularJs 2.0, SignalR and ASP.NET Core

At the beginning of March I gave a talk at the Microsoft TechDays 2016 in Basel in the Trafo building.

The talk was about web development with AngularJS 2 and SignalR and ASP.NET Core. Unfortunately the ASP.NET Team renamed their framework right after I gave Microsoft the title for my talk. So this is why we have a "... ASP.NET 5" in the title. However this was not keeping the people from attending to my talk.

I was in a cinema with 275 places and the room was nearly full. Some people had to sit on the stairs beside the normal seats.

AngularJs 2.0

At the beginning of the talk I was talking about what Angular JS 1.x gave us developers in web development. I mean: It's a huge framework which provides so much good stuff to us which we as developers really love. Dependency Injection, Seperation of Concerns and Databinding just to mention a few of them. With this stuff web development just got a lot easier and faster.

When it was established a bit Google announced a new framework where they were going to build everything new from the ground up: Angular2. Every developer who just started to understand what promises are and how to deal with directives just was like "What???".

Well, it turned out that Angular2 of course keeps everything we knew from Angular1 and turned it a bit better.

One reason for creating a "new" framework is that web is evolving. And its evolving very fast. Every web developer will agree with the fact that staying up to date with the latest tools to work especially connected with Javascript is hard work to do. So the web evolves and so does the requirements of a user when they are using a website. It shall behave like a desktop application and the user does not want to see if its online or offline. It should work. Without popping "Can not connect" messages. And it should work on every device I have. If I am offline because of no network my information shall be sent in the background when the connection is established again.

Also the focus turned from normal web applications to more than that: With Javascript we can build X-Platform-Applications for nearly every device. So we as a developer need a framework which works with this new scope and which works on every device. Also on the important mobile part.

Angular2 is focussing a lot more into this mobile part than Angular1 did.

Fun Fact: Angular1 in its first thought was build for designers to seperate the view from everything else. Just to make sure they can build the view seperated from the developers for the backend. Every feature on top, I mentioned a few earlier, came afterwards.

Angular2 did also a lot for the performance. (Not only) For the same reason of the mobile stuff I just mentioned. But its also helping in the mobile part a lot.

One more important thing of Angular2 is its focus on modularity. We also know this from Angular1 regarding to directives. Directives were seperated functionalities made available behind an simple HTML-Tag but bringing everything with it what was needed: Template and the logic. This principle is boosted from Angular2 working with Components. So what we do: We seperate our application into small little peices and we are setting them together as we need them. Its smaller, its easier to develop and easier to test. Awesome!!!

With that Angular2 of course keeps all the principles of databinding, Seperation of Concerns, Depencendy Injection and so on. AND it supports Internet Explorer 9 !! :-)

SignalR

The second topic I tried to bring on the table for this talk was SignalR wich is, in my opinion, a must have for modern web applications. To make a long story short: SignalR brings the functionality to push events from the server to the client. So with this tool you can synchronise your web applications and give them live updates with the latest machine data, with the CPU temperature of your servers or whatever.

SignalR is no rocket science becuase it "only" combines several techniques under the hood to offer you this real-time experience. First it tries to establish a web socket connection. If this is not possible due to server or client, it tries Server Sent Events, Forever Frame and Long Polling right in that order.

But with SignalR you can also do a lot of stuff which may be confusing to the user: Think about reading an article and immediatelly after a new article is released you are pushing it to all clients which are currently reading another one. The layout changes and they will be surely be interrupted in reading. So having the possibility to send changes is great but we have to use it where it makes sense. So displaying something like "HEy, we have new information" can sometimes be more user-friendly than pushing something big to the user which is chanignthe layout significantly.

ASP.NET Core

At the end I rounded everything up with metnioning the new ASP.NET Core shortly, because Glenn COndron already had a great session to this topic only. However: Its a server side framework to build APIS we can talk to using Google's Angular-Framework.

Its very very fast!!!

And its cross-platform. So you can run it on linux and mac, which is great!

Before I started the talk Microsoft came to me and said that no matter what I do, I have to finish my talk in time because the cinema was used otherwise right after my talk and the guys needed time to prepare everything fr the upcoming event in there. And I really made it in time. It really fitted to the second.

So I ended it and I recevied great feedback. Thank you for everyone who was in that talk and gave feedback. I hope you enjoyed it as well as I did.

Many thanks to Microsoft for letting me give this talk. Thanks for having me.
Greetings
Fabian