Oh, my bad, didn't now that js parser enables writing code like this :) But still: its an unusual approach and don't feels like javascript. It also forces to organize the code on some way.
Sorry, I prefer to use some commonjs apis, as long as we don't have native module system, which is in work. 2011/1/22 Andrew Stein <[email protected]> > You can take your Methadone code and run it in any JS environment > without preprocessing or async script loading. That's the whole > point. > > > On Jan 21, 5:30 pm, Oleg Slobodskoi <[email protected]> wrote: > > What I mean is if you can't take your methadone code and run in any js > env. > > without preprocessing. Using any commonjs loader like requirejs + > wrapping > > your code in AMD enables you that. > > > > All stuff needed f.e. by requirejs can be added by preprocessor > > automatically. Thats what I am working on. > > > > Modules itself a written in normal js, no one line extra to get it > running > > in any commonjs system. > > > > I think you should post it in nodejs group, jsmentors is more about > > javascript itself, then about dependencies management and nodejs. > > > > 2011/1/21 Andrew Stein <[email protected]> > > > > > > > > > > > > > > > > > > > > > Thanks, Garrett - I'll fix those. > > > > > On Jan 21, 3:51 pm, Oleg Slobodskoi <[email protected]> wrote: > > > > Nice to see people have the same problems like me :) > > > > > > I am working on a similar module, it is not ready yet, but I would > like > > > to > > > > give you my opinion about methadone. > > > > > > 1. The most bad part is you class like declarations. At this point > you > > > are > > > > completely changing the way to write javascript, don't do it! > > > > 2. Loader - there already some really good commonjs loader out of > there, > > > > f.e. requirejs, you should use one of them! > > > > 3. Unneeded preprocessor - if you want to have a small footprint of > js > > > and > > > > css, you SHOULD preprocess your files with minifier, because they > > > optimize a > > > > lot! So due to the fact we HAVE to do preprocessing, wrapping > modules > > > with > > > > AMD is not a problem at all. There are also a lot of other stuff we > can > > > > nicely preprocess: > > >https://github.com/kof/node-ams/tree/master/lib/processors > > > > > > About my project node-ams: > > > > > > 1. it is is build tool > > > > 2. it is dependecies detector with purpose to combine files > > > > 3. it is easy extendable preprocessing tool > > > > 4. it is static file server > > > > > > 2011/1/21 Andrew Stein <[email protected]> > > > > > > > My employer, Benchmark Solutions, has released this open source > > > > > framework y'all may enjoy: > > > > > > >https://github.com/benchmark-solutions/methadone > > > > > > > It introduces declarative Modules & Classes into Javascript through > > > > > some overloaded labels & runtime code reflection (though the code > > > > > reflection can also be run in advance on the server ...), > essentially > > > > > amounting to a small DSL for static dependency analysis & > > > > > namespacing. > > > > > > > Though there are many frameworks available for this, we felt there > was > > > > > nothing which satisfied everything we wanted: > > > > > > > 1) Does not load scripts via XHR or document.write("<script ... "), > as > > > > > we feel that these types of loading tricks obscure the debugging > > > > > process & make writing reusable libraries tied to a specific > > > > > implementation. > > > > > 2) Does not require a separate preprocessor, code transformation or > > > > > compilation step to run in the browser - though powerful, we wanted > > > > > the code you see in the browser to be the exact same code you wrote > in > > > > > your IDE. > > > > > 3) Has a clean API that doesn't "get in the way" of how you already > > > > > write javascript - a framework that provides a class construct > > > > > shouldn't reinvent the wheel with regards to Javascript's existing > > > > > prototype system. > > > > > > > There are some existing bugs and questionable design decisions, but > we > > > > > would love constructive feedback from the community! > > > > > > > -- > > > > > To view archived discussions from the original JSMentors Mailman > list: > > > > > http://www.mail-archive.com/[email protected]/ > > > > > > > To search via a non-Google archive, visit here: > > > > >http://www.mail-archive.com/[email protected]/ > > > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<jsmentors%[email protected]> > <jsmentors%2Bunsubscribe@googlegroups .com> > > > <jsmentors%2Bunsubscribe@googlegroups .com> > > > > > > -- > > > > regards, > > > > Oleg @oleg008 > > > > github.com/kof > > > > > Sorry, I'm a little confused as to your first point. Methadone's > > > Class definitions are annotated, but otherwise the verbatim pattern > > > for Javascript constructor declaration - what makes this different > > > from the same declaration with no annotations? > > > > > When I say that Methadone aspires to "not get in the way" of your > > > javascript coding, I specifically meant to call out frameworks like > > > RequireJS which necessitate parameter based module definitions & > > > introduce their special notion of script loading as a dependency to > > > your library. Methadone does neither of these things, letting you > > > write essentially straight Javascript w/ some annotations, without > > > making any assertions about how you should preprocess, minify or load > > > your application. Enabling this sort of functionality with the same > > > ease of which you would include JQuery or Underscore is the ongoing > > > justification for its development. > > > > > Minifying, preprocessing directives, parallel async script loading - > > > these are all great features - and yet totally irrelevant to providing > > > declarative modules & namespacing to Javascript. If you want these > > > things in your application, you can use them alongside Methadone > > > without issue. > > > > > -- > > > To view archived discussions from the original JSMentors Mailman list: > > > http://www.mail-archive.com/[email protected]/ > > > > > To search via a non-Google archive, visit here: > > >http://www.mail-archive.com/[email protected]/ > > > > > To unsubscribe from this group, send email to > > > [email protected]<jsmentors%[email protected]> > <jsmentors%2Bunsubscribe@googlegroups .com> > > > > -- > > regards, > > Oleg @oleg008 > > github.com/kof > > -- > To view archived discussions from the original JSMentors Mailman list: > http://www.mail-archive.com/[email protected]/ > > To search via a non-Google archive, visit here: > http://www.mail-archive.com/[email protected]/ > > To unsubscribe from this group, send email to > [email protected]<jsmentors%[email protected]> > -- regards, Oleg @oleg008 github.com/kof -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
