Brian Noyes' Blog

Software Development Ramblings

I give a number of talks on IdentityServer, including ones focused just on SPA Clients, desktop/native clients, MVC clients and APIs. Not long ago I put together a solution that shows Angular clients and MVC clients, both accessing a Web API and using IdentityServer4 as the STS for single sign on (SSO). The last time I presented this ASP.NET Core 1.1 was the latest Core version of ASP.NET. I've also got a Pluralsight course I am working on titled "Securing Angular Apps with OpenID Connect and OAuth2" that should be out in early December - so…

I'm honored to once again be speaking at DEVIntersection Europe this year with my colleague Michele Leroux Bustamante and a huge cast of top speakers from 14-16 Nov in Haarlem, Netherlands. I'm always happy to have an excuse to travel to the Netherlands, such a cool country and great people. If you haven't already given consideration to attending and you can convince your boss, this will be a great show and an excellent opportunity to learn about the latest and greatest technologies from top experts worldwide. I hope to see you there!…

When I completed my Aurelia Fundamentals course on Pluralsight, it was May 2016 and Aurelia had just released beta 1. I had started the course over 6 months before that, and the framework had evolved a lot. And since the course came out, Aurelia 1.0 released and there have been a couple of minor updates since then. At the point where Aurelia 1.0 released, a number of things had changed since I first got started with the course. So I knew it was time to go do an end to end pass on the course to bring it…

Using Application Resources with Windows Forms Hosted WPF Views A viewer of my Pluralsight Course WPF Data Binding In Depth asked an interesting question about WPF views hosted in a Windows Forms app that was a challenge I solved in the past but never blogged about, so figured I'd put it out there here for posterity for anyone who is still migrating to WPF or living in a hybrid WPF/Windows Forms world, and for a more public answer than just posting it to the Pluralsight discussion forum for the course. To paraphrase, the question was: I am using WPF…

On Tuesday night I gave a talk on Cordova and the Visual Studio Tools for Apache Cordova (VS TACO) as well as the Cordova extension for VS Code. I covered some of the high level architect perspective on Cordova as a mobile platform, then dove into demonstrating the different tool chains enabled by the VS Cordova tools. Slides can be downloaded here. Demos can be downloaded here. Enjoy!…

Getting Started In this post I want to give you a quick intro to building SPAs with Aurelia, which will hopefully whet your appetite to dive deeper, which my course Aurelia Fundamentals on Pluralsight will help you do. The Aurelia team has a lot of good getting started materials out there in the docs, but I thought I would give you my spin on getting started with Aurelia from my perspective. I'm going to use ES2015/ES2016 for this post because that is what I used throughout my Pluralsight course Aurelia Fundamentals and I think it is a little easier…

If you are someone who: Has been using Visual Studio 2015 Working with fairly large projects containing Angular JS code Has been having crashes or low memory warnings when working in VS on that code There is good news - the cause of the last bullet has been identified and a fix is on the way in the next update to Visual Studio 2015. And there is a pretty easy workaround to eradicate the problem until then. I've been working on a number of projects since the Fall 2015 that are all central around various SPA technologies including Aurelia, Angular,…

This morning I gave a talk at NOVA Code Camp covering building hybrid mobile apps with Cordova, Visual Studio Tools for Apache Cordova (aka VS TACO), as well as Visual Studio Code Cordova extensions, Cordova CLI, and Ionic. Needless to say it was a lot to pack into a 75 minute session. I spent most of my time talking about the big picture concepts surrounding Cordova mobile apps, use of Ionic vs other approaches, and demoing the many different combinations of tools you can choose to be productive with Cordova. In particular, I think at this point in time, VS…

I've been working with Cordova a lot lately and have been loving both Visual Studio Tools for Apache Cordova (VS TACO) and TACO CLI. One of the challenging parts for me had been that for the code that works with device capabilities that won't work in Ripple in the browser (i.e. camera, InAppBrowser), I need to run in an emulator. And if you haven't tried it yet, the VS Android Emulator is orders of magnitude better than the official Android SDK emulator (oh the irony). Way way way faster startup time overall, and faster deployment and debugging. The only…

Well, I finally got tired of having a blog engine that I could not easily customize myself (Wordpress) and having to pay someone to deal with the themes and plugins and PHP craziness of that platform for me. So I am now on Ghost, and liking what I see so far. Still have some work to do to get it fully the way I want it, but already liking the pure HTML/CSS/JavaScript nature of it... an arena I am completely comfortable with these days. Now I just need to blog more to take advantage of it... how many…

Had a great couple of days here in Amsterdam speaking at DEVIntersection Europe. Great venue and a great crowd of attendees. For those of you who attended my talks – Thanks! Anyone who is interested in the content can grab the slides and demos below. Rich Data Services with ASP.NET Web API Slides Demos Build Maintainable and Extensible WPF Applications with Prism Slides Demos WPF Data Binding in Depth Slides Demos Enjoy!…

Back in the spring we announced that the Prism framework had gone open source and that Brian Lagunas and myself would be the primary owners of the framework moving forward. We also joined the .NET Foundation, and they have been awesome at helping us quickly mature into a fully functioning open source project team. Now we have an official logo for the project that you will see us using moving forward on the project. Behold! LogoWithTextMWhite" title="Prism_Logo_WithText_M_White" /> We have been working hard on getting an initial release out since turning full OSS, which we are…

In my Pluralsight Course WPF MVVM In Depth I cover all the fundamentals of the MVVM pattern and show how to handle a wide range of scenarios, including hierarchical MVVM – when you have a nested hierarchy of View/ViewModel pairs containing child Views/ViewModels to form a composite view for the user. In those cases, there is usually explicit knowledge in the parent ViewModel of the child ViewModel(s) so that the parent VM can have a supervisory relationship with its children. I cover that setup in my course and show how the child Views can be rendered based on…

So I finally sliced off some time this 4th of July weekend to do the initial migration of Prism for Windows Runtime to Prism 6 for UWP. Most things came over without any difficulty. If you are not familiar with the core functionality that Prism for Windows Runtime provided, here it is in a nutshell: MVVM supportthrough an Application base class, Page base c;lass, and ViewModel base class that let you implement the MVVM pattern while still letting your UI logic (that should mostly live in your ViewModels and client side services) manage everything ViewModelLocator for connecting views…

Tuesday night I gave a talk at our Caparea.net user group on Windows 10 UWP development. Had a good crowd and a lot of good questions. Wanted to share my slide deck here in case anyone wants it for reference. Slides Demos were mostly from the platform SDK samples found here: https:// github.com/Microsoft/Windows-universal-samples And my one converted 8.1 app I showed you can grab here. Enjoy!…

I had fun today speaking at the Northern Virginia (NOVA) Code Camp at the Microsoft Reston offices. I gave the keynote and a session on Securing Angular Apps. Wanted to share the slides and demos for those who would like to take a look. Mobile+Cloud Keynote Slides Securing Angular Apps Slides Securing Angular Apps Demos Enjoy!…

One question that often pops up as people start digging into using the MVVM pattern is: “How do I use PasswordBox with MVVM?” The basis for this question is usually that they tried, but quickly discovered that the Password property on PasswordBox is not a DependencyProperty, therefore it cannot be the target of a Binding, and therefore there is no straightforward way of reading and writing the value through a binding to a property in your ViewModel. So the first thing you have to ask yourself before you pursue an MVVM-compatible solution is: Am I using PasswordBox just to get…

I put together a short video to supplement my Pluralsight course Building Windows Store Business Apps with Prism because a new release of Prism for Windows Runtime has come out since I created the course and there are some minor differences in where the different classes live within the assemblies and some of the MvvmAppBase virtual method signatures. You can download or view that video here. The video walks through creating a HelloWorld app with Prism for Windows Runtime 2.0, including setting up your application class, your first view and view model, using the ViewModelLocator to tie them together,…

Had a great week last week speaking at DevIntersection. Really fun conference that you ought to check out if you have not already. For those that attended… thanks! For them and anyone else who wants to check out my slides and demos from my sessions, here you go: Building Azure Mobile Services with ASP.NET Web API[Slides](https://dl.dropboxusercontent.com/u/7366831/downloads/Conferences/DevIntersection/Noyes_Azure_Mobile_Services_With_ASPNET.pdf)[Demos](https://dl.dropboxusercontent.com/u/7366831/downloads/Conferences/DevIntersection/DevIntFall2014_AzureMobileServices_Demos.zip)Building Rich Data Web APIs with ASP.NET OData[Slides](https://dl.…