views:

88

answers:

2

I'd like to play around a bit with pure web app programming.

Coming from a VB6 background, some features I'd like are:

  • step-by-step debugging
  • Visual UI design

If we decide to do our next app as a web app, price isn't terribly important (a better IDE being more productive and pleasant to use).

Update: I'm looking for something like (what I hear you get with) jQuery where there is an underlying framework that takes care of all the browser differences. So I just plop a UI widget (Drop-down combo box, etc.) onto the IDE and the framework takes care of the javascript, etc. dealing with all the variations of browsers and O/S's.

+1  A: 

I think you'll struggle by starting off with those requirements.

  • Step-by-step debugging: More commonly, you're going to want to do this in the browser itself rather than in the IDE. If you have a bug that only happens in Chrome 6 then being able to debug JavaScript in an IDE isn't going to help you much
  • Visual UI design: Again the issue is that, in the end, what it looks like visually in your IDE is unimportant, it's what it looks like in different browsers, on mobile phones etc. that matters

Probably the closest thing to what you're after is Dreamweaver, or if you're more comfortable with MS products you could try Expression Web (never used it myself). Personally I use Komodo Edit, the latest version has support for HTML5 and CSS3, and there's a paid version which adds a number of features, but neither are IDEs like you're (apparently) expecting.

In response to your edit: Komodo Edit has built in support for jQuery (ie. it offers code completion and tooltips), and you'll probably get a long way with a CSS framework (or even an HTML5 one) for ironing out the browser differences, but primarily front end web development is about editing text files and looking at them in browsers. The sort of things that IDEs are generally helpful for are not really major factors.

Further edit: Also, if you want a JavaScript widget framework, you probably should look at one of:

robertc
You may be right. And that's one of my concerns with a web-based app: if it's going to potentially render differently in every browser (and potentially on every platform) it's going to provide diminishing returns because of the increased complexity of testing and debugging. ( Let's just assume we support only the 2 most popular browsers and the Mac O/S (a few versions back) and Windows (3 versions back). Now we're talking about 2 x4=8 permutations. See the ADDED item in the Question.
Clay Nichols
@ClayNichols Yep, welcome to web development ;) It's not the same as what you're used to with desktop development, so instead of trying to replicate your desktop development process for the web, take a step back and consider that an IDE is probably not the best place to start. Web is a different platform, with different best practices and trade offs, drag and drop UI design is unlikely to work, and it seems to me that you need to learn a lot more about front end web development before you can make a decision as to what is the best tool to use.
robertc
@ClayNichols Also, you may find this article interesting: http://www.zeldman.com/2010/07/05/an-indesign-for-html-and-css/
robertc
@RobertC: I'm sure you're right. This is why I've avoided moving our stuff to the web. I can't take the productivity hit of web development. (Too spoiled with desktop development). I'll keep an eye on this issue and hopefully find a framework (like Komodo Edit) that keeps me productive.
Clay Nichols
A: 

Clay, web development is nothing like software development. I have done both and I can assure you that there's no way you can make web development work like software development or visa versa. You just have to learn a new way of programming with Dreamweaver (that's what I use) or HTMLPad or any HTML editor would do.

Even jQuery is NOT a visual IDE - you don't just drag the icon and drop it on a webpage. You have to CODE it (you insert its javascript and then add your code to manipulate the widgets) and then check the webpage online (or offline with local server). You have to know WHERE to put the widget. You need to learn HTML and CSS. It's required.

netrox