A Xamarin.Forms hybrid app

A fully functional Xamarin.Forms app for both Spaces and Messenger is available at Github for you to fork and start playing with as a boilerplate for your next Weavy mobile app. The repos are available at:

Weavy Spaces App

https://github.com/Weavy/weavy-spaces-mobile

Weavy Messenger App

https://github.com/Weavy/weavy-messenger-mobile

Overview

Both the Spaces app and the Messenger app is examples of hybrid apps. This means that a Webview is used to display the Weavy web app in a browser. A hybrid app is a fast way to create a mobile app when you have an existing responsive and mobile ready web app as Weavy. A hybrid app can also use native functionality. The Weavy mobile apps are using Push notifications to handle notifications from within the Weavy web app. Even though the example app is using Azure Notification Hubs as the push notification provider, you can implement your own notification service in both Weavy web app and the mobile app.

The Webview

In Xamarin.Forms, you can create platform specific implementations of a Xamarin View. The Weavy mobile apps uses this feature to create an extended Webview for iOS and Android that allows for more extended functionality.

The webviews implements a communication interface that are used to send messages via javascript between the mobile app and the web app. By doing this, the mobile app can react to events in the web app and update the mobile interface accordingly. For example, when a notification is read in the web app, the badge on the mobile app badge is updated with the correct number. There are numerous callbacks in the mobile app that handles this and you can find out more information about this by looking in the Helpers/ScriptHelper.cs file and the RegisterCallbacks() method in the MainPage.cs file.