Cross-platform serverless app using NativeScript and AWS services

I wanted to demonstrate how easy to build a native looking cross-platform app using AWS services without actually having your server. I ended up using NativeScript to build the app. This is an internal quiz app to train our team members. Find more details below.

NativeScript

A cross-platform is an app development platform that provides native UI support. Cordova kind of platform relies on webview which does not give the native app feel. NativeScript uses Javascript engine to render native UI elements. It supports XML, TypeScript or XML, Javascript. I used XML and Javascript to build the demo app.

AWS

AWS offers a plethora of web services that has changed the way IT infrastructures are handled. I have used S3, API Gateway and Lambda for this task.

Since this being a simple use case, I used S3 as the storage medium for the quizzes. Each quiz is stored as an individual CSV file. Login, quiz loading, and scoring all carried out by Lambda functions passed through API gateway.

Find the screenshots of how the app looks like, in Android and iPhone.

The flow is App makes requests to AWS API Gateway which in turn triggers Lambda that validates user data and loads data from S3 bucket.

NativeScript offers easy to way to build UI using XML and you can control logics using JS code. Native does offer a nice set of features not limited to,

The goal for customers is to not only have a visually attractive product but also make sure it has superb functionality. We accomplish this by building feature-rich, engaging, and user-friendly mobile app and web solutions consisting of intuitive UX, present-day technologies and tools and best-in-class interfaces.