Chat Application Web Client - java

I am currently working on a Client - Server Chat Application written in Kotlin. The Communication is over Sockets. Now i want to code a Web Application for the Client. Right now I am not sure where to start and what Programming Language to use or which frameworks. I've tested a few frameworks like vaadin and jsf but i can't figure out what to use. And the Application should have a Login screen and a Main Page like the Whatsapp web client. I have decent Experience in Java/Kotlin and JavaFX/TornadoFX.

Try ConnectyCube. They provide server backend and have Kotlin SDK, should fit your needs. Its possible to create free account for small apps.

Related

Is it possible to use Python backend and a Android/Native application as Front end

I am handling my second year project which includes some machine learning backend along with a Mobile application front end.In simple terms i am creating
a androing/react native application which would take an input from the user and prosses in a backend development which includes python for some machine learning.
My question is, is it possible to connect these 2 together. I have gone through some stuff altho i am not very clear on how to create a connection on this.
Also some opinions on either i should go with android or react native or any other language to go on python or not would be very useful.
Thank you
Yes, it is possible.
For example, you can use Python as backend (server), with some exposed HTTP "interface", then make an Android application that communicates with these Python backend with HTTP request / response.
Or, if you are making a serverless application, you can make this Python backend as a .so library or using SL4A then call them in your Android application.
Yes. you can develop a python web service (REST OR SOAP) and use this for the backend for your application.
also, if you develop a service application (server-client) you must develop a service with python (or any languages) in your server after that connect your mobile application (reactjs, android studio, swift, ...) to this server.

Developing app with web and Android client with Java

I'm going to start developing a new simple "X management" kind app, like contact management or events management. What I want to know is which tools would be the best to achieve it in the way I want.
My app needs to be a web app running on a server that has a mysql database to save and retrieve some simple information. This app must have a web client but I want it to be able to be extended to work with an Android app client.
Things I've thought:
I've worked on Java with facelets and JPA travels management app running on a GlassFish server on localhost with a JSF web view, so maybe my web client and the full app could be done with this.
I've worked with web services such as SOAP and REST with Jaxb and xml schemes to retrieve information parsing some webs into xml or json to show on a client .net app. So I've thought I can add to my app, like last topic we talked about, a REST web service layer to easily work as I want, or at least I think it would be easy. If I do this the Android app could share the same app core code but using the REST service.
My question is what could be the best way to do an app with 2 client side in different platforms that could share some code to be easy to extend it moreover to a desktop app. I've talked about these 2 options because I'm a students of computers at university and those are the tools I know, but I can easy learn more. I've also think about just a REST service and create a web and an Android client to work on same service or something like that.
This post is getting long, so here is the summary: What technologies and tools do you think are the best choice to create an java web app that needs to have web and Android client? Also what server, like tomcat, GlassFish or another, should I use? And what about persistence layer? JPA with mysql is the best I know to work with.
Thanks a lot.
P.D: I work with eclipse
From my point of view:
You can use java jersey and java spring both ( java spring as Dependency injection) for creating RESTful Web service. So, In server side you will create endpoint and you can access data from any platform through those endpoint.
Server can be anyone. It's up to you. I always try to use tomcat but tomcat is not a full JavaEE container it's only a servlet container. So if you want to use full JavaEE version then you should use Glassfish.
And yes JPA .It can be easily used in any environment supporting JPA including Java SE applications, Java EE application servers, Enterprise OSGi containers etc.
On the other hand, still choice is yours.

Spring webapp: sending notifications to java and android clients

I recently started developing my first web application with Spring and I'm stuck with a question I could not really find an answer to. What I have is a simple Spring MVC application running in tomcat which provides data in form of JSON, XML or binary via REST. This service is consumed by two clients I developed, a simple Java desktop application and an Android app. So far the clients only got information about new data by polling.
What I want now, is a way for the server to send notifications/messages to the clients when new data is available. For the Android client it would be good if the notifications could received anytime, not only when the app is currently open of course. I found lots of information for JavaScript client code but very little really useful, up-to date input about what the options for java and android clients are.
It would be really great if someone could give me some idea what would be the best way to achieve what I want (ideally something which integrates well with Spring on the server side), what protocols/libraries/frameworks to use, maybe even point me to some example or tutorial, how to implement this on server and client side.
Thanks in advance for any input.
For android or mobile devices, Google Cloud Messaging is the preferred way of sending messages to applications running on devices.
Example : spring gcm server side project and a sample tutorial.
For desktop apps, either poll regularly the server or run something in background like crontab or active-mq to check the messages and start the desktop app.
WebSockets are the best solution. check the implementation in java in the server side

Does iPad development work with interacting through Java code with Spring Framework using TomCat to host the web service on a server? How?

Here is the background of my situation:
I want to create an iPad application that interacts with a oracle SQL database. I have existing Java code from my Flex application that handles all the database requests, and modifications using the Spring Framework. The Flex Application ran as a web service through TomCat. Now I want to make that flex application into a mobile iPad version. I am having trouble figuring out what is the easiest way to use existing Java code and use it for the iPad because the iPad interacts using URL requests instead of direct with the Java.
My question is, can I use the existing Java code with the Spring framework to save time from coding all the back-end handling? Basically I want to access all the classes from my Java code by doing Requests from the iPad. Is this possible and will I need JSON or XML to interact between the iPad and the Java code?
Summary:
Can I use
iPad Objective-C <-----> Java (with spring framework) on TomCat Web Service to handle oracle SQL data handeling? If so, how and what technologies do I need? Will I need JSON or XML and how does that factor between the iPad and Java?
Thanks!
A good approach would be to design your app to communicate with RESTful services that return JSON. Once this is done your iPad app doesn't have to even know that the server code is written in Java.. it's just interacting over HTTP.
Here's a good tutorial on setting up your tomcat to host your RESTful services: http://www.vogella.com/articles/REST/article.html - I've used this for an app I'm developing. Spring isn't even necessary.
You could go XML, but JSON is just easier in my opinion. Here's a good blog outlining the good and bad of both sides. http://digitalbazaar.com/2010/11/22/json-vs-xml/
OK, I'm making the following presumptions.
Your flex application runs on a different machine from the Tomcat
server
Your flex application makes web service calls to the Tomcat server
So, the flex application doesn't know the underlying technology that provides the web services. It's just seeing/consuming the output
There's no reason why the iPad app can't do the same thing. There's no reason why it can't use the same web services that the Flex application uses. It could consume the same messages (Assuming it can handle the request/response format currently employed by the Flex application).
You can make changes if you like if you want to change the structure of the requests/responses between the clients. But the clients don't know (nor care) how the web services are implemented. They are just requesting and consuming info.

Options other than Applet

I am using the XMPP to build the Chat Application.
For building chat client I am using the Applet to communicate with the XMPP Server using their APIs in Applet.
So my question is: Is there anything other than Applet that I can use to communicate with Server and also with use of the XMPP Client API (i.e. options other than applet)?
I looking into GWT and JavaFX, will those two be helpful in this context?
You can use Java-WebStart or Flex or just write a small webpage using servlets.
Definitely check out Java Web Start. It can launch a JFrame from a link, and offers many deployment advantages.
If you want a browser-based client then use Flash. There are several XMPP browser clients and libraries available.
There are a couple of JavaScript libraries listed on the XMPP website. So no need to rely on browser plug-ins, just do a native web application.
You can easily use GWT for your web application. A quick search on Google revealed some GWT specific third party libraries or XMPP (Emite, gwt-strophe) and even a samples app (Emite Chat).

Categories

Resources