From: Bart B. <ba...@ho...> - 2000-12-06 22:50:56
|
True.. I don't see how people can miss the obvious advantages of having browser specific code. Yes, it might be a hassle if you only have to do a couple of browser flagging here and there... but DynAPI is pretty complex... and growing. Don't want to be a parrot .. but here goes anyway: 1. Speed - you can implement more browser specific solutions that will increase speed:execution of code and rendering (such as perhaps VB code... actually some things you CANNOT do without VB.. printing frames from another frame in IE4, for instance) 2. Clarity - doing the above mentioned in the current library would make it even more obscure than it already is. 3. Size - the code the end user will have to dowload will be very optimized and will not contain reduntant code. 4. Modularity - right now everything depends on browser.js. And a lot more of the code is inter-dependant quite extensivly. This could more easily be improved upon through separating general and browser-specific functionality. 5. Just for the hell of it - Which I believe to be the most important reason... ;-) / Bart -----Ursprungligt meddelande----- Från: Brandon Myers <bnd...@ho...> Till: dyn...@li... <dyn...@li...> Datum: den 6 december 2000 23:11 Ämne: Re: [Dynapi-Dev] DynAPI build, Splitting files >(Oh.. and Dan.. not only do DynLayer/DynDocument and LoadPanel have specific >code, DragEvent and several other extentions have much browser specific >code.) >Drag event code could really be improved by splitting it. IE could use VB >enhancements (I know.. it's not JS..) to give it better performance. > >----- Original Message ----- >From: "Dan Steinman" <dy...@fu...> >To: <dyn...@li...> >Sent: Wednesday, December 06, 2000 3:44 PM >Subject: Re: [Dynapi-Dev] DynAPI build, Splitting files > > >> The only files in the DynAPI that are browser related are DynLayer, >DynDocument, and Loadpanel. So if everyone feels we should have nn4,ie, and >dom.js separations we can certainly do this. For the rest of the files it's >completely unnecessary. For the time being I'd not worry about it too much. >Everythings working fine, I'd prefer on concentrating on building more >widgets. After we have a larger codebase we can better decide what changes >are really necessary (at this point I don't think such a change is crutial >for continued developement). >> >> Dan >> >> On Wed, Dec 06, 2000 at 07:58:53AM -0600, Dougal Campbell wrote: >> > On 5 Dec 2000, Bill Wheaton wrote: >> > >> > > What I meant (can't say about Cameron), was that it would be nice to >have all >> > > of the functionality of the API without even worrying if it is cross >browser >> > > compatible. >> > > Quite often, I have to write intranet apps where my customer can and >> > > absolutely does control which ua their users use. (via SMS or >whatever). It >> > > doesn't matter as much over a lan, but for their remote sales people >dialing >> > > up from his customer's pots line to check product allocation during >the lunch >> > > break, it can be slow. If I could _only_ include IE code when I knew >it was >> > > the standard, then I could speed things up some.... maybe even a lot. >> > > maybe I'm dreaming >> > > -bw >> > >> > Those of you interested in browser-targeted code might want to take a >> > look at <URL:http://www.dx0.org/>. This is a cross-browser library with >> > a difference: it uses server-side technology to detect which browser is >> > making the connection, then it delivers JavaScript targeted to that >> > particular browser. >> > >> > In other words, if you view the site with Netscape 4.x, you only receive >> > JavaScript for NS4 (there's no "if is.ie" conditionals). If you browse >> > in with IE5, you get Javascript specifically for IE5 (no "if >> > is.ns4"). Or Mozilla, or NS6, or whatever (they might be supporting >> > Opera, if the new release has decent DOM). >> > >> > The project is still in heavy development, but there are already a few >> > skinnable widgets built and working (a menu, a floating toolbar, and a >> > viewBox (a scrollbar/window). >> > >> > You build your DHTML code in PHP, Perl, or Python. The server then >> > delivers appropriate JS to the browser. >> > >> > Also check out <URL:http://deathstar.eng.utah.edu/~kroford/930/dx0/> >> > >> > Keep in mind that the library and the site are still under development, >> > and there are sections of the web site that aren't complete yet. But >> > from what I've seen on the mailing list, it looks like a few people are >> > using it in production already. >> > >> > -- >> > Ernest MacDougal Campbell III, MCP <do...@gu...> >> > http://www.gunters.org/~dougal/ >> > Lumber Cartel Unit #1654 (tinlc): http://come.to/the.lumber.cartel/ >> > "The medium is not the message. The *message* is the message." >> > >> > _______________________________________________ >> > Dynapi-Dev mailing list >> > Dyn...@li... >> > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev >> _______________________________________________ >> Dynapi-Dev mailing list >> Dyn...@li... >> http://lists.sourceforge.net/mailman/listinfo/dynapi-dev > >_______________________________________________ >Dynapi-Dev mailing list >Dyn...@li... >http://lists.sourceforge.net/mailman/listinfo/dynapi-dev |
From: Bart B. <ba...@ho...> - 2000-12-10 12:31:54
|
Clear and precise. My sentiments exactly. -----Ursprungligt meddelande----- Från: SReindl <SR...@la...> Till: dyn...@li... <dyn...@li...> Datum: den 10 december 2000 10:17 Ämne: AW: [Dynapi-Dev] DynAPI build, Splitting files >Well, call it as you like: Lib ode API, ... An API has the task to supply >you with a unique set of functions in order to perform some development >tasks. In this case this is cross browser compatible programming of web >sites (btw, an API can be stored in a lib ;-)) >I agree, that the API is not meant to be a play ground for fancy stuff which >may be possible only for one particular browser. >But I don't see why the "streaming of the project" should be more work for >separate files than for monolithic ones. >It's the definition of the basis of functions which is important, and this >task has already been done, since the DynAPI is up and running. > >Look at this piece (from events.js): > this.pageX=is.ie?e.x+document.body.scrollLeft:e.pageX-window.pageXOffset > this.pageY=is.ie?e.y+document.body.scrollTop:e.pageY-window.pageYOffset > this.x=is.ie?e.offsetX:e.layerX > this.y=is.ie?e.offsetY:e.layerY > var b = is.ie?e.button:e.which > if (is.ie){ > if (b==2) b = 3 > else if (b==4) b = 2 > } else { } >All this is done only to define two basic paisr of vars. Terrible. And >impossible just to skip the nn stuff, becoause it's not clear, what refers >to nn but only what is not for ie. I have to go through it and to learn the >syntax of several browsers (document.body.scrollLeft vs window.pageXOffset, >etc., and do not forget the sign). > >My >> "I mean, I want to develop mainly for IE and am not interested in the nn >> specifics at all. I am satisfied when it works." >if of course *an example* only and not the goal of my programs. > >last not least, in addition to decrease in loading and rendering time there >is one more feature which speaks for a split: control over completeness. If >you have to assure that your implementation is complete you will have to >code all the functions. The chance just to forget an if branch is smaller. > >I do not say that cross browser compatibility should be given up, I think of >how this task can be done in a more transparent way. >Stephan > > > > > >> An API is a middle-layer between the code and the "environment" seeing as >> you want to have cross-browser code it sounds better to see one single api >> file that takes care of all browsers.. not having seperate files for every >> browser (that would create a DHTML library, not an API.. simple solution >> change the name to DynLib :) >> >> Developing in seperate files for seperate browsers WILL create seperate >> things, even though there is talk about setting "rules" for the >> development, >> we have to face it that streaming this whole project is not >> something any of >> us is good at.. so sticking to the development rules (even when >> you could do >> cool things like using behaviours in IE5 for filter effects and >> stuff) will >> be, in my opinion, impossible to maintain. Almost the same as asking >> Netscape and Microsoft to stick to the W3C standard.. (and then >> making sure >> that the W3C doesn't change everything every year :-) >> >> Someone debugging NN code should just skip the part that says if >> (is.ie) .. >> that's not a hard thing to do. >> >> Also I don't see where you could make the speed advantages? the >> slowness of >> it all is within the browsers.. try changing a single stylesheet property, >> in IE it looks like it's rerendering everything on screen and I believe >> that's the main problem, so how can you increase speed when >> splitting things >> up? >> >> "I mean, I want to develop mainly for IE and am not interested in the nn >> specifics at all. I am satisfied when it works." >> >> Then why use a cross-browser API (or library for that matter)? >> >> >> Pascal Bestebroer >> pa...@dy... >> http://www.dynamic-core.net >> >> >> > >> > Can someone pls explain me the mneaning of this whole discussion? >> > An API is a set of uniquely defined functions to perform a given >> > task, isn't >> > it? >> > What do the widgets have to do with the API? >> > Why should it be so difficult to develop the API in separate files? >> > The discussion would be which function of the API should be added >> > / removed >> > / corrected / ... >> > The rest will be done by the respective browser gurus. >> > The charme of the split file version is that a nn specialist >> > doesn't have to >> > analyze a bulk of ie code in order to do his task. >> > The increase in speed an code transparency should overweigh the >> > difficulties >> > of a split version by far. >> > If a solution fullfills the defined function, who cares about >> the details? >> > I mean, I want to develop mainly for IE and am not interested in the nn >> > specifics at all. I am satisfied when it works. >> > >> > Stephan >> > > > >_______________________________________________ >Dynapi-Dev mailing list >Dyn...@li... >http://lists.sourceforge.net/mailman/listinfo/dynapi-dev |