Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSON all the way

Ronan Berder
September 15, 2012

JSON all the way

Why we ended up building the Humanitarian ID project (http://humanitarianid.org) for the UN entirely on Javascript (node.js + backbone.js), allowing us to manipulate JSON from the mobile clients to the backend.

Ronan Berder

September 15, 2012
Tweet

More Decks by Ronan Berder

Other Decks in Technology

Transcript

  1. And what do you do? 我们做什么 • Data centric apps

    • Humanitarian and non-profit space • In Shanghai and Washington, DC (and soon SF)
  2. What’s Reliefweb? Reliefweb是什么 • Re-launched in 2011 • News for

    the humanitarian world • Built on Drupal... I know (PHP + MySQL + Sphinx)
  3. What then? 客户需求 • Need to innovate • Built a

    prototype and pitched it: User profiles + Mobile
  4. Back to the whiteboard 更高要求 • We need consistency •

    We need simplicity • We need flexibility • We need speed And about a million other things...
  5. Why JS? • Great for a RESTful API • Great

    too for a light client • Other perks; performance, tools... And... we already know it.
  6. Bones for the API 什么是  Bones • RESTful JSON +

    OAuth • Bones = express.js + backbone.js https://github.com/developmentseed/bones • Share models on client and server
  7. Using what we know 最流行的 • HTML5 + jQuery mobile

    + Backbone.js • Phonegap • and... Jekyll
  8. Why Jekyll? • HTML5 apps can get messy • Jekyll

    gives us templates & includes And we’ll be able to host it on Github pages...
  9. Elastic search • Started with CouchDB • Now Elastic Search

    & Redis, because: • Full text search, • Document oriented, • REST API, Slower, but we don’t care.
  10. Why so serious? 不好的 • Not a lot of best

    practices but we’re trying hard to build some • Some stuff still sucks jQuery mobile, I’m looking at you
  11. The good stuff 好的 • JSON all the way •

    Javascript all the way And performance, tools, community...
  12. What we see 我们看到的未来 • The line is getting blurry:

    • more fragmentation... • but more communication • Loosely coupled systems