Nancy or ASP.NET Core?

Last Updated: 2017-01-16

I am thinking about choosing between NancyFx and ASP.NET Core for backend for hybrid Mobile app like Ionic+Angular or OnsenUI+Angular.

Pre-reasoning:

  • I want the backend to run on Windows and the language to be C#, so my colleagues will be happy.
  • The backend should be a REST server, since it works great with Angular.
  • I am already happy about AngularJS, so there I don’t want to make choices.

A little pros and cons test would be good to start with

REST server

The verdict:

I think my colleagues will prefer ASP.NET Core, so were it not for them I would have chosen Nancy.

Hybrid Mobile Frontend

F7 and Famo.us could have been evaluated, but I got a quick impression that they don’t have to be evaluated.

The verdict:

Well I haven only skimmed Onsen a little and so far it does not look superior to Ionic, so I’ll stick with Ionic as I know a little.

IWA samples can be taken from WinJS.

MVC serverside Frontend

The Hybrid Mobile frontend takes initially too much time to learn. So instead I’ll start out with an MVC serverside frontend having AngularJS as clientside MVC.

As with the REST server I’ll choose between Nancy, ASP.NET Core or ASP.NET 4.x.

Since I chose ASP.NET 4.x as REST server I’ll also choose ASP.NET 4.x as MVC server. It is also included in the Web API template, so it is ready for use (e.g. in the Home controller).

So the challenge is to add Angular to ASP.NET 4.x MVC.

HowTo add AngularJS to:

Angular templates:

Angular Tutorials:

Authentication

I need some access control. Who should be Identity provider?
This section is quite a mess, but after circling around a bit It seems like we should use an internal ADFS indentity provider, that supplies JWT tokens. Link futher down.

Integrated Windows Authentication (IWA) will only be possible on devises having logged onto the internal network via WiFi. Our company phones are such devices, so if I can find client IWA samples, then that can be an option.

We also have a company CBA provider, but then it is more trouble to code the REST service, since there has to be registered some trust between the two.

Perhaps instead the service should provide its own userbase, logon and authentication instead.

Other External providers

The End

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: