In the introduction to this series
we talked about why we're doing this series: to collaborate better with you, our users, and to help you experience Enjoyment, Understanding, and Achievement
with our APIs and platform. As such, this series is highly experimental, and nothing about the approach herein is "set in stone". It comes out of some recent work we've done to enable a few customers to use JSON more easily.
It's a progressive series, comprised of how to articles and a few asides that delve into the fundamental architecture of the web, HTTP, REST, and the more recent Linked Data project. In addition to the technologies and techniques mentioned in the introduction, you'll also learn about the motivations of key people who built and pioneered the web's evolution, like Tim Berners/Lee, Roy Fielding, and Brendan Eich.
I hope you enjoy it, and please share any feedback for improving the series as you read.
/ Josh Gough
The series is broken into sections. The comments below indicate the theme for each and the experience levels that apply to them to help you decide where to start.
Section 1: Introduction
Experience Levels: All levels
Read these first, regardless of your web development experience level to get a good background and see a sample app.
Section 2: Web and HTTP Fundamentals: Simple Ideas for Linking the Whole, Wide World
Experience Levels: Beginner to Novice
Section 3: Understand REST APIs and How To Consume the VersionOne REST Data API with jQuery.ajax
Experience Levels: Novice to Intermediate
), or are new to Representation State Transfer (REST
) and REST/based APIs, then you can probably start here:
Section 4: Build a Story Editor with JSFiddle, HTML, jQuery, JSON, Backbone.js, and Backbone Forms for Extra Magic
Experience Level: Intermediate
Section 5: Use VersionOne Metadata to Dynamically Build the Story Editor, Plus Some Caffeine!
Experience Levels: Intermediate to Advanced
? Then, please open a new tab and head for VersionOne Careers
Seriously, you might want to jump into the last couple of articles to see how to use all three VersionOne REST APIs: Data, Meta, and Localization. You'll see how to inherit and override parts of Backbone.Model
to consume the VersionOne API, and will use some other handy functions of Underscore.js
in these articles:Note:
Do you find this still too basic? Are you already criticizing my example choice of Backbone.js? Good. Then, maybe you can help our community refactor either the MetaMorformizr App
or the original VersionOne Feature Requestor Sample Custom App
to be something you would feel proud of saying you helped build for the open source community. We'd love the help.
For more web background, as well as a look into more modern features of HTML 5, try these resources:
For more REST, and more properly Hypermedia, API information, try these:
Finally, if you are intrigued by the increasingly popular "real/time web", you should check out the following very cool and exciting libraries. Note, however, these are all still in the early stages of development, relatively speaking, and it's still an open question
as to the best way to use these technologies in conjunction with REST. What do you think?
All of these are based on the concept of publish/subscribe messaging from the web server to the client/browser. Here they are: