JavaScript application development?
2004-06-23 19:27:07.345673+00 by
Dan Lyke
12 comments
It is, of course, going much slower than I'd wanted what with everything else going on in my life, but I actually dropped back and started with a command line interface to some of my snippet manager ideas, and I think I'm slowly making progress. In fact I may soon get to the point where it's actually useful to me.
But along the way I've been struggling with my choice of development environments. I've been using gtk2-perl, which is pretty good, but will be a major pain to deploy on Windows, and I'm sick of having applications which are tied to my particular sysadminnery.
The recent Joel on Software: How Microsoft Lost the API War, the buzz about Gmail (which I haven't bothered to check out yet (yes, I know where to get accounts, you may touch me, now piss off) but which is alleged to use a bit of ActiveX, sigh), a few things I've seen recently with CSS and JavaScript, along with what people are doing with local web servers and RSS and Atom aggregators, have made me think that something more along the lines of that architecture might scale to being a remote application better, might port more easily, and the development environment may have actually arrived.
And struggling through the hell that is .NET distributed applications has convinced me that every other client-server architecture will suck less than SOAP through IIS.
So, I have Dori & Tom's book on my shelf at home but my memory of that is that it's more useful for dressing up your website than as a core for application development. I'm interested in where else to look next. Is Creating Applications with Mozilla a reasonable resource? Is it reasonable to support IE, Opera, the various Mozilla children and and those that use the Konqueror core, or do ya pick one?
What's the state of the art?
[Edit: Wandered over to Stacey's at lunch and browsed through Dori & Tom's book, and while it isn't focused on my topic it does have a lot of what I want to know about things like direct manipulation of objects and such]
[ related topics:
Dan's Life Content Management Microsoft Perl Open Source Software Engineering History Art & Culture
]
comments in ascending chronological order (reverse):
#Comment Re: made: 2004-06-23 19:44:58.714035+00 by:
meuon
State of the Art? Sounds like fighting words. I'm still enamored with PHP and MySQL for basic and some moderately advanced web-db-apps, Pretty hard to beat. Environment: Any good text editor. For the hard stuff that you do, I think it has to do more with where your skills are.
I saw a 'car tuning' special on TV the other day that said it all, they spent 40k on a Honda, tricked out to the max. Except for when they used NOS on a drag strip, a beater stock similiar Honda with good tires and an excellent driver blew it away. The moral of the show was: spend some time and money learning how to drive.
#Comment Re: made: 2004-06-23 20:05:23.996704+00 by:
Dan Lyke
I wasn't so much thinking of the server side as the client side. Server side I've got down pretty well, but on the client side I want to be able to do some of the same things I can do with a local widget set: Do some drag-n-drop and direct manipulation, do some interactive editor markup, that sort of thing.
#Comment Re: made: 2004-06-23 20:53:23.85589+00 by:
Dan Lyke
Edited to play up the value of Dori & Tom's book in this question.
#Comment Re: made: 2004-06-23 21:18:21.402761+00 by:
Dori
Thanks for the book plug! Yes, it is mostly geared towards those who want to add bells and whistles to
their Web sites, because, as has been said in other contexts, that's where the money is. By definition,
there's always going to be a larger beginner and intermediate market than an advanced market.
I did try to put sufficient meat in there, though, to at least give you a start on solving your problems.
Where you go after that depends more on the specifics of what it is that you want to do.
A few tips that might help:
- The fewer browsers you can get away with supporting, the easier your job is. IE will break your
heart as soon as you try to get into serious DHTML. Every other browser out there will do a better
job.
- The more recent the book, the better it's likely to be. The standard is generally considered to be
David Flanagan's JavaScript: The Definitive Guide, 4th edition, but it's almost three years old.
I'm a fan of Danny Goodman's Dynamic HTML: The Definitive Reference, 2nd Edition and
JavaScript & DHTML Cookbook when I can't find what I need in my own.
- Most of your learning can be done online versus books. I find sites like Quirks Mode to be invaluable. People are figuring out browser work-
arounds and quirks all the time, so a great book is obsolete the day it's printed, but a Web site can be
updated any time.
- If the edition you have of our book isn't the latest (the fifth), let me know, and we'll figure out a
way to get you the latest and greatest.
#Comment Re: made: 2004-06-23 22:23:19.467997+00 by:
meuon
Incredible Resource for JavaScript, the form handling examples are very useful, but some of the rest are some of the various reasons I hate JavaScript, but I am sure the examples could be useful for addressing real needs and uses. - Amazon is shipping me the book (and a few more as well..) - Thanks Dori!
#Comment Re: made: 2004-06-23 22:32:55.846854+00 by:
Dori
Thanks! If you have any questions, let me know. And if you have any suggestions for improvements,
PLEASE let me know.
#Comment Re: made: 2004-06-24 14:12:58.370116+00 by:
Shawn
I too was going to mention Javascript: The Definitive Guide, but as Dori said, it's not exactly cutting edge. The first 180 pages are strictly core Javascript, after which they get into client-side functionality and browser compatibility. There's an entire chapter on compatibility coding techniques.
#Comment Re: made: 2004-06-24 20:47:56.778587+00 by:
Dan Lyke
After looking at a whole bunch of resources I haven't found what I'm looking for. I'm pretty sure that, even with security preferences turned up a bit, you could do drag-and-drop across multiple windows, some editing with enough style information to denote automated links, that sort of thing...
What I was really hoping to find was a framework in which someone had already implemented this sort of a structure, a few widgets in an architecture which handled, say, creating a new window with a click that tracked the mouse as long as the mouse was depressed and sending a "drop" signal when it got released over another link that understood the framework, maybe the general case of an editor with a few styles solved. Even if it was only for a single browser (or class of browser rendering engines).
I remember seeing someone obviously thinking in this direction at a conference a few years ago, but I can't seem to dig it up now, and I'd much rather be able to play with the ideas than try to implement it all myself, so I guess I'll stick with a widget set that's portable, even if installation is pretty tough.
Besides, Ethereal seems to have the widget install down, maybe by the time I'm ready to go that problem will be close enough that it'll either be solved or I can help solve it.
#Comment Re: made: 2004-06-25 01:37:16.512635+00 by:
Shawn
If you still wanna think about Javascript, you might take a look at what this guy's doing with tooltips. No drop stuff that I see, but he's working with mouse position, and dragging, for a few of them.
#Comment Re: made: 2004-07-06 13:23:00.045924+00 by:
meuon
[edit history]
Tom and Dori, I used your book today.. Good useful book! Thank you!
#Comment Re: made: 2004-07-06 15:02:48.433588+00 by:
flushy
I've been playing with perl-tk, and I like it. It's not really threaded, but you can design with that in mind. Much, much easier than C++, though probably not as easy as VB, but hey.. it's PERL, so the multi-verse that is known as CPAN makes it very powerful.
#Comment Re: made: 2004-07-12 06:03:12.000935+00 by:
Dori
(better late than never)
You're very welcome, Meuon--glad you liked it!