Despark: Building Awesome Apps by Svetoslav Velichkov

31
BUILDING AWESOME APPS 2015

Transcript of Despark: Building Awesome Apps by Svetoslav Velichkov

Page 1: Despark: Building Awesome Apps by Svetoslav Velichkov

BUILDING AWESOME APPS2015

Page 2: Despark: Building Awesome Apps by Svetoslav Velichkov

SVETOSLAV VELICHKOV (totally an iOS nerd)

Page 3: Despark: Building Awesome Apps by Svetoslav Velichkov

WHERE IS THIS PRESENTATION GOING TO TAKE US?

What defines an awesome app? How do we make one?

Reaction and Flow Smoothness and Resilience Emotion

Page 4: Despark: Building Awesome Apps by Svetoslav Velichkov

WHAT IS AN AWESOME APP?

Page 5: Despark: Building Awesome Apps by Svetoslav Velichkov

FLOW

Page 6: Despark: Building Awesome Apps by Svetoslav Velichkov

REACTIVE

Page 7: Despark: Building Awesome Apps by Svetoslav Velichkov

SMOOTH

Page 8: Despark: Building Awesome Apps by Svetoslav Velichkov

RESILIENT

Page 9: Despark: Building Awesome Apps by Svetoslav Velichkov

EMOTIVE

Page 10: Despark: Building Awesome Apps by Svetoslav Velichkov
Page 11: Despark: Building Awesome Apps by Svetoslav Velichkov

HOW DO WE GO ABOUT MAKING AWESOME APPS?

Page 12: Despark: Building Awesome Apps by Svetoslav Velichkov

STEP 1: GET STUFF OUT OF THE WAY

Page 13: Despark: Building Awesome Apps by Svetoslav Velichkov

NECESSARY MINUTIAE

Rest networking JSON parsing/serialisation Secure data/credentials storage Data caching/local storage Data marshalling/testable application architecture Collection layout Form layout Rich text layout and editing

Page 14: Despark: Building Awesome Apps by Svetoslav Velichkov

THEY MATTER BUT THEY ALSO DON’T

Page 15: Despark: Building Awesome Apps by Svetoslav Velichkov

DON’T OVERTHINK IT

Page 16: Despark: Building Awesome Apps by Svetoslav Velichkov

OF NETWORK STACKS AND 9 MILLION BICYCLES IN BEIJING

Page 17: Despark: Building Awesome Apps by Svetoslav Velichkov

AND SUDDENLY AFNETWORKING

Page 18: Despark: Building Awesome Apps by Svetoslav Velichkov

CHOOSE SOMETHING, STICK WITH IT, SEE WHERE IT HURTS, REPEAT

Page 19: Despark: Building Awesome Apps by Svetoslav Velichkov

AVERSE REACTIVECOCOA

Page 20: Despark: Building Awesome Apps by Svetoslav Velichkov

DON’T SHY AWAY FROM APPLE’S NEW STUFF (because Apple’s gonna’ Apple)

Adaptive User Interfaces AutoLayout PDF Image Resources App Extensions CloudKit

Page 21: Despark: Building Awesome Apps by Svetoslav Velichkov

Networking -- AFNetworking https://github.com/AFNetworking/AFNetworking -- Alamofire https://github.com/Alamofire/Alamofire -- CocoaSPDY https://github.com/twitter/CocoaSPDY

JSON parsing/serialization -- Mantle (-> NSObject) https://github.com/Mantle/Mantle -- Groot (-> NSManagedObject)https://github.com/gonzalezreal/Groot

Local storage -- MagicalRecord https://github.com/magicalpanda/MagicalRecord -- Parse https://www.parse.com/

Form layout -- Form https://github.com/hyperoslo/Form

Data marshalling/testable application architecture -- ReactiveCocoa https://github.com/ReactiveCocoa/ReactiveCocoa

General UI layout -- ComponentKit http://componentkit.org/ -- Masonry https://github.com/Masonry/Masonry

Page 22: Despark: Building Awesome Apps by Svetoslav Velichkov

STEP 2: PLAN FOR FLOW AND REACTIVITY

Page 23: Despark: Building Awesome Apps by Svetoslav Velichkov

“YOU DESIGN THE IN-BETWEENS”~‟Sam Smart Guy”

Page 24: Despark: Building Awesome Apps by Svetoslav Velichkov

STATES & TRANSITIONS

Page 25: Despark: Building Awesome Apps by Svetoslav Velichkov
Page 26: Despark: Building Awesome Apps by Svetoslav Velichkov

COMPONENTKIT (or React Native, if you are adventurous)

Page 27: Despark: Building Awesome Apps by Svetoslav Velichkov

STEP 3: TWEAK SMOOTHNESS AND RESILIENCE

Page 28: Despark: Building Awesome Apps by Svetoslav Velichkov

TAKEAWAYS SO FAR

• Spend as little as possible on stuff your user doesn’t see. • Figure out your UI and data flows, before you write a line

of code • Tweak the app to remove any friction

Page 29: Despark: Building Awesome Apps by Svetoslav Velichkov

STEP 4: FINALLY, YOU ARE FREE TO GET CLEVER

Page 30: Despark: Building Awesome Apps by Svetoslav Velichkov
Page 31: Despark: Building Awesome Apps by Svetoslav Velichkov

QUESTIONS?