Re: LINTing Javascript in a Java WebApp
Steve wrote:
Lew wrote:
Steve wrote:
I have a number a Java webapp with a number of embedded ( in JSPs )
Javascripts and straight *.js files.
Hmm. Not a good clean separation there.
More than few times I've built the webapp and deployed it only to find
I've made a trivial error, like forgetting a semicolon in the Javascript.
Why do you need so much Javascript?
Some of it client side data validation that was done a long time ago
before frameworks made server side data validation less of a PITA.
Some of it is to enforce rules the users asked for ( example, if check
box A is selected client side, disable textfield B, etc, etc ). Some of
it is AJAX used to decrease the number of screens the user has to
submit. Some of is gluing in various JQuery features, like a pop-up
calendar for picking dates ( not something I asked for, the users love it ).
I've worked on projects like this. Never mind the JSP, all these Javascript
frameworks tend to interfere with each other and cause more bugs than they
help with.
Are you familiar with "technical debt"? It sounds like you're paying a lot just
in interest.
I recommend that you gradually (since management won't buy in or give you time)
refactor the JS to make sense. Dump old, unsupported versions of any frameworks
you're using, and clean up the separation just between the JS parts.
Consider using Facelets/XHTML with new stuff. Make sure your changes remain
compatible with existing code and you won't need to make sweeping, all-at-once
revolutionary upheavals.
But if you do nothing, this system will creak until it cracks.
.... [snip] ...
It seems wrong to put a lot of JS into a JSP. Or any, really.
I've been hearing that since the year 2,000. I would still love for it
to be true :)
Congratulations. It is true. Sort of.
Hand-coded Javascript is what I was talking about. Even auto-generated
Javascript can be dangerous, but not all APIs are equally guilty.
But you might try using static pages
with the same Javascript and debug the JS that way.
Freeze one possible output that the JSP
might generate and try to use its Javascript.
That is pretty much what I have been doing. I was hoping for the
convenience of type as you go error highlighting like I can get with Java.
Hope away.
--
Lew