SlideShare una empresa de Scribd logo
1 de 125
Descargar para leer sin conexión
reark.io
Powered by Futurice Spice Program
reark.io
Powered by Futurice Spice Program
reark.io
Powered by Futurice Spice Program
That’s 1952 stars
reark.io started
as an example
of how we do
things.
Now it has
library
components
as well.
Why native,
and not
React Native?
Who am I?
@tehmou
• Reactive
programmer
History of
reark.io
SAMSUNG KICK
Powered by Futurice
Samsung KICK had an average score of
4.1 out of 5 on Google Play store, it was
downloaded over 3 million times.
It was rebranded
into Goal+
summer 2016.
Statistics
Total Lines of Code

155384

(546410added,391026removed)



Total Commits

10103



Authors

31
Commit History
MWC Demo
Tablet release
(1089 commits in May)
Ramp up
Phone release
A lot of
challenges
keeping the code
together.
Android 4.1.x has a
bug that crashes it for
view hierarchies
deeper than ~30.
On a complex tablet application with nested
fragments under 30 is a dream world.
- Big codebase
- Large velocity
- Long
- “Satellite” apps
What
does the
app look
like?
Main
App
First there was an app.
Main
App
Store
View
“Database” to
hold the data and
publish updates.
What is shown on
the screen by the
platform.
Main
App
Store
View Model
View
Push updates to
the data.
Process the
raw data.
Display data.
This is the MVVM
architecture, you
can see an example
in the reark.io
sample.
Main
App
Main
App
Process
A process has its own “stack”,
which means that other processes
do not see variables in it.
Main
App
Process
Product owner wants to make a
cool new widget. It has to run in
its own “remote process”.
Process
Main
App
KICK Live
widget
ProcessProcess
Now we have two processes that
both have their own memory
space.
Main
App
KICK Live
widget
ProcessProcess
Store
But the Store is stuck in
one process.
Main
App
KICK Live
widget
ProcessProcess
Store
But the Store is stuck in
one process.
Main
App
KICK Live
widget
ProcessProcess
Store Move store into a
shared container.
Main
App
KICK Live
widget
ProcessProcess
Provide data
and changes to
all attached
processes.
Store
Store
What about
other devices
connected to
the phone?
Store
Gear
SmartTV
Store
Use Samsung web
socket bridge to
publish updates.
One Store for different uses:
• Inside of one process
• Between processes
• Between physical devices
What’s in the
Store then?
On Android the
Store is traditionally
an database.SQLite
Also known as ContentProvider.
SQLite
- Can be shared across processes
- Allows to observe changes
- Asynchronous read / write
SQLite
- It’s been there since the beginning
- Can be shared across processes
- Allows to observe changes
- Asynchronous read / write
What’s the
problem?
SQLite
- …
- A pain to implement!
SQLite
- Nobody got time
for that!
What if there was a
way to start with a
simple Store that
could be later changed
into an SQLite?
reark.io
Powered by
Spice Program
reark.io
[x] Scalable Android Architecture
Powered by
Spice Program
Introduce an MVP
Store that can use
SQLite internally.
… or not use is it
until it is needed.
Generic App v0.1
Super simple proof
of concept.
Flickr: infinity7664
Generic App v0.01
Super simple proof
of concept.
Flickr: infinity7664
PO
Generic App v0.01
Super simple proof
of concept.
Flickr: infinity7664
This is just a
demo, it will
never go into
production!
PO
Generic App v0.01
Super simple proof
of concept.
Flickr: infinity7664
This is just a
demo, it will
never go into
production!
PO
Generic App v0.01
Super simple proof
of concept.
Flickr: infinity7664
This is just a
demo, it will
never go into
production!
PO
Generic App v0.01
Super simple proof
of concept.
Flickr: infinity7664
This is just a
demo, it will
never go into
production!
PO
Wrote an app that
was not going into
production Bad Luck
Brian
Wrote an app that
was not going into
production
It went into
production
The version 0.01
Super simple proof of concept
version. Everything in one
process.
Store
The version 0.01
Super simple proof of concept
version. Everything in one
process.
Store
new HashMap<Integer, Beer>
The version 0.01
Store becomes a wrapper for the
HashMap. It is a simple key-value store.
Store
new HashMap<Integer, Beer>
The version 0.01
Store
new HashMap<Integer, Beer>
Great! But
how to get
beer out of
the store?
The version 0.01
Store
new HashMap<Integer, Beer>
Beer getBeer(Integer beerId)
The version 0.01
Store
new HashMap<Integer, Beer>
Beer getBeer(Integer beerId)
= Ask for beer, get beer immediately
The version 0.01
Store
new HashMap<Integer, Beer>
Beer getBeer(Integer beerId)
Not sure if KISS
Or the worst idea ever
SQLite
- Can be shared across processes
- Allows to track changes
- Asynchronous read / write
Bad Luck
Brian
Wrote his app with
KISS
Wrote his app with
KISS
It didn’t scale
What’s the
minimum
interface for a
good Store?
Store interface
StorePut an item
at a time
Get a
stream of
items
Store interface
StorePut an item
at a time
Get a
stream of
items
(with the same id)
RxJava and
Observables
Observables in
very short
store.getBeer(beerId)
We define a way to
get beer from the
Store.
Observables in
very short
store.getBeer(beerId)
For this we need to
know the beerId
Observables in
very short
store.getBeer(beerId)
.subscribe(
We will subscribe to
the Observable. This
is like a callback.
Observables in
very short
store.getBeer(beerId)
.subscribe(
beer -> drink(beer)
);
We define the action
that is executed every
time a new beer
arrives.
Observables in
very short
store.getBeer(beerId)
.subscribe(
beer -> drink(beer)
);
Notice that we will
always get updated
versions of the beer
with the same id.
How it works in
real life.
Store interface
Beer Store
Let’s create a
beer Store.
Store interface
Beer Store
First
customer!
Store interface
Beer Store
Another subscriber to
the same beer!
Store interface
Beer Store
Someone pushes an
update to the Store.
Store interface
Beer Store
The update is
propagated to all
subscribers.
Store interface
Beer Store
Store interface
Beer Store
The subscribers have
processed the latest
update.
What about new
subscriber that
missed the beer?
Store interface
Beer Store
A new subscriber
arrives!
Store interface
Beer Store
The new subscriber gets the
latest value immediately to
get up to date.
Store interface
Beer Store
Store interface
Beer Store
All subscribers are again on
stand-by for new values.
The reark.io Store
design.
Store interface
interface StoreInterface <T, U> {
void put(T item);
Observable<T> get(U id);
}
Store interface
interface StoreInterface <T, U> {
void put(T item);
Observable<T> get(U id);
}
The put operation is
fire and forger.
Store interface
interface StoreInterface <T, U> {
void put(T item);
Observable<T> get(U id);
}
The is no synchronous get,
only an observable.
The two main
reark.io Store
types.
MemoryStore
Flickr: infinity7664
MemoryStore
implements StoreInterface <T, U>
Flickr: infinity7664
MemoryStore
implements StoreInterface <T, U>
Flickr: infinity7664
Good for:
• Getting started
• No need to persist data
• Only one process running
ContentProviderStore
implements StoreInterface <T, U>
Flickr: Toti Maragliano
ContentProviderStore
implements StoreInterface <T, U>
The interface is
the same
Flickr: Toti Maragliano
ContentProviderStore
implements StoreInterface <T, U>
Flickr: Toti Maragliano
Good for:
• Persisting data if app is shut down
• Sharing data between processes, i.e. widgets
• If you have a bit of time to set up the SQLite
Case study:
Quickbeer Next
Powered by
Spice Program
https://github.com/apoi/quickbeer-next
App for ratebeer.com API
Wikipedia: “RateBeer has over 4.5 million ratings of almost
200,000 beers, from nearly 16,000 breweries”
Hand crafted by:
apoi
https://github.com/apoi/quickbeer-next
Powered by
Spice Program
Hand crafted by:
apoi
https://github.com/apoi/quickbeer-next
Powered by
Spice ProgramI have over 1100 beer
ratings on my
ratebeer.com account
that I use to test the
app. You could say
it’s well-brewed.
Main Contributors
apoi
Main Contributors
Develops the framework against
his beer app as well as (secret)
customer projects.
apoi recuutus
Main Contributors
The Dagger master, also
does excellent reviews and
tests.
apoi tomaszpolanskirecuutus
Main Contributors
Figuring out
a way to put
his Options
library in the
example
project.
apoi tomaszpolanskirecuutus
Main Contributors
Figuring out
a way to put
his Options
library in the
example
project.
apoi tomaszpolanskirecuutus
Main Contributors
Figuring out
a way to put
his Options
library in the
example
project.
apoi tomaszpolanskirecuutus
Main Contributors
Figuring out
a way to put
his Options
library in the
example
project.
prt2121apoi tomaszpolanskirecuutus
Main Contributors
We don’t really know who he is, but
he sometimes updates libraries.
prt2121apoi tomaszpolanskirecuutus
Main Contributors
Started it, now drops in every once
in a while and annoys everyone by
rewriting stuff.
tehmou
Thank you.
Thank you.
(star us on reark.io)
@tehmou
Timo Tuominen
Extra case study:
Nautics Sailmate
“More convenient sailing”
This is a sea chart.
An offline package
is downloaded with
hundreds of Points
of Interest.
The POIs are
written all at once
into an SQLite
Store.
Store
Every part of the
app is updated
instantly when a
download finishes.
Store
fin.

Más contenido relacionado

La actualidad más candente

Top Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle ThemTop Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle ThemIonic Framework
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Adrian Philipp
 
Building capacitor apps in appflow webinar
Building capacitor apps in appflow webinarBuilding capacitor apps in appflow webinar
Building capacitor apps in appflow webinarIonic Framework
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapTed Chien
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APIJohn Musser
 
Lo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJSLo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJSMarcel Kalveram
 
Integrating Indigo.Design App Builder with GitHub
Integrating Indigo.Design App Builder with GitHubIntegrating Indigo.Design App Builder with GitHub
Integrating Indigo.Design App Builder with GitHubJohnMcGuigan10
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeThe Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeRedBlackTree
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Adrian Philipp
 
React Native in a nutshell
React Native in a nutshellReact Native in a nutshell
React Native in a nutshellBrainhub
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
 
React Native - CirebonDev
React Native - CirebonDevReact Native - CirebonDev
React Native - CirebonDevAyat Maulana
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidDominik Dary
 
Building Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and FluxBuilding Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and FluxSalesforce Developers
 
Ionic CLI Adventures
Ionic CLI AdventuresIonic CLI Adventures
Ionic CLI AdventuresJuarez Filho
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Mark Leusink
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkTroy Miles
 

La actualidad más candente (20)

Top Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle ThemTop Cordova Challenges and How to Tackle Them
Top Cordova Challenges and How to Tackle Them
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Building capacitor apps in appflow webinar
Building capacitor apps in appflow webinarBuilding capacitor apps in appflow webinar
Building capacitor apps in appflow webinar
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGap
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
 
Lo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJSLo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJS
 
Integrating Indigo.Design App Builder with GitHub
Integrating Indigo.Design App Builder with GitHubIntegrating Indigo.Design App Builder with GitHub
Integrating Indigo.Design App Builder with GitHub
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTreeThe Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
The Mobile ToolChain with Fastlane - Code Red Talk at RedBlackTree
 
Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016Experiences building apps with React Native @UtrechtJS May 2016
Experiences building apps with React Native @UtrechtJS May 2016
 
React Native in a nutshell
React Native in a nutshellReact Native in a nutshell
React Native in a nutshell
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
React Native - CirebonDev
React Native - CirebonDevReact Native - CirebonDev
React Native - CirebonDev
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Building Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and FluxBuilding Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and Flux
 
Ionic CLI Adventures
Ionic CLI AdventuresIonic CLI Adventures
Ionic CLI Adventures
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
AngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic FrameworkAngularJS on Mobile with the Ionic Framework
AngularJS on Mobile with the Ionic Framework
 

Similar a Reark : a Reference Architecture for Android using RxJava

Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applicationsFDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Jan Jongboom
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Hafiz Ismail
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with SwiftJordan Yaker
 
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftPhilly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftJordan Yaker
 
A tale of two proxies
A tale of two proxiesA tale of two proxies
A tale of two proxiesSensePost
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobilePhilip Brechler
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Introrobinb123
 
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...Big Data Spain
 
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Chris Mathias Presents Advanced API Design Considerations at LA CTO ForumChris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Chris Mathias Presents Advanced API Design Considerations at LA CTO ForumChris Mathias
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsShashikant Jagtap
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Mongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case StudyMongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case StudyMitch Pirtle
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinBoyd Hemphill
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)W2O Group
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experimentslacyrhoades
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Matt Raible
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 

Similar a Reark : a Reference Architecture for Android using RxJava (20)

Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With SwiftPhilly CocoaHeads 20160414 - Building Your App SDK With Swift
Philly CocoaHeads 20160414 - Building Your App SDK With Swift
 
A tale of two proxies
A tale of two proxiesA tale of two proxies
A tale of two proxies
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...
Shortening the Feedback Loop: How Spotify’s Big Data Ecosystem has evolved to...
 
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Chris Mathias Presents Advanced API Design Considerations at LA CTO ForumChris Mathias Presents Advanced API Design Considerations at LA CTO Forum
Chris Mathias Presents Advanced API Design Considerations at LA CTO Forum
 
iOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS AppsiOSDevUK Conference- DevOps for iOS Apps
iOSDevUK Conference- DevOps for iOS Apps
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Mongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case StudyMongodb and Totsy - E-commerce Case Study
Mongodb and Totsy - E-commerce Case Study
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker Austin
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
 
Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 

Más de Futurice

Future of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuture of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuturice
 
Future of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuture of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuturice
 
Fantastic Problems and Where to Find Them: Daryl Weir
Fantastic Problems and Where to Find Them: Daryl WeirFantastic Problems and Where to Find Them: Daryl Weir
Fantastic Problems and Where to Find Them: Daryl WeirFuturice
 
Markus Paasovaara: Face recognition
Markus Paasovaara: Face recognitionMarkus Paasovaara: Face recognition
Markus Paasovaara: Face recognitionFuturice
 
Futurice Retail Trends 2020
Futurice Retail Trends 2020Futurice Retail Trends 2020
Futurice Retail Trends 2020Futurice
 
Winning hearts with data driven services
Winning hearts with data driven servicesWinning hearts with data driven services
Winning hearts with data driven servicesFuturice
 
Testing Without Waste - Automatic Testing
Testing Without Waste - Automatic TestingTesting Without Waste - Automatic Testing
Testing Without Waste - Automatic TestingFuturice
 
Project thinking and digital service business
Project thinking and digital service businessProject thinking and digital service business
Project thinking and digital service businessFuturice
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software SecurityFuturice
 

Más de Futurice (9)

Future of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuture of Mobility - Futurice Stockholm
Future of Mobility - Futurice Stockholm
 
Future of Mobility - Futurice Stockholm
Future of Mobility - Futurice StockholmFuture of Mobility - Futurice Stockholm
Future of Mobility - Futurice Stockholm
 
Fantastic Problems and Where to Find Them: Daryl Weir
Fantastic Problems and Where to Find Them: Daryl WeirFantastic Problems and Where to Find Them: Daryl Weir
Fantastic Problems and Where to Find Them: Daryl Weir
 
Markus Paasovaara: Face recognition
Markus Paasovaara: Face recognitionMarkus Paasovaara: Face recognition
Markus Paasovaara: Face recognition
 
Futurice Retail Trends 2020
Futurice Retail Trends 2020Futurice Retail Trends 2020
Futurice Retail Trends 2020
 
Winning hearts with data driven services
Winning hearts with data driven servicesWinning hearts with data driven services
Winning hearts with data driven services
 
Testing Without Waste - Automatic Testing
Testing Without Waste - Automatic TestingTesting Without Waste - Automatic Testing
Testing Without Waste - Automatic Testing
 
Project thinking and digital service business
Project thinking and digital service businessProject thinking and digital service business
Project thinking and digital service business
 
Agile Software Security
Agile Software SecurityAgile Software Security
Agile Software Security
 

Último

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Último (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Reark : a Reference Architecture for Android using RxJava