Thursday, February 13, 2014

book: RaphaelJS - O'Reilly Media

RaphaelJS - O'Reilly Media:
Graphics and Visualization on the Web

RaphaelJS: O'Reilly - Safari Books Online

Dashboard - JSFiddle - Online JavaScript Editor - jQuery, Angular, Backbone, Underscore, Knockout, YUI

RaphaĆ«l—JavaScript Library

Telerik Platrom

Mobile Apps Are Dead Online Keynote - YouTube:

Telerik has grown significantly: 850 people in 7 countries...
(Ready to be acquired by Microsoft, I think...)

Telerik Platfrom:
  • UI: 
    • Web, 
    • Hybrid, 
    • Native (new for iOS and Android)
  • Cloud: 
    • "AppBuilder" (formerly Icenium), 
    • "Backend Services" (formerly Everlive, NoSQL online data store)
    • "Mobile Testing" (new, JavaScript based)
    • "Analytics" (formerly EQATEC)
  • End-to-end
    • ...
Price:
  • pro: $79/month
  • business: $149/month
  • enterprise: "custom"


JSON Graph (JSONG)

Netflix Reactive REST @ InfoQ

To avoid duplication of data and use HTTP more efficiently,
using ID's for data in JSON : JSON Graph (JSONG)
Very interesting!

JSON

{
videoLists: {
“0”: {
  “name”: “Thrillers”,
  “0”: {
    id: 2654,
    name: “Die hard”,
    rating: 4.0
  }, 
// more titles
  length: 74,
},
“1”: {
  “name”: “Action Movies”,
  “0”: {
     id: 2654, // duplication!
     name: “Die hard”,
     rating: 4.0
  }, 
// more titles
  length: 74
}, // more lists…
length: 25
}
} 

JSONG

{
videoLists: {
“0”: {
  “name”: “Thrillers”,
  “0”: [“videos”, 2654],  // effectively a link in a graph!
  // more titles
  length: 74,
},
“1”: {
  “name”: “Action Movies”,
  “0”: [“videos”, 2654], 
  // more titles
length: 74
}, // more lists…
length: 25
},
videos: {
  2654: { // avoid duplication
    name: “Die hard”,
    rating: 4.0 
  }
}
} 
Hierarchical API: JSONG Path [videoLists’][0][0][‘name’]
[“videoLists”,0,0,”name”]
array must be a path
[“videos”, 2654]

LinkedIn Mobile - HTML5 & Node.js

Lessons from Building LinkedIn Mobile - HTML5 & Node.js: @ InfoQ

Simple = Fast + Easy ("to use") + Reliable ("predictable")

Responsive Design: Good for websites; Not for applications

HTML5 vs Native

Client: Controllers + Templates (native, to avoid memory leaks)

Server: Aggregation, Formatting (node.js)
+ Data Services, Tracking, Queues