building networked apps

12
Slice Confidential – Do not copy or distribute without prior written consent Building Networked Apps Slice Technologies at Dubhacks Seattle, WA

Upload: sean-meador

Post on 23-Jul-2015

244 views

Category:

Technology


0 download

TRANSCRIPT

Slice Confidential – Do not copy or distribute without prior written consent

Building Networked Apps

Slice Technologies at Dubhacks

Seattle, WA

Slice Confidential – Do not copy or distribute without prior written consent

Networked Apps

Ok, great. Now what?

Client-Server

Slice Confidential – Do not copy or distribute without prior written consent

Architecture

• Building software = weighing tradeoffs

– Ultimately depends on requirements

• Networked apps

– Do work on client?

– Do work on server?

Thin vs. thick clients

Slice Confidential – Do not copy or distribute without prior written consent

Thin Client

More work on server

Slice Confidential – Do not copy or distribute without prior written consent

Thick Client

More work on clients

Careful: sync is hard!

Slice Confidential – Do not copy or distribute without prior written consent

Most apps are hybrid

Web apps

E-commerce (Amazon)

Social (Facebook)

Productivity (Evernote)

Games (Single-player)

Utility (Camera)Thick

Thin

Slice Confidential – Do not copy or distribute without prior written consent

Which to choose?

• Trend towards thinner clients

– Networks are much better

• Have your own server?

• Or using a third-party API?

• Start thin, add on thick features

• Keep your network layer separate!

Let’s take a look at Slice…

Slice Confidential – Do not copy or distribute without prior written consent

Slice App

• Loads all user purchases

• Search, totals, and trends

• Problem: latency

– Sluggish interface

– Slow start-up time

Solution?

Slice Confidential – Do not copy or distribute without prior written consent

Fatten up!

• Local database

– Data persistence

– Indexed search

• Simplified refresh

– First import, then update

• Don’t want to solve sync yet

– Synchronous edit

Slice Confidential – Do not copy or distribute without prior written consent

Image Search

• Product images

• Done on client to avoid rate limits

• Complex and distributed logic

Search “Steve Jobs” book

Web iOS Android

Slice Confidential – Do not copy or distribute without prior written consent

Slim down…

• Centralize logic

• Search triggered by apps, done on server

• Consistency between platforms

• Some downsides

– Extra cost

– Throttling

– Ok at our scale

Slice Confidential – Do not copy or distribute without prior written consent

Takeaways

• Spend a little time on architecture

• Start thin, add on thick features

• Keep your network layer separate

• Weigh thin vs. thick clients

– Application needs

– Network

– Development time