JavaScript Working Group: Difference between revisions
From Joomla! Documentation
→Meetings: Added notes from JAB 12 |
|||
| Line 37: | Line 37: | ||
==Meetings== | ==Meetings== | ||
===J! and Beyond 2012=== | |||
====Managing jQuery noConflict, potential solutions:==== | |||
* add at the end of jQuery javascript file | |||
* load no_conflict.js | |||
* patch submitted by Beat: pre/post JavaScript | |||
====Miscellaneous==== | |||
* clean up library manager plugin | |||
* JSLint - add to the unit tests | |||
* JavaScript compression | |||
* Stop writing JavaScript in PHP! | |||
* Idea: module parameters for adding CSS and JavaScript (rather than adding it in the HTML body) | |||
* Ordering: Ability to add a declaration before or after | |||
====Caching==== | |||
* Browser Caching - ?#342384623749873 <--- cache bust | |||
* Joomla Caching - addScriptDeclaration: doesn't cache properly. | |||
* Different behavior in modules vs. components | |||
====Where to load JavaScript?==== | |||
* Add JavaScript at the END of the document. | |||
* OR: use defer for asynchronous loading. | |||
====Possibility: add code on the client side to detect whether libraries are loaded.==== | |||
* Would need to document | |||
* Or: Joomla.library('nameoflibrary', '1.0', 'libraryurl'); | |||
* Just use Require.js (or don't, it's madness, has ordering issues because it's asynchronous) | |||
* Just use the plugin Joe authored. Or the patch Beat submitted. | |||
====Stop==== | |||
* writing inline JavaScript! (causes "flashes") (although Geraint disagrees (and so does Peter (and Danielle))) | |||
* Don't code onClick events directly into markup! Use stopPropagation. | |||
* Geraint brings up a good point: maybe you need to do something before DOMready... but it's on the level of eval() | |||
====MooTools==== | |||
* Optimize: We're currently loading everything. | |||
* As long as we're still using it, use it modularly, the way it was intended. | |||
* Might have to be done server side. | |||
* Look at LABjs. | |||
====Follow up==== | |||
* Start a GitHub branch | |||
* Start a Google Group - or do it on the CMS list. | |||
* Sort out 2.5 issues from 3.0 features | |||
* Look at replacing frontend MooTools | |||
* Get email addresses | |||
[[Category:Documentation Working Group]] | [[Category:Documentation Working Group]] | ||
[[Category:Working Groups]] | [[Category:Working Groups]] | ||
Revision as of 15:51, 25 May 2012
The JavaScript Working Group is a Production Working Group. It is responsible for establishing standards for JavaScript and seeing that the JavaScript and/or JS frameworks are integrated and maintained.
Coordinators & PLT Contact
- The coordinator for this working group is Joe LeBlanc.
- The PLT Contact for this working group is Andy Tarr.
Announcements
External resources
Code Quality / Utilities
- JSHint: http://www.jshint.com/ https://github.com/jshint/node-jshint/
- JSLint: http://www.jslint.com/
- Node.js: http://nodejs.org
- Travis: http://travis-ci.org/
Libraries
- MooTools: http://mootools.net/
- jQuery: http://jquery.com/
- Zepto: http://zeptojs.com/
- Bootstrap: http://twitter.github.com/bootstrap/
- Sencha: http://www.sencha.com/
- Underscore: http://documentcloud.github.com/underscore/
- Backbone: http://documentcloud.github.com/backbone/
Deliverables
Technical Work produced by this group
Communications
Roadmap
Meetings
J! and Beyond 2012
Managing jQuery noConflict, potential solutions:
- add at the end of jQuery javascript file
- load no_conflict.js
- patch submitted by Beat: pre/post JavaScript
Miscellaneous
- clean up library manager plugin
- JSLint - add to the unit tests
- JavaScript compression
- Stop writing JavaScript in PHP!
- Idea: module parameters for adding CSS and JavaScript (rather than adding it in the HTML body)
- Ordering: Ability to add a declaration before or after
Caching
- Browser Caching - ?#342384623749873 <--- cache bust
- Joomla Caching - addScriptDeclaration: doesn't cache properly.
- Different behavior in modules vs. components
Where to load JavaScript?
- Add JavaScript at the END of the document.
- OR: use defer for asynchronous loading.
Possibility: add code on the client side to detect whether libraries are loaded.
- Would need to document
- Or: Joomla.library('nameoflibrary', '1.0', 'libraryurl');
- Just use Require.js (or don't, it's madness, has ordering issues because it's asynchronous)
- Just use the plugin Joe authored. Or the patch Beat submitted.
Stop
- writing inline JavaScript! (causes "flashes") (although Geraint disagrees (and so does Peter (and Danielle)))
- Don't code onClick events directly into markup! Use stopPropagation.
- Geraint brings up a good point: maybe you need to do something before DOMready... but it's on the level of eval()
MooTools
- Optimize: We're currently loading everything.
- As long as we're still using it, use it modularly, the way it was intended.
- Might have to be done server side.
- Look at LABjs.
Follow up
- Start a GitHub branch
- Start a Google Group - or do it on the CMS list.
- Sort out 2.5 issues from 3.0 features
- Look at replacing frontend MooTools
- Get email addresses