Slide 1

Slide 1 text

Ad-client Project introduction

Slide 2

Slide 2 text

Copyright ⓒ All Right Reserved by Buzzvil ● Current challenges ● Project goals ● Architecture ● Comparison ● Implementation challenges ● Internals ● Getting started ● Making a change Ad-client

Slide 3

Slide 3 text

Current Challenges Copyright ⓒ All Right Reserved by Buzzvil Shared environment for development between all devs. Deployment process of UI actually requires 2 individual deployments. Working with current UI project requires a lot of knowledge outside of just the UI code. Large quantity of dependencies required for working on anything.

Slide 4

Slide 4 text

● Isolation of development environment ● Adjustment to deployment process ● Decrease initial developer friction ● Reduce dependence on non-UI implementation Copyright ⓒ All Right Reserved by Buzzvil Goals

Slide 5

Slide 5 text

Copyright ⓒ All Right Reserved by Buzzvil Overall Architecture ● Cloudfront serves static resources from S3 ● Requests to some paths are passed to ELB from Cloudfront using “behaviors”

Slide 6

Slide 6 text

Copyright ⓒ All Right Reserved by Buzzvil ● Near vs. Far ● API as interface vs server rendered Comparisons 4 ● Old vs New ● Shared vs Isolated ● Old vs New

Slide 7

Slide 7 text

Challenges: Single Source Copyright ⓒ All Right Reserved by Buzzvil Creating a single place which can contain any Client UI rendered by native clients (Web Views).

Slide 8

Slide 8 text

Approach: Single Source Copyright ⓒ All Right Reserved by Buzzvil ● Single S3 bucket (vs multiple) ● Flexible initialization process ● In-app error handling

Slide 9

Slide 9 text

Internals: Initialization Copyright ⓒ All Right Reserved by Buzzvil Flexible initialization allows different initialization processes based on which route is initially accessed.

Slide 10

Slide 10 text

Internals: Initialization Copyright ⓒ All Right Reserved by Buzzvil Flexible initialization allows different initialization processes based on which route is initially accessed.

Slide 11

Slide 11 text

Internals: Initialization Copyright ⓒ All Right Reserved by Buzzvil Flexible initialization allows different initialization processes based on which route is initially accessed.

Slide 12

Slide 12 text

Internals: Initialization Copyright ⓒ All Right Reserved by Buzzvil Flexible initialization allows different initialization processes based on which route is initially accessed.

Slide 13

Slide 13 text

Live Coding Copyright ⓒ All Right Reserved by Buzzvil

Slide 14

Slide 14 text

Questions? Copyright ⓒ All Right Reserved by Buzzvil