Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
xp
Contributor II
Contributor II

Newbie: .NET SDK, what for?

First, please pardon my naivete.  I'm just trying to figure things out. 

I work with a team of .NET developers and we were thinking that we would be able to leverage our .NET ASP.NET MVC experience in building out a custom web site that incorporates Qlik Sense visualizations. 

From what I'm seeing, if we wanted to build out a fully custom website with embedded visualizations (charts, sheets, etc), our options are

1. HTML/Angular 
2. ASP.NET MVC / Angular

It looks as if there's no real advantage to going the .NET route as we'd have to use angular / javascript to interact with QS visualizations anyway.

Maybe I'm just misunderstanding everything.  

Can anybody tell me what the advantage is of building out a web-site in .NET and what I might be using the .NET SDK for? Again, I'm really new to all of this so, be gentle. :).  Thanks! 

 

Labels (1)
5 Replies
Øystein_Kolsrud
Employee
Employee

The .Net SDK is used for interacting with the Qlik Sense engine. The engine knows a lot about filtering, selection and data extraction, but nothing about rendering and visualizations. It sounds to me like you are mostly looking for the latter part, and that is all Javascript built into the Qlik Sense client. So in short: These are not the APIs you're looking for. Move along! Move along! 🙂

xp
Contributor II
Contributor II
Author

>> These are not the APIs you're looking for. Move along! Move along! 🙂 << 

LOL! Thanks for the reply and the info Obi! 

xp
Contributor II
Contributor II
Author

So, if you don't mind my asking, what is the point of having all of the visualization classes exposed via the .NET SDK? 

https://help.qlik.com/en-US/sense-developer/2.0/APIs/net+sdk/html/N_Qlik_Engine.htm#!

-- x

Øystein_Kolsrud
Employee
Employee

That's a very good question! The full story behind that will require a deep dig in the history of Qlik Sense, but the short answer is that it was an attempt to provide a typed layer in C# that would allow you to access and manipulate the data structures used by the Qlik Sense client in a type safe environment.

But in the end, the client chose to use app migration as the solution for forward compatibility of client objects. This is great for the developers, as it eliminates the need to support backwards compatibility in the data structures used to describe the client objects, but it makes it impossible to guarantee backwards compatibility when you interact with those structures programmatically. If you for instance write a program that updates the title of a bar chart (could be done through the "Title" property found here: https://help.qlik.com/en-US/sense-developer/February2019/apis/net+sdk/html/Properties_T_Qlik_Sense_C...), then there is no guarantee that the same code will work if you upgrade to a new Qlik Sense version.

So in short: The client data structures are not considered part of the official Qlik Sense API, an all those classes in the .Net SDK that provide access to them are probably going to be deprecated and removed in the future.

xp
Contributor II
Contributor II
Author

Thank you so much for the detailed answer. That clarifies it for me and definitely helps me in determining a direction for our development. 

I think for our needs, I might recommend using .NET as our "outer layer" of the Web Site which will allow us to take advantage of rapid development for things like navigation, binding and what not that are not strictly QS objects. For QS (contained within our site), I will recommend angular JS.  If we need any interaction with the QS objects/API, we can do so using Javascript. 

Thanks again for your help.