site_header
en
ja
zh
Most Powerful Open Source ERP
Contact
Login
header_title
Javascript Technology Portfolio
breadcrumb
Home
Javascript Technology Portfolio
profile_document
Technologies to use for Javascript projects
Last Update:
2012-05-19
Version:
003
Language:
en
Page Content
Deliverables
jio
: a small library for input/output abstraction of Javascript applications which can be extended through plugins.
officejs
: a productivity suite developed as Single Page Application (SPA) by wrapping existing JQuery UI components with renderjs.
renderjs
: a generic widget rendering engine which can be extended through plugins and which can be used to develop frontends for enterprise applications.
Required
UI
:
JQueryUI
and
JQuery
Modules
:
AMD
from the CommonJS group using
RequireJS
- if needed, all JQuery plugins we use must be wrapped as AMD (read this
presentation
also)
Testing
:
QUnit
(JQuery testing library, read this
tutorial
)
Background processing
:
Web Workers
Spreadsheet
:
JQuery.Sheet
(JQuery)
Illustration
:
SVG Edit
(JQuery)
Calendar
:
JQuery Event Calendar
(JQuery)
HTML5 Compatibility
:
Modernizr
Functional Programming
:
Underscore.js
Packaging
:
W3C Widgets
should be used to produce packages and as a source of inspiration for our own HTML5 gadgets (i18n, includes, etc.)
Considered
RPC
:
MsgPack
only if JSON is too slow
Crypto
:
Stanford JS Crypto Library
Document Merging
: OT module of
OpenCoWeb
only if no better solution can be found (ie. compatible with offline operation)
Text Processing
:
Aloha
(moving to JQueryUI), elRTE (JQueryUI)
File Browsing
:
Aloha
repository API (moving to JQueryUI),
elFinder
(JQueryUI)
Testing
:
FireUnit
(by John Resig) since it integrates to FireBug
Mobile
: the
M-Project
(JQuery and JQuery Mobile, European Company, could be interested by collaborating in UNG or SlapOS)
Security
:
OpenAjax Hub
(adopted by OpenSocial and others),
Google Caja
(adopted by Google and others), Sandbox concept (
p. 47 of Zakas
),
AdSafe
(a
JSLint powered widget framework
from the author of
JavaScript: the Good Parts
) or read summary
here
Graph
:
WebVisio
if it can be open source (check
jp
)
Presentation
: ERP5
RunMyDocs
if it can be extracted and refactored
Preference Management
:
Unhosted
cause its design suits well that purpose, although not yet widely adopted
Localization
:
Globalizer
handles l10n and i18n
Coding Style:
JQuery Core Coding Style
,
Nexedi Javascript Naming Conventions
or
Google Style
To be Reviewed
Form Builder
:
JQuery Form Builder
(only as an example),
M
VC
:
Backbone.js
only if really need MVC (which is not as certain as many people say),
JavascriptMVC
(read bellow)
Architecture
:
Scalable Javascript Application Architecture
(N. Zakas) and
video
Implementation by Eric Brechemier
Implementation by MkLabs
Large Scale JQuery
(Addy Osmani) and
another at JQuerySummit
SPA with JQuery Best Friend
(Alex Sexton)
Templating
:
Pure
Listbox
: check jqgrid and current jquery ui effort
Browser P2P
:
Peerscape
(by
Toni Ruottu
),
BrowserSocket
and
Pepper API
Text Editor
:
Xinha
includes a good list of modules and desirable features which show how far an HTML5 editor can go
References
Learning Javascript
(the only language we use for the project)
Javascript Single Page Application Frameworks
(the kind of application we develop)
Javascript Templating
(we should be able to use multiple engine at the same time, even if we prefer one)
Widget Frameworks
(are the future of offline applications on mobile platforms or on the Web and should inspire us)
Javascript P2P
provides links to the latest distributed approaches which are browser based
related_documents
discussions