I am using the asmack library in Android to develop a Jabber client which enables users to chat between themselves by connecting to the xmpp server. I want to achieve the same in iPhone too which connects to the server and chatting can be done among users.
I want to know if there are any libraries like asmack for iPhone which enables me to connect to the server and i can perform chatting among the users.
Please suggest if there are any other alternatives.
You'll find a list of XMPP libraries at the XSF site. In particular, the C libraries or the Objective-C one might be a good fit.
Related
I see WebRTC is the the best way for developing it. But there are some paid frameworks in market for establisting video chat between wide range of clients like Web-Web, Web-Mobile(IOS, Andriod, Windows, etc.,).
Web-Web communication flow is very simple to implement. Now, I want the same for Web-to-Mobile and vice versa without using any external frameworks built on top of Native WebRTC. Please suggest me some best approach to achieve this.
The latest Chrome on Android is WebRTC friendly, that means if you have a web app that implements WebRTC. It will be working on Android's Chrome.
If you decided to create you own native app that implements WebRTC. Here are some great sources.
iOS WebRTC: https://webrtc.org/native-code/ios/
Android WebRTC: https://webrtc.org/native-code/android/
Follow the instructions in each allow you to build the native WebRTC framework that you can later on import them into your native projects.
The WebRTC APIs are somewhat related to the ones you are using in your web application. You need to do more documentation reading for those as you are using the official framework that built from the source, not a third library.
Before starting you need to review and test platform to make sure it works fine for all your target user categories. You can do that by reviewing references and also testing some existing apps for user types you plan to support.
As you mentioned wide range of clients, you need to identify the limitations of WebRTC technology. You can also evaluate other technologies: in example you could reliably serve most client types with mobile and web apps that use RTMP.
Being said that IBM Mobilefirst is very advanced tool in developing hybrid mobile applications, I am curious to know if we can develop both the mobile application and the responsive mobile application using single code base. I know that there are different environments being provided out of box by Mobilefirst i.e mobile browser, desktopBrowser, Android etc.. I feel it kind of opens an option to developer to develop both mobile and responsive web application. But following questions and functionalities makes me rethink about going forward with this approach for practical implementation.
1) How far will the MobileFirst be reusable and flexible in terms of:
* implementing session management for both applications
* Authentication and Authorisation for both applications:
- When I said Authorisation, I meant user level preferences
2) What are the steps that need to be followed to setup a project which effectively uses the all the key features of the worklight for satisfying the above mentioned requirement.
3) Post development what are the steps that need to be followed to successfully deploy mobile and web application (Both of them will be using adapters to talk to services) into production.
Very sorry for making the question so theoretical. I felt very interesting and wanted to know.
1) How far will the MobileFirst be reusable and flexible in terms of:
* implementing session management for both applications
* Authentication and Authorisation for both applications:
- When I said Authorisation, I meant user level preferences
Depends which version of MFPF you are using.
Pre-7.1, all session management is the same in the server.
7.1 forward the server is session independent and currently Mobile Web and Desktop Browser are not supported; read more about session independent in the IBM Knowledge Center
Authentication works the same for both pretty much
2) What are the steps that need to be followed to setup a project which effectively uses the all the key features of the worklight for satisfying the above mentioned requirement.
There is not feature parity between the supported mobile environment and web environment, so the answer will depend on which particular features you will end up using. The IBM Knowledge Center contains a feature parity table.
3) Post development what are the steps that need to be followed to successfully deploy mobile and web application (Both of them will be using adapters to talk to services) into production.
That's got nothing to do with any of the environment you'll choose to use. It's the same for all. Yet again, read in the IBM Knowledge Center.
I have some questions like how whatsapp server is working, though I read in internet, I want to understand much. And what is XMPP? how it is working, How can I send data through XMPP. how can I integrate XMPP with application, can anyone pls explain?
WhatsApp under the hood?
There are rumors WhatsApp uses a customized version of XMPP. Sources are closed so we can only guess.
Understanding XMPP will however give you all the tools to create your own WhatsApp clone.
What is XMPP?
According to Wikipedia (which hosts further references):
Extensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language).
Which is to say that XMPP is an xml based convention for exchanging messages between parties. It's best known implementation is Ejabberd chat server.
XMPP can however be used for other things, among them the web of things.
How to send messages?
Assuming you want to create a chat application, you will need:
An Ejjaberd server up and running.
An appropriate xmpp SDK for you language/framework. Example: Smack for Java or agsXMPP for C#.
A good kick-starting tutorial about how xmpp works can he found here: part one and part two.
There is also the RFC which contains the most comprehensive documentation out there.
As stated in the Google Talk for Developers site, you can use the provided APIs to build a client that connects to the Google Talk service.
I would like to know if it's possible (or it will be in the near future) to build a similar client to the google hangouts.
What we pretend is to build something similar to cloud print, that provides printing services to the cloud, but for audio/video streaming: a camera and microphone would replace the
printer.
Thanks a lot.
Talk and all the XMPP stuff is going to be put down soon.
The new Hangouts infrastructure is proprietary. It only has API to integrate Hangouts into web pages and applications, but no API or protocol to create an alternative Hangouts client software.
https://github.com/tdryer/hangups is a library that does exactly that, with a command-line client for Linux.
https://github.com/xmikos/qhangups is a PyQt-based cross-platform app that aims to provide an open-source alternative to the Chrome-based official desktop app. Unfortunately it's not working at the time of posting, but the author is investigating the issue.
Are there any initiatives to implement/agree upon a standard API for connectivity between web browsers and client hardware.
Example: The iPhone has a GPS/Camera/Accellerometer in it. It'd be very cool if my web app could communicate with them (rather than me having to write a thick ObjectiveC application).
The closest thing I've seen to that is the Android phone API, which lets your programs access its hardware (relatively) painlessly. Google's pushing for it to become the new standard, but its hardly the same thing as a web-app (which, by most definitions, runs entirely in your browser?).
The upcoming version of FireFox has an API to read your lat/long off a GPS device.
To add to my own question; Yahoo provides a geolocation service called FireEagle that could act as a mediator and provide similar functionality.
In essence the phone communicates with a central Yahoo server updating its location. Your web app can then determine your approx location from that central server.