Cool Open Source Libs
Nabil HACHICHA
GDG DevFest 2013 Algiers
Why Open Source?
● Better quality
○ Developed by many passionate developers
○ Innovation and enhancements over time

● Ope...
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 tra...
OkHttp
● SPDY support, allows all requests to the
same host to share a socket.
● Transparent GZIP
● Silently recover from ...
OkHttp
● SPDY support, allows all requests to the
same host to share a socket.
● Transparent GZIP
● Silently recover from ...
OkHttp
● SPDY support, allows all requests to the
same host to share a socket.
● Transparent GZIP
● Silently recover from ...
OkHttp
● SPDY support, allows all requests to the
same host to share a socket.
● Transparent GZIP
● Silently recover from ...
OkHttp
● SPDY support, allows all requests to the
same host to share a socket.
● Transparent GZIP
● Silently recover from ...
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...
Code
Testsing
Robolectric
Mockito
FEST
Robolectric
● Run Android tests inside JVM
● Instruct Robolectric to configure Android
differently
○ use a non-standard ma...
Mockito
● Mocking framework, with fluent API syntaxe
FEST
● Fixtures for Easy Software Testing
● Simplify software testing by providing a
fluent Assertions
● Just use assertTh...
FEST
Example:
● Regular JUNIT
assertEquals(View.GONE,view.getVisibility())

● Regular FEST
assertThat(view.getVisibility()...
Code
TDD
● objc-TimesSquare
○ calendar view for your apps

● PonyDebugger
○ Remote network and data debugging for your native
i...
Thanks!
Q&A

Links http://square.github.io/
Upcoming SlideShare
Loading in...5
×

GDG Algiers DevFest 2013 Cool AndroidLibs

401

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
401
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

GDG Algiers DevFest 2013 Cool AndroidLibs

  1. 1. Cool Open Source Libs Nabil HACHICHA GDG DevFest 2013 Algiers
  2. 2. 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
  3. 3. Use case ● Develop & test a small app (Employees list)
  4. 4. Use case Architecture Request content from network
  5. 5. Use case Architecture ListView Adapter, based on a simple POJO
  6. 6. Use case Architecture Fragment holding our ListView
  7. 7. Use case Architecture Parse HTML using Xpath
  8. 8. OkHttp ● Efficient Http client, based on java.net. HttpURLConnection or Apache HttpClient ● Can also be used as as the transport layer for Volley
  9. 9. 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)
  10. 10. 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)
  11. 11. 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)
  12. 12. 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)
  13. 13. 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)
  14. 14. Picasso ● A powerful image downloading and caching library for Android
  15. 15. Picasso ● Handling ImageView recycling and download cancelation in an adapter ● Complex image transformations with minimal memory use. ● Automatic memory and disk caching.
  16. 16. Code
  17. 17. Testsing Robolectric Mockito FEST
  18. 18. 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)
  19. 19. Mockito ● Mocking framework, with fluent API syntaxe
  20. 20. FEST ● Fixtures for Easy Software Testing ● Simplify software testing by providing a fluent Assertions ● Just use assertThat ● FEST Android, extension of FEST
  21. 21. FEST Example: ● Regular JUNIT assertEquals(View.GONE,view.getVisibility()) ● Regular FEST assertThat(view.getVisibility()).isEqualTo (View.GONE) ● FEST Android assertThat(view).isGone()
  22. 22. Code
  23. 23. 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
  24. 24. Thanks! Q&A Links http://square.github.io/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×