NB61JavaScriptMasterPlan
AJAX Features in NB 6.1
- Editor
- JavaScript, JSON, HTML, Rhtml, ERB - NB 6.1
- CSS - 6.1, improve in future: in completion show documentation & browser support, better preview (Firefox/IE?), structural editor is hard to use, etc.
- PHP - preview in 6.1
- JavaScript Debugger - preview in 6.1
- Firefox (IE later)
- DOM Inspector, CSS inspector, etc. later
- Components
- Bundle JavaScript frameworks: code, samples and documentation on UC
- some of: Woodstock, jQuery, YUI, Ext, scriptaculous, dojo, prototype, ...
- Libraries are picked up by JavaScript editor code completion and by the debugger when they are in project
- We need a concept of JavaScript libraries - compact and expanded version, documentation, etc.
- UI to let the user select libraries and put them into a project. This module can select an appropriate location based on the project type (/public/resources in Rails, /web/resources in J2EE, etc.). For web project there should be an extension of this to present the AJAX libraries as "web framework", could be presented as one framework which would allow options to include various frameworks. For illustration only (this UI does not fit well into the Libraries concept used by NetBeans)
- Code samples for libraries. How to best provide the samples in NetBeans? The standard NB way is to bundle them into a project but it makes browsing samples and using copy paste harder. Copy/pasting is the main way how these samples will be used. Also, there are many many samples for each project, hard to tell if they should be one or more project. Perhaps we could create a "Samples" window, after adding the framework library the window would be open in the Palette area.
- Code samples for libraries. How to best provide the samples in NetBeans? The standard NB way is to bundle them into a project but it makes browsing samples and using copy paste harder. Copy/pasting is the main way how these samples will be used. Also, there are many many samples for each project, hard to tell if they should be one or more project. Perhaps we could create a "Samples" window, after adding the framework library the window would be open in the Palette area.
+--------------------------------------------------------------------+ | Projects/Files/.. | foo.html / a.js / (editor) | Palette/Samples | +--------------------------------------------------------------------+ | +RailsProject7 | | YUI Samples | | + Controllers | | + animation | | ... | | ... | | ... | | ... | | ... | | ... | | ... | | ... | | ... | | ... | +--------------------------------------------------------------------+
- Bundle the specific libraries and documentaion (wrap them into NetBeans modules), available on UC
- jMaki available on UC, provides palette and customizer
- Misc. future ideas
- Refactoring: move CSS styles between <style> tag and and a CSS file, JavaScript code between <script> and .js, rename tag ids and classes, rename styles, etc.
- Compact JavaScript action
- Bundle a pre-populate CSS templates for every project (nobody creates a project w/o CSS)
- JavaScript Security
Aptana comparison
| Feature | Aptana Community Edition | Aptana Professional Edition ($99) | NB 6.1 | NB6.1+ |
|---|---|---|---|---|
| Ajax Support | ||||
| HTML/CSS/JavaScript Development | Y | Y | Y | Y |
| Pre-included popular Ajax libraries | Y | Y | N | Y |
| Included samples | Y | Y | N | Y |
| Drag and Drop code snippets for AJAX component | N | N | Plugin (jMaki) | Y |
| JSON (JavaScript Object Notation) Editor | Y | Y | Y | Y |
| Platform/Device Support | ||||
| Adobe AIR Development (via Plugin) | Y | Y | N | N |
| iPhone Development (via Plugin) | Y | Y | Plugin? | ? |
| Server-side Support | ||||
| Ruby on Rails (RadRails) Development (via Plugin) | Y | Y | Y | Y |
| PHP Development (via Plugin) | Y | Y | Beta | Y |
| Protocols | ||||
| FTP | Y | Y | Y | Y |
| FTPS | N | Y | N | Y |
| SFTP | N | Y | N | Y |
| Remote Project Import Wizard | N | Y | N | N |
| JavaScript Debugging | ||||
| Firefox | Y | Y | Preview | Y |
| Internet Explorer | N | Y | N | Y? |
| Advanced Features | ||||
| JavaScript/Ruby Automation of the Development Environment | ||||
| Project Reporting Engine | N | Y | N | N |
| Support | No | Included | Available | Available |
| SVN/Hg access | No | Yes | Yes | Yes |

