Nacef LABIDIConnect your app to your backend
Connect your mobile app to your
backend
Presented by Nacef LABIDI
March 2014
Who I am ?
• System Level Developer @ STMicroelectronics
• Co-founder and Technical Manager @ Oceanys
• Project Manager @ Evatys
• Technical Consultant @ Hewlett-Packard
• IT Manager @ US Peace Corps
• Global Helpdesk Manager @ Vistaprint
Who I really am ? ;)
• Computer engineer, geek and music addict.
• Open Source enthusiast, supporter and contributor.
• Android apps developer (when I find some time)
• Python fan and supporter.
• Speak many programming languages.
Audience
• Beginners in Android development
• People wanting to build mobile apps around dynamic
content
• Building multi-platform mobile apps
Storing your data inside vs. outside of your
app
Pros
• Decoupling between the app and the data
• Keeping the logic on the server side
• Makes your apps lighter
• Makes your logic consistent and reusable
• Evolution of your service relies more on the data than
the app itself.
• Publish your data to multiple medias : Website, all kind
of mobile devices, share your data with affiliates
Storing your data inside vs. outside of your
app
Cons
• Need to be connected to access the data
• This can be improved by caching some of the data
locally
• Delays in treatment depending on the volume of data
and the quality of the connection
• May expose your data to some security risks
• Again this can be addressed
How would I proceed ?
If you don’t have a backend, start by building one
• This will help you define the structure of the data that
you want to expose in your app
• Designing the data will also help you design the layout
of your app
• Build a webservice API that will be used to access the
data
• Secure your webservice
Building your backend
Choose the right tools : modern frameworks
• Define your data structures
• Use migrations to evolve your data structures without
messing with your data
• Use RESTful capabilities of your framework to publish
your data to your app
• Choose the exchange format that suits you most
(XML, JSON…)
• Use security capabilities to protect your data
Secure your backend
Different security methods :
HTTP Basic Authentication
Login and password sent with the HTTP request
ApiKey Authentication
Passing an ApiKey generated on the server side in each
HTTP request
OAuth Authentication
Through a third party authentication service (Google,
Facebook, Yahoo, OpenID …)
Create your custom authentication system
Public/Private RSA keys
…
My personal choices
Python language
• http://www.python.org
Django framework https://www.djangoproject.com
• Provides Model classes
• Supports many DB backends (Relational & NoSQL)
• Migrations: through South module
http://south.aeracode.org
• RESTful API: through Tastypie module
http://tastypieapi.org
Build your app
Use Apache HTTP Client classes
Use Google Gson to map API responses to your
local objects
• https://code.google.com/p/google-gson
Use AsyncTask to keep your app responsive while
retrieving your data from the server
Goodies : You should try RoboGuice to have a nicely
architected app
• https://github.com/roboguice/roboguice
Retrospective
Tunibus : An android app allowing users to find their
way through the Tunis public transportation (Bus,
Metro, Train …)
Neo4j Graph database representing stations and
edges representing transportation lines connecting the
stations. http://www.neo4j.org
RESTful webservice that returns the possible paths
between two points
Android app that connects through the API to the
Graph DB
Crowdsourcing web app to enhance the data quality
Retrospective
RESTful
API
Thank you !
Questions ?

More Related Content

PDF
Cms integration of apache solr how we did it.
PDF
Apache Solr CMS Integration @ Lucene/Solr Revolution San Diego 2013
PPTX
Android Security and Peneteration Testing
PPTX
EnterpriseSearch
PPTX
Providers
PPTX
PPTX
Phase one of OpenAthens SP evolution
PDF
Little rock data management 032621
Cms integration of apache solr how we did it.
Apache Solr CMS Integration @ Lucene/Solr Revolution San Diego 2013
Android Security and Peneteration Testing
EnterpriseSearch
Providers
Phase one of OpenAthens SP evolution
Little rock data management 032621

What's hot (20)

PDF
O365Con19 - Automate All The Things - Chris Goosen
PPTX
What is onedrive for business
PPTX
Azure Machine Learning
PDF
Webinar: Building Customer-Targeted Search with Fusion
PPTX
Elasticsearch - Scalability and Multitenancy
PPTX
[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams
PPTX
Introduction à Application Insights
PPTX
Encryption in the enterprise
PDF
CIS13: APIs, Identity, and Securing the Enterprise
PPTX
SemTech 2012 Talk semantify office
PPTX
The Internet of Things - PolarSeven
PPTX
SQL Server 2016 What's New For Developers
PPT
SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1
PDF
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
PPTX
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
PPTX
Anypoint platform for api
PDF
Webinar: Fusion 3.1 - What's New
PDF
Workshop 04 android-development
PDF
Intro to Piwik project - 2014
PPTX
ECS2019 - Managing Content Types in the Modern World
O365Con19 - Automate All The Things - Chris Goosen
What is onedrive for business
Azure Machine Learning
Webinar: Building Customer-Targeted Search with Fusion
Elasticsearch - Scalability and Multitenancy
[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams
Introduction à Application Insights
Encryption in the enterprise
CIS13: APIs, Identity, and Securing the Enterprise
SemTech 2012 Talk semantify office
The Internet of Things - PolarSeven
SQL Server 2016 What's New For Developers
SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
Anypoint platform for api
Webinar: Fusion 3.1 - What's New
Workshop 04 android-development
Intro to Piwik project - 2014
ECS2019 - Managing Content Types in the Modern World
Ad

Similar to Droidcon Tunisia 2014 connect your mobile app to your backend (20)

DOCX
A Quick Guide On Mobile App Backend Development For Busy People.docx
DOCX
A Quick Guide On Mobile App Backend Development For Busy People.docx
PDF
How to Create Web App With Simple Step by Step Process
PPTX
Cross platform mobile app
PPTX
A great api is hard to find
PPTX
Info on How to build a WebApp from Scratch
PPTX
YALLZI @ mongoDBWorld
PPTX
Building an Analytics Engine on MongoDB to Revolutionize Advertising
KEY
Drupal as Base For Your NEXT Mobile App
PDF
Build your mobile app from a to z presentation
PPTX
Building modern applications in the cloud
PDF
Designing and Implementing a Multiuser Apps Platform
PDF
The Rise of BaaS
PDF
iPhone offline webapps
PDF
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
KEY
Approaches to mobile site development
PDF
Bd conf sencha touch workshop
PDF
Busy Bee Application Develompent Platform
PPTX
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
PDF
Building Cross Platform Mobile Web Apps
A Quick Guide On Mobile App Backend Development For Busy People.docx
A Quick Guide On Mobile App Backend Development For Busy People.docx
How to Create Web App With Simple Step by Step Process
Cross platform mobile app
A great api is hard to find
Info on How to build a WebApp from Scratch
YALLZI @ mongoDBWorld
Building an Analytics Engine on MongoDB to Revolutionize Advertising
Drupal as Base For Your NEXT Mobile App
Build your mobile app from a to z presentation
Building modern applications in the cloud
Designing and Implementing a Multiuser Apps Platform
The Rise of BaaS
iPhone offline webapps
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
Approaches to mobile site development
Bd conf sencha touch workshop
Busy Bee Application Develompent Platform
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building Cross Platform Mobile Web Apps
Ad

Recently uploaded (20)

PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Unlock new opportunities with location data.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
August Patch Tuesday
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Getting Started with Data Integration: FME Form 101
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Modernising the Digital Integration Hub
PDF
Hybrid model detection and classification of lung cancer
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Unlock new opportunities with location data.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
August Patch Tuesday
Module 1.ppt Iot fundamentals and Architecture
Benefits of Physical activity for teenagers.pptx
Chapter 5: Probability Theory and Statistics
O2C Customer Invoices to Receipt V15A.pptx
Developing a website for English-speaking practice to English as a foreign la...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
WOOl fibre morphology and structure.pdf for textiles
DP Operators-handbook-extract for the Mautical Institute
Getting Started with Data Integration: FME Form 101
1 - Historical Antecedents, Social Consideration.pdf
sustainability-14-14877-v2.pddhzftheheeeee
NewMind AI Weekly Chronicles – August ’25 Week III
Modernising the Digital Integration Hub
Hybrid model detection and classification of lung cancer
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game

Droidcon Tunisia 2014 connect your mobile app to your backend

  • 1. Nacef LABIDIConnect your app to your backend Connect your mobile app to your backend Presented by Nacef LABIDI March 2014
  • 2. Who I am ? • System Level Developer @ STMicroelectronics • Co-founder and Technical Manager @ Oceanys • Project Manager @ Evatys • Technical Consultant @ Hewlett-Packard • IT Manager @ US Peace Corps • Global Helpdesk Manager @ Vistaprint
  • 3. Who I really am ? ;) • Computer engineer, geek and music addict. • Open Source enthusiast, supporter and contributor. • Android apps developer (when I find some time) • Python fan and supporter. • Speak many programming languages.
  • 4. Audience • Beginners in Android development • People wanting to build mobile apps around dynamic content • Building multi-platform mobile apps
  • 5. Storing your data inside vs. outside of your app Pros • Decoupling between the app and the data • Keeping the logic on the server side • Makes your apps lighter • Makes your logic consistent and reusable • Evolution of your service relies more on the data than the app itself. • Publish your data to multiple medias : Website, all kind of mobile devices, share your data with affiliates
  • 6. Storing your data inside vs. outside of your app Cons • Need to be connected to access the data • This can be improved by caching some of the data locally • Delays in treatment depending on the volume of data and the quality of the connection • May expose your data to some security risks • Again this can be addressed
  • 7. How would I proceed ? If you don’t have a backend, start by building one • This will help you define the structure of the data that you want to expose in your app • Designing the data will also help you design the layout of your app • Build a webservice API that will be used to access the data • Secure your webservice
  • 8. Building your backend Choose the right tools : modern frameworks • Define your data structures • Use migrations to evolve your data structures without messing with your data • Use RESTful capabilities of your framework to publish your data to your app • Choose the exchange format that suits you most (XML, JSON…) • Use security capabilities to protect your data
  • 9. Secure your backend Different security methods : HTTP Basic Authentication Login and password sent with the HTTP request ApiKey Authentication Passing an ApiKey generated on the server side in each HTTP request OAuth Authentication Through a third party authentication service (Google, Facebook, Yahoo, OpenID …) Create your custom authentication system Public/Private RSA keys …
  • 10. My personal choices Python language • http://www.python.org Django framework https://www.djangoproject.com • Provides Model classes • Supports many DB backends (Relational & NoSQL) • Migrations: through South module http://south.aeracode.org • RESTful API: through Tastypie module http://tastypieapi.org
  • 11. Build your app Use Apache HTTP Client classes Use Google Gson to map API responses to your local objects • https://code.google.com/p/google-gson Use AsyncTask to keep your app responsive while retrieving your data from the server Goodies : You should try RoboGuice to have a nicely architected app • https://github.com/roboguice/roboguice
  • 12. Retrospective Tunibus : An android app allowing users to find their way through the Tunis public transportation (Bus, Metro, Train …) Neo4j Graph database representing stations and edges representing transportation lines connecting the stations. http://www.neo4j.org RESTful webservice that returns the possible paths between two points Android app that connects through the API to the Graph DB Crowdsourcing web app to enhance the data quality