[RSS]

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) +------------------------------------------------------------------+ | Add JavaScript Libraries To Project | +------------------------------------------------------------------+ | +-------------------------+-+ | | Select libraries to add to project | RailsProject6 |v| | | +-------------------------+-+ | | +--------------------------------------------------------------+ | | |[x] Woodstock | | | |[ ] YahooUI | | | |[ ] Dojo | | | |[ ] Prototype | | | |[ ] Scriptaculous | | | +--------------------------------------------------------------+ | | [ Register addional libraries...] | | | | +-----------------------------------------+ | | Copy Framework into: |/public/resources | | | +-----------------------------------------+ | | [OK] [Cancel] | +------------------------------------------------------------------+
      • 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