How to display data from ksqlDB in UI? - ksqldb

How to display data from ksqlDB in UI?
I use Angular app, and I am wondering how to display real time data in web interface or mobile

ksqlDB has a Restful API you can talk to. However, it may be worth waiting for the upcoming 0.10 release as that will come with a new client API, which will be easier to work with from JS.

Related

Programming with swift backend and Angular 2 front. Is it possible?

I didn't find anything on Google saying about it.. so, is it possible?
i.e discard the XCode's Storyboard and use Angular 2 to make apps.
PS: Swift isn't discartable for me due frameworks and done backend code. I am using FFT algorythm from Swift's AudioKit Framework.
Angular2 can be used with any compliant web server written in any language. As long as it speaks HTTP correctly it doesn't matter what it's written in.
Angular2 is a front end JavaScript based technology. As long as you have a web viewer that can render HTML and has a standards compliant JavaScript runtime you can make it talk to your back end.
You can wrap it in an app store compatible package but it will still be a JavaScript app and will connect to your backend in the exact same way that it would if you targeted the browser. The difference is it'll be able to leverage certain device specific capabilities. You will communicate with your backend by sending JSON (any format can be used) back and forth.
The key point is that all communication will be in the form of serialized messages only.
Even if your backend were running on the same device, there's no shared memory space.
Of course since a mobile app can persist it's own state locally it might not need a backend at all. This last point is very domain specific.
It could be posibble if you use Vapor as your backend engine. Take a look at Vapor's website for more info.

React vs SignalR

I build web apps using ASP MVC and I am looking at using ReactJS. I have seen a few examples of React integrated into an ASP.NET MVC project and I don't really see the value over SignalR, which is what I use now for all real-time updates and communications.
I am hoping someone can go over the benefits of using React vs SignalR or even why I should be using React. Its popularity makes me think there is more to it that I'm just not seeing and I would hate to fall behind if it is more powerful and can help me do more.
Thank you for your responses!
React is used to build a single page apps or SPA, this will give you a desktop like UI, if you want it to be more interactive, then you can use it with SignalR to receive real time updates from the back end.
Facebook site alone is the idea of React, ex: responsive, no page refresh.
Integrating it with something like SignalR, adds the real time notifications about comments and posts
You should'nt compare apples and oranges.
React is a JS Library for building User Interfaces and SignalR is an abstraction, which will help you to send messages from server to client (also the other side).

BreezeJS with a Linux backend

I am working on a project where we have a very slim server (Linux, Nginx, Sqlite), but our web application shall not show any signs of shortcomings (should contain charts, dashboards, nice looking controls) – so I need the client to do all the heavy work.
I assume that BreezeJS would be good in this case, because it manages data on the client, in a way that reduces workload on the server. The server only sends the data to the client and at some point gets data back that has to be saved to the database. All caching and other stuff is managed on the client.
I assume AngularJS would also be good in this case, because it is a client-side MVC-framework, again reducing workload on the server. It also works seamlessly together with BreezeJS.
I assume Wijmo would also be good in this case, because it provides nice looking controls and also works seamlessly together with BreezeJS and AngularJS.
Are my assumptions right? Any comments?
My only concerns are how I get BreezeJS to “talk” with the Linux-server (Nginx, Sqlite). Are there any samples regarding this? Is anyone working on something similar?
We will be releasing a NodeJS/Express/Mongo example within the next few weeks that should show how to communicate with an arbitrary non-.NET backend. (also see the current 'Edmunds' example in the Breeze zip). But we don't have anything yet that explicity shows Breeze working with a Linux backend. Please vote for this here: Breeze User Voice

Meteor client subscribe to a third-party API

There are a few examples of using Meteor with, say, Twitter API. Typical approach is to insert new tweets into Meteor Collection in the server, then let clients subscribe to this collection.
However, writing to database is costly, time consuming and unnecessary if I just want to display the new tweets on client there's no need to store these tweets in my database.
Is it possible for Meteor client to listen to Twitter directly, or at least avoiding writing new tweets to Meteor server database?
Just talk to the Twitter REST API directly with Meteor.http.get or some other approach like jQuery's $.getJSON. You don't really need to build anything specifically with Meteor to talk with the Twitter API, but your app will obviously benefit from Meteor features like live templating if you do. Otherwise you'll have to patch things together yourself.

Communicating between Node.Js and ASP.NET MVC Application

I have an existing complex website built using ASP.NET MVC, including a database backend, data layer, as well as the Web UI layer. Rebuilding this website in another language is not a feasible option.
There are some UI elements on some views (client side) which would benefit from live interactivity, involving both push and pull, so rather than implement some kind of custom long polling or websocket server in asp.net, I am looking to leverage node.js for Windows, and Socket.io.
My problem is that I need two way communication between both applications. Each user should only be able to receive data once they are authorised on the ASP.NET website, so I first need communication for this. Secondly, once certain events occur on the ASP.NET website I want to immediately push this data to the Node server, to be broadcast to specific users or groups of users. Thirdly, I would like any data sent to the node.js server to be pushed to the ASP.NET website for processing, as this is where all our business logic lies. The sole reason for adding Node.js is to have the possibility to push data directly to the client, I do not want to build any business logic into it (or as little as possible).
I would like to know what the fastest method of two-way push communication is between Node.Js and ASP.NET. The only good option I'm aware of so far is to create a special listener on a specific port on the node.js server and connect to that, but I was wondering if there's a more elegant or more efficient method? I also know that you could use a database inbetween but surely this would need to be polled and would be less efficient? Both servers will be running on the same server under a Visual Studio project.
Many thanks for any help you can provide.
I'm not an ASP.NET expert, but I think there are multiple ways you can achieve this:
1) As you said, you could make Node listen on a specific port for data and then react based on the data received (TCP)
2) You can make POST requests to Node.js (HTTP) and also send an auth-key in the process to be extra-secure. Like on 1) Node would react to the data you send.
3) Use something like Redis for pub-sub, send messages from ASP.NET (pub) and get them on the Node.js part (sub). This is even better if you want to scale your app across multiple machines etc.
The only good option I'm aware of so far is to create a special
listener on a specific port on the node.js server and connect to that,
but I was wondering if there's a more elegant or more efficient
method?
You can try to look at redis pub/sub model where ASP.NET MVC application and node.js would communicate through separate channels in order to achieve full-duplex communication. Or you can also try to use CouchDB change nofitications.
I also know that you could use a database inbetween but surely this
would need to be polled and would be less efficient?
Former techniques do not require you to poll for changes, but instead they will notify you when the changes happens or channel message arrives.

Resources