Upload
nhachicha
View
387
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Presenting some cool libs from http://square.github.io/ to help you with developing and testing your Android. The source code is here: Android App https://github.com/nhachicha/GDGDevFestAlgiers2013Android Backend https://github.com/nhachicha/GoogleDevFest2013Algiers
Citation preview
Cool Open Source LibsNabil HACHICHA
GDG DevFest 2013 Algiers
Why Open Source?
● Better quality○ Developed by many passionate developers○ Innovation and enhancements over time
● Open standards & interoperability
● It’s hard to develop without it
Use case
● Develop & test a small app (Employees list)
Use case
Architecture
Request content from network
Use case
Architecture
ListView Adapter, based on a simple POJO
Use case
Architecture
Fragment holding our ListView
Use case
Architecture
Parse HTML using Xpath
OkHttp
● Efficient Http client, based on java.net.HttpURLConnection or Apache HttpClient
● Can also be used as as the transport layer for Volley
OkHttp
● SPDY support, allows all requests to the same host to share a socket.
● Transparent GZIP● Silently recover from common connection
problems● Recovers from problematic proxy servers
and failed SSL handshakes● Connection pooling reduces request latency
(if SPDY isn’t available)
OkHttp
● SPDY support, allows all requests to the same host to share a socket.
● Transparent GZIP● Silently recover from common connection
problems● Recovers from problematic proxy servers
and failed SSL handshakes● Connection pooling reduces request latency
(if SPDY isn’t available)
OkHttp
● SPDY support, allows all requests to the same host to share a socket.
● Transparent GZIP● Silently recover from common connection
problems● Recovers from problematic proxy servers
and failed SSL handshakes● Connection pooling reduces request latency
(if SPDY isn’t available)
OkHttp
● SPDY support, allows all requests to the same host to share a socket.
● Transparent GZIP● Silently recover from common connection
problems● Recovers from problematic proxy servers
and failed SSL handshakes● Connection pooling reduces request latency
(if SPDY isn’t available)
OkHttp
● SPDY support, allows all requests to the same host to share a socket.
● Transparent GZIP● Silently recover from common connection
problems● Recovers from problematic proxy servers
and failed SSL handshakes● Connection pooling reduces request latency
(if SPDY isn’t available)
Picasso
● A powerful image downloading and caching library for Android
Picasso
● Handling ImageView recycling and download cancelation in an adapter
● Complex image transformations with minimal memory use.
● Automatic memory and disk caching.
Code
Testsing
RobolectricMockitoFEST
Robolectric
● Run Android tests inside JVM
● Instruct Robolectric to configure Android differently○ use a non-standard manifest file○ use French resources on a sideways high-res
display (qualifiers)
Mockito
● Mocking framework, with fluent API syntaxe
FEST
● Fixtures for Easy Software Testing
● Simplify software testing by providing a fluent Assertions
● Just use assertThat
● FEST Android, extension of FEST
FEST
Example:● Regular JUNITassertEquals(View.GONE,view.getVisibility())
● Regular FESTassertThat(view.getVisibility()).isEqualTo(View.GONE)
● FEST AndroidassertThat(view).isGone()
Code
TDD
● objc-TimesSquare○ calendar view for your apps
● PonyDebugger○ Remote network and data debugging for your native
iOS app using Chrome Developer Tools● SocketRocket
○ WebSocket client library● objc-mocktail
○ stub out HTTP servers in your Objective-C app.● KIF
○ Keep It Functional - An iOS Functional Testing Framework