update about

This commit is contained in:
rolux 2012-07-02 13:29:28 +02:00
parent 0fc6e09927
commit 499f16d9ee

View file

@ -4,13 +4,13 @@
<p><code>OxJS</code> (pronounced <i>oh-ex-jay-ess</i>) is a comprehensive JavaScript library, originally developed for the media archive platform <a href="http://pan.do/ra" target="_blank">pan.do/ra</a>. While it still has bugs, holes, design errors and lots of cruft, some parts of it may already be of interest to a wider audience.</p> <p><code>OxJS</code> (pronounced <i>oh-ex-jay-ess</i>) is a comprehensive JavaScript library, originally developed for the media archive platform <a href="http://pan.do/ra" target="_blank">pan.do/ra</a>. While it still has bugs, holes, design errors and lots of cruft, some parts of it may already be of interest to a wider audience.</p>
<h2><b>Ox.js</b></h2> <h2><b>Core library</b></h2>
<p>The core of <code>OxJS</code> is <code>Ox.js</code>, a general-purpose utility library. It <a href="#doc/Ox.loop">embraces</a> <a href="#doc/Ox.forEach">functional</a> <a href="#doc/Ox.map">programming</a>, <a href="#doc/Ox.load">supports modules</a>, <a href="#doc/Ox.getDateInWeek">provides</a> <a href="#doc/Ox.getDayOfTheYear">lots</a> <a href="#doc/Ox.getDaysInMonth">of</a> <a href="#doc/Ox.getDaysInYear">tools</a> <a ref="#doc/Ox.getISODate">to</a> <a href="#doc/Ox.getISOWeek">deal</a> <a href="#doc/Ox.parseDate">with</a> <a href="#doc/Ox.formatDate">dates</a>, <a href="#doc/Ox.atanh">has</a> <a href="#doc/Ox.deg">all</a> <a href="#doc/Ox.limit">the</a> <a href="#doc/Ox.mod">missing</a> <a href="#doc/Ox.sign">math</a> <a href="#doc/Ox.trunc">methods</a> (<a href="#doc/Ox.getBearing">plus</a> <a href="#doc/Ox.getCircle">some</a> <a href="#doc/Ox.getDistance">more</a> <a href="#doc/Ox.getLine">for</a> <a href="#doc/Ox.getDegreesPerMeter">geographic</a> <a href="#doc/Ox.getLatLngByXY">coordinates</a>) <a href="#doc/Ox.pad">and</a> <a href="#doc/Ox.repeat">helper</a> <a href="#doc/Ox.startsWith">functions</a> <a href="#doc/Ox.truncate">for</a> <a href="#doc/Ox.wordwrap">strings</a> <a href="#doc/Ox.escapeRegExp">and regular expressions</a>, <a href="#doc/Ox.isEmpty">fixes</a> <a href="#doc/Ox.isInt">type</a> <a href="#doc/Ox.typeOf">detection</a> <a href="#doc/Ox.isEqual">and equality testing</a>, <a href="#doc/Ox.addLinks">includes</a> <a href="#doc/Ox.encodeHTMLEntities">utilities</a> <a href="#doc/Ox.highlight">to</a> <a href="#doc/Ox.normalizeHTML">handle</a> <a href="#doc/Ox.sanitizeHTML">HTML</a>, <a href="#doc/Ox.$">the DOM</a> <a href="#doc/Ox.getJSON">and</a> <a href="#doc/Ox.getJSONC">remote</a> <a href="#doc/Ox.getJSONP">requests</a>, can <a href="#doc/Ox.tokenize">tokenize</a> and <a href="#doc/Ox.minify">minify</a> JavaScript, comes with its own <a href="#doc/Ox.doc">documentation format</a>, including <a href="#doc/Ox.test">inline tests</a>, <a href="#doc/Ox.api">and</a> <a href="#doc/Ox.getset">does</a> <a href="#doc/Ox.getAsync">many</a> <a href="#doc/Ox.getFile">other</a> <a href="#doc/Ox.encodeDeflate">cool</a> <a href="#doc/Ox.encodeUTF8">things</a>.</p> <p>The core of <code>OxJS</code> is <code>Ox.js</code>, a general-purpose utility library. It <a href="#doc/Ox.loop">embraces</a> <a href="#doc/Ox.forEach">functional</a> <a href="#doc/Ox.map">programming</a>, <a href="#doc/Ox.load">supports modules</a>, <a href="#doc/Ox.getDateInWeek">provides</a> <a href="#doc/Ox.getDayOfTheYear">lots</a> <a href="#doc/Ox.getDaysInMonth">of</a> <a href="#doc/Ox.getDaysInYear">tools</a> <a ref="#doc/Ox.getISODate">to</a> <a href="#doc/Ox.getISOWeek">deal</a> <a href="#doc/Ox.parseDate">with</a> <a href="#doc/Ox.formatDate">dates</a>, <a href="#doc/Ox.atanh">has</a> <a href="#doc/Ox.deg">all</a> <a href="#doc/Ox.limit">the</a> <a href="#doc/Ox.mod">missing</a> <a href="#doc/Ox.sign">math</a> <a href="#doc/Ox.trunc">methods</a> (<a href="#doc/Ox.getBearing">plus</a> <a href="#doc/Ox.getCircle">some</a> <a href="#doc/Ox.getDistance">more</a> <a href="#doc/Ox.getLine">for</a> <a href="#doc/Ox.getDegreesPerMeter">geographic</a> <a href="#doc/Ox.getLatLngByXY">coordinates</a>) <a href="#doc/Ox.pad">and</a> <a href="#doc/Ox.repeat">helper</a> <a href="#doc/Ox.startsWith">functions</a> <a href="#doc/Ox.truncate">for</a> <a href="#doc/Ox.wordwrap">strings</a> <a href="#doc/Ox.escapeRegExp">and regular expressions</a>, <a href="#doc/Ox.isEmpty">fixes</a> <a href="#doc/Ox.isInt">type</a> <a href="#doc/Ox.typeOf">detection</a> <a href="#doc/Ox.isEqual">and equality testing</a>, <a href="#doc/Ox.addLinks">includes</a> <a href="#doc/Ox.encodeHTMLEntities">utilities</a> <a href="#doc/Ox.highlight">to</a> <a href="#doc/Ox.normalizeHTML">handle</a> <a href="#doc/Ox.sanitizeHTML">HTML</a>, <a href="#doc/Ox.$">the DOM</a> <a href="#doc/Ox.getJSON">and</a> <a href="#doc/Ox.getJSONC">remote</a> <a href="#doc/Ox.getJSONP">requests</a>, can <a href="#doc/Ox.tokenize">tokenize</a> and <a href="#doc/Ox.minify">minify</a> JavaScript, comes with its own <a href="#doc/Ox.doc">documentation format</a>, including <a href="#doc/Ox.test">inline tests</a>, <a href="#doc/Ox.api">and</a> <a href="#doc/Ox.getset">does</a> <a href="#doc/Ox.getAsync">many</a> <a href="#doc/Ox.getFile">other</a> <a href="#doc/Ox.encodeDeflate">cool</a> <a href="#doc/Ox.encodeUTF8">things</a>.</p>
<h2><b>Ox.UI</b></h2> <h2><b>UI framework</b></h2>
<p>Then there are modules, most notably <code>Ox.UI</code>, which makes it super simple to write complex, desktop-class web applications for HTML5-compliant browsers. <code>Ox.UI</code> has tons of highly customizable and <a href="#doc/Ox.Theme">fully themable</a> widgets: <a href="#doc/Ox.ArrayInput">all</a> <a href="#doc/Ox.DateInput">the</a> <a href="#doc/Ox.FileInput">form</a> <a href="#doc/Ox.ObjectInput">elements</a> <a href="#doc/Ox.SelectInput">you</a> <a href="#doc/Ox.Range">ever</a> <a href="#doc/Ox.Spreadsheet">wanted</a>, <a href="#doc/Ox.MainMenu">menus</a> that actually work, resizable <a href="#doc/Ox.SplitPanel">panels</a> and <a href="#doc/Ox.Dialog">dialogs</a>, <a href="#doc/Ox.IconList">lists</a> and <a href="#doc/Ox.TextList">tables</a> that can hold millions of items, <a href="#doc/Ox.Map">maps</a> and <a href="#doc/Ox.Calendar">calendars</a> done right, a feature-rich <a href="#doc/Ox.VideoPlayer">video player</a>, <a href="#doc/Ox.Chart">and</a> <a href="#doc/Ox.SourceViewer">lots</a> <a href="#doc/Ox.SyntaxHighlighter">more</a>. These widgets allow you to focus on your application and argue less with the DOM. And if you need to, <a href="#doc/Ox.Element">each of them</a> provides the exact same API as a <a href="#doc/Ox.JQueryElement">jQuery DOM object</a>. But <code>Ox.UI</code> also provides the logic to bring these elements together, including custom events, <a href="#doc/Ox.Keyboard">keyboard</a> <a href="#doc/Ox.Focus">focus</a>, <a href="#doc/Ox.API">remote API discovery</a> and <a href="#doc/Ox.URL">client-side URL handling</a>. As long as your backend speaks JSON, it doesn't have to speak any HTML whatsoever.</p> <p>Then there are modules, most notably <code>Ox.UI</code>, which makes it super simple to write complex, desktop-class web applications for HTML5-compliant browsers. <code>Ox.UI</code> has tons of highly customizable and <a href="#doc/Ox.Theme">fully themable</a> widgets: <a href="#doc/Ox.ArrayInput">all</a> <a href="#doc/Ox.DateInput">the</a> <a href="#doc/Ox.FileInput">form</a> <a href="#doc/Ox.ObjectInput">elements</a> <a href="#doc/Ox.SelectInput">you</a> <a href="#doc/Ox.Range">ever</a> <a href="#doc/Ox.Spreadsheet">wanted</a>, <a href="#doc/Ox.MainMenu">menus</a> that actually work, resizable <a href="#doc/Ox.SplitPanel">panels</a> and <a href="#doc/Ox.Dialog">dialogs</a>, <a href="#doc/Ox.IconList">lists</a> and <a href="#doc/Ox.TextList">tables</a> that can hold millions of items, <a href="#doc/Ox.Map">maps</a> and <a href="#doc/Ox.Calendar">calendars</a> done right, a feature-rich <a href="#doc/Ox.VideoPlayer">video player</a>, <a href="#doc/Ox.Chart">and</a> <a href="#doc/Ox.SourceViewer">lots</a> <a href="#doc/Ox.SyntaxHighlighter">more</a>. These widgets allow you to focus on your <a href="#doc/Ox.App">application</a> and argue less with the DOM. And if you need to, <a href="#doc/Ox.Element">each widget</a> provides the exact same API as a <a href="#doc/Ox.JQueryElement">jQuery-wrapped DOM element</a>. But <code>Ox.UI</code> also provides the logic to bring these pieces together, including <a href="#doc/Ox.Event">custom events</a>, <a href="#doc/Ox.Keyboard">keyboard</a> <a href="#doc/Ox.Focus">focus</a>, <a href="#doc/Ox.API">remote API discovery</a> and <a href="#doc/Ox.URL">client-side URL handling</a>. As long as your backend speaks JSON, it doesn't have to speak any HTML whatsoever.</p>
<h2><b>Other modules</b></h2> <h2><b>Other modules</b></h2>