Update dynamic content in Browser plugin - plugins

I have a requirement to create a browser plugin. It should be a cross-browser plugin. The look and feel is similar to, say, Ask toolbar. My browser plugin should be able to make calls (using Cisco call control). Internally we will handle that no issue in that. But what is required is that previously we developed website for handling calls, which used java applets to dynamically change the status {Example when there is an incoming call Answer button would get enabled}. Will I be able to achieve it in Browser plugin.
Can I be able to use browser plugin over applet?
Is there any replacement for Java applet in the browser plugin?
Please help me in making a dynamic browser plugin.
Update:
I am planning to go for Kango cross-browser extension Framework. I need to know if Kango or any other extension framework support a socket communication where it can listern for sever update.
Thanks.
Can I use WebSocket (supported in HTML5) in the browser Extension? I learned that WebSocket method could not communicate directly with ordinary server and it need some changes in the server as well.
Ref: Connect to standard socket using WebSocket
Is there any other way other than WebSocket ?
Is there any open source available for javascript library which uses flash player?
If it could be opensource it could be helpful.

Cross browser plugin can be developed using some extension development tools such as Cross Rider or kango . I feel that Cross rider provides good support.
If we are going for Java applet for socket communication, definitely we are ready to face some trouble. Better avoid Java applet.
Socket communication can be achieved in the Web browser using many ways. "Web Socket" is one of them. The only constrain in using it is that it is supported only in HTML5 supporting browser or browser version. IE give support to WebSocket from IE11 only.
Another way to go is using Socket.io . It is having a good way of achieving it by using the available techniques in the client browser. For Example, if the client browser do not have a Flash player (Flash supports socket communication), it uses WebSocket or it "fallback" to available technique supported in browser.
Even node.js is a light weight technique.
The challenge here is we could not communicate with server which support socket with a "websocket" client. We need a proxy, Ref: Connect to standard socket using WebSocket
Hope this should help who need some start on Web Socket communication. If anyone want to add to this I would be very happy.

Related

How to implement XMPP communication in Nativescript?

Is there any limitation in using a library like stanza.io for communication with an XMPP server like MongooseIM in Nativescript? What other alternatives are there?
If stanza.io supports NativeScript then there should not be any limitations.
On their GitHub main pager they say it's a Modern XMPP in the browser, with a JSON API. So it's mainly for browser env and I'm not sure about NativeScript.
As an alternative way - there is a xmpp.js lib which supports NativeScript. Their doc is a little bit shitty, but using src code there is a way to integrate successfully it.
There is a guide on how to use it for ReactNative, but you can some part from it for NativeScript, especially these part that are connected to the lib itself.
https://medium.com/#connectycube/xmpp-real-time-chat-in-react-native-8d6d5d23dd47
Also you can use some ready XMPP high level platforms for Chat, e.g. https://connectycube.com/2018/12/11/connectycube-textchat-code-sample-for-nativescript/
In this case you do not need to carte about XMPP server installation and monitoring
You will have to find a third party server or host your own one that implements XMPP protocols and connect to same using Websockets or XMPP plugin from your {N} application.
FYI, This XMPP plugin implements the same pod library explained in the MongooseIM docs, but the JavaScript apis are not fully implemented so you might have to access the native apis directly as needed.
You may also refer nativescript-xmpp-client, another exampel for XMPP implementation.

GWT and WebSocket / Push data from server to GWT client

Is there any good library which supports WebSockets and is compatible with GWT? Ideally, the library would support WebSockets as well as a fallback for browsers which don't support WebSocket, e.g. a comet-like approach or polling.
I'm currently using GWT-Comet to push data from my server to my GWT web application. However, this library is a bit broken in some aspects and it seems it's not maintained actively anymore. Thus, I'm searching for an alternative.
I found Atmosphere, which suits the needs stated in the question pretty good. It supports GWT, and also Websockets. Also, it supports many different application Servers, like Tomcat and Jetty.

Is it possible to host a GWT-compiled web application in NodeJS?

Is it possible to host a GWT-compiled web application in NodeJS?
I like NodeJS however there are lots of work already made with GWT for my projects.
Cheers.
On the client side, as #riley-lark said.
You can also use GWT code on the server-side on NodeJS; see https://github.com/cretz/gwt-node and http://code.google.com/p/gwt-exporter/
Yes. GWT is a client-side technology and does not need to interact with your server at all. It is possible to send arbitrary requests to any server and process the feedback.
You won't be able to use GWT-RPC or RequestFactory.

How to create a simple browser-based IRC client?

I want to implement a chat service on my site, and wonder how to create a simple browser-based IRC client from scratch?
I have a linux box and can install whatever I want on it. Google finds tutors on how to setup an IRC server but no instructions on how to create an IRC client.
(As client languages, I can use JavaScript or Flash.)
As you are already familiar with JavaScript, I would recommend a combination of Node.js, Now.js and node-irc.
Node.js is an application that enables you to run JavaScript server-side and to develop web-applications very fast.
Now.js is a library for Node.js that enables you to RPC between client and server. You can just call a function on the server from your client application and vice-versa; their developers guide is in fact a web chat ;)
node-irc is also a library for node.js that enables you to easily create an IRC client.
Combine these three and you get a very nice, very easy self-coded web chat. For the browser interface, there are many possibilities, including application frameworks like ExtJS, JQueryUI, KendoUI or something easier.
http://www.lightirc.com/
http://wdmedia.org/WFIC/index-en.html#sectiondescription

Is there a good HttpClient library for J2ME/MIDP?

I want to call some RESTful web services from a J2ME client running on a MIDP enabled mobile device. I read the MIDP api for HTTPConnections and thought this is just crying out for a simple wrapper to hide all those unpleasant byte arrays and such like. Before I write my own I wondered whether there was a good open source library already available.
-FE-
You might want to check out this little gem, Mobile Ajax for Java ME:
https://meapplicationdevelopers.java.net/mobileajax.html
One part is (from the site):
Asynchronous I/O for Java ME
This library provides the equivalent
of XmlHttpRequest for Java ME with
some additional functionality useful
for invoking RESTful web services.
It is layered on top of the
com.sun.me.web.path library. Features
include -
* Asynchronous versions of HTTP Get and Post
* HTTP Basic Authentication
* Multipart MIME (sender only)
* Progress listeners
LWUIT 1.5 now includes classes for accessing REST, using OAuth2, JSON, etc.
I don't know of any such library, but found some succinct examples of accessing various RESTful web services
We ended up writing our own simple wrapper api for a variety of reasons not the least of which was the fact that the Sony Ericsson K750 that we were developing for had a weird bug (that SE refused to fix) where if you tried to get/use a connection when the device was off network, more than about 20 times, the internal connection pool would get hosed and never recover unless you restarted the app.