droidconIN 2016

The sixth edition of droidconIN

REST APIs - How not to screw up your next killer Android app.

Submitted by Shreyansh Pandey (@weirdpanda) on Tuesday, 26 April 2016

videocam_off

Technical level

Intermediate

Section

Workshop

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +3

Abstract

In this short talk, I will be giving a very through analysis of an existing API, and will try and use it in an application. Thereafter, I will give talk about how should an API be designed so it’s easy for consumption in mobile or mobile-facing applications. All of this, plus a special focus on security and performance will be the core.

Outline

  • Introduction

  • Back to school – What is an API?

  • A Case Study

    • An example of a bad API

    • The problems with any badly designed API

    • Break it down, but not too much – the problems of an over modular API

  • REST – An Introduction

  • Architecting a simple REST API

    • Weapons of choice

      • Hapi.js

      • Mongoose

    • Modularizing it

    • Implementation

    • Scope for further improvement

  • Comsuming the REST API

    • Using the Retrofit library for REST

    • Comparing the old one with the new one

    • Key Improvements

  • Security and Performance Enhancements

    • Lights out – architecting redundant, highly available infrastructure

    • Protecting the API with:

      • simple role-based authentication

      • authentication token

      • JWT

  • Best Practices

  • Questions

Requirements

All you should have is a laptop, and a free, open mind, ready to tinker around with some cool, new stuff!

Speaker bio

A 17-year old developer, technology enthusiast and DevOps lover. For the past 5 years, I have tinkered around with systems, written backends in languages ranging from PHP to Node. Personally, I love taking up challenges and love teaching as well. DevOps and backend development are two of my most favorite fields, but the problem is the fact these amazing tools and standards have a very steep learning curve and, thus, new comers are often terrified, to say the least; therefore, teaching something as advanced as possible with as little technicality (in language, that is) has been my long time love. Although young, I promise that the talk will be nothing short of crisp; filled with humour and the zeal to learn more.

I was working with a startup, and noticed the poorly designed API they were using. Not only that, I noticed a couple of technical flaws. After investigating, I spun up a quick prototype, and benchmarked the two. A significant performance hike, and low latency were the two major giveaways of that test. Since then, I have made it a point to make sure that the design of the API is as intricate and important as the design of the application itself.

Currently, I make (and break) things at Gamezop as their Backend and Infrastructure Lead.

Comments

Login with Twitter or Google to leave a comment