Building a Whatsapp like chat application with ionic

Hi All,

I’m a Newbies in ionic, my son Zephan, has built a multi-language Whatsapp like “App” and “Web Site” using pure Javascript in Visual Studio 2017 Community with Apache Cordova.

You may try it at the following web sites: (For Android/Windows/Linux, use Chrome Browser. For iPhone/iPad, use Safari Browser)

https://thisapp.zephan.top

or you may download the Android APK at:

https://thisapp.zephan.top/thisapp.apk

The problems are:

  1. This “App” does not look like an “APP” at all! But rather like a web site. (This is the main reason I would like to try ionic)

  2. The “Voice Call” function (WebRTC) does not work in iPhone/iPad Safari browser.

  3. The “Voice Message” function (Record Audio in mp3 and sent) in Android APP mode, does not work in a few Android phones. (But works in all browsers)

  4. With background mode enabled(using Cordova plugin), the app stop working(i.e. background thread stopped) a few minutes after the user turn off the screen of the Android phone.

  5. The “Video Call” function (WebRTC) dies immediately after the the app goes background in Android APP mode.

I tried to learn ionic so as to teach him how to build a native look chat app just like Whatsapp, but I got a few questions about whether it’s possible to use ionic, let me explain here:

In the current project we are using Single Page Application (SPA) technique because the socket.io always disconnect when you navigate to another html page. e.g. start socket.io in a.html, and navigate to b.html, then the socket.io disconnects.

Q1: Is Ionic using SPA? e.g. If I create an Ionic App using:

ionic start myApp tabs --type=angular

An app with 3 tabs will be create, if I navigate between these pages, are there any methods that I can keep the socket.io connected?

Q2: If I use WebRTC with ionic (Audio and Video Calls), will the app be supported by all Android phones and iPhones? Does anyone has experience on this?

Q3: Any ionic plugin that allows the app to work in background?

Q4: Any ionic plugin that allows to answer a Voice/Video Call in the “Lock Screen” without having to unlock the screen before answering the call?

Thanks in advance for your help. I really hope that I can be one of the developers of this fantastic framework!

Cheers,

Ken

because the socket.io always disconnect when you navigate to another html page

That’s not true, depends of your logic. From mobile you can use Native plugins instead of WebRTC, using this as fallback or only from Browser.
If you use socket.io from Services you can fix your problem with the connection.

Joshua Morony is an acknowledged expert in Ionic and his latest course covers how to build a live chat application. Worth having a look at the outline to see if it meets your requirements…

https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/?utm_source=sidebar&utm_medium=image&utm_campaign=prstencil#buy