get your mobile app in production in 3 months: native and reactive mobile apps

27
Dominik Veselý , CTO How we leverage latest technologies for our Mobile app development

Upload: ackee

Post on 21-Jan-2018

247 views

Category:

Technology


1 download

TRANSCRIPT

Dominik Veselý, CTO

How we leverage latest technologies for our Mobile app development

This is our CEO with our Mascot

Which has been stolen on SpaceShack opening party

We take Unicorn rights seriously see www.whostolemyunicorn.com

What we already have

Infrastructure to relay on

Backend to communicate with

Front-end

What we use(d) for mobile success

Native languages for development

FRP principles

CI with automatic builds

Sketch graphics

Merge Requests

Experience

Native languages

Native languages

Swift 3 for iOS

Kotlin … before it was cool

Native languages - type safety

Native languages - support

Documentation

Libraries

Stack Overflow

Native languages - support

Documentation

Libraries

Stack Overflow

Why alternatives like RN or Xamarin aren’t there?

Might look like a speed up but you might hit few roadblocks

Missing functionality / features

Locked with libraries

Human resources limitation

FRP Principles

2.5 years of experience in Ackee

both iOS and Android

now even on backends

this part will be very brief … topic is very complex to be covered

Imperative vs Functional programming

for-loops

mutable states

“push” based

Imperative vs Functional programming

map, reduce, filter, flatMap

If a pure function is called with the same arguments, the same

result will be returned. Implicit parameter is time

declarative, "Pull-based", eliminates side effects, avoids

changing-state and mutable data

FRP Streams

FRP 2

FRP

Input --->

---> Output

Advantages

Streamlined dataflow

Same implementation across all platforms

Reusable blocks

Less bugs

Faster for development

Error handling

Advantages - Error handling

How we use it

Reactive Extensions - available on github

Network

Data

UI bindings

Modern architectures (MVVM / MVP)

Bindings

Continuous Integration

Time efficient

Testers and clients get their builds without programmer

For white-labeled app it’s must have

Completely build on Fastlane

Lint (static code analysis)

Continuous Integration

Sketch Designs

Automated exports

Generated (SVG) images

Photoshop is dead (Adobe XD to come)

Git workflow & MR

Branches makes development easier

Merge requests are very useful tool to learn from and how to find bugs

Experience

You need experienced developers to get things out fast and reliable

Harsh but true

Key outcomes

Development is complex process, each part it makes difference

Choose good technologies and team

Applicable on each app not only our festival app

www.ackee.de

WE CREATE MOBILE APPS