6 ms·
EveryJS: The Right Tool for the Right Job
- drewda 15y agoA ruby-toolbox.com for JavaScript would be useful, but it'll need a bit more organization than this.
- tomdale 15y agoI agree! I put this together in a few hours while spending Memorial Day weekend at my parents' house. I'm planning on adding sorting/filtering based on browser compatibility, file size, and area of expertise. I'd be interested in hearing any other criteria people want. The web page is actually a SproutCore 2.0 app, so I'm hoping it can be used to show the flexibility of the framework when it comes to building data-driven apps.
- jemeshsu 15y agoIs the source of this Sproutcore 2 app on Github? Thanks
- duopixel 15y agoGood resource! Just a little fix: Dojo is linked to backbone.js.
- tomdale 15y agoFixed, thanks!
- jschuur 15y agoSimilar, but with less content to http://microjs.com http://microjs.com, which is credited in the footer. I prefer EveryJS's presentation though, since it's easier to read the description.
- wycats 15y agoAlso, microjs is limited to JavaScript frameworks under 5k, and without dependencies.
- thaumaturgy 15y agoError: Object.create is not a function Source File: http://www.everyjs.com/js/libs/sproutcore-2.0.a.2.min.js http://www.everyjs.com/js/libs/sproutcore-2.0.a.2.min.js Line: 9 (Page doesn't list anything for me. Firefox 3.6.15/Mac.)
- chc 15y agoYou need to upgrade to FF4. (Presumably as SproutCore 2 gets closer to release, it will get better error handling. But the old Firefox is the reason is won't render.)
- thaumaturgy 15y agoNo, I really don't need to. 3.6 barely runs on my machine as it is; a number of clients are asking me to downgrade them from 4 to 3.6 because of stupid issues like not saving your tabs by default when you close the browser. I have about thirty tabs open in my browser right now, and the last time I upgraded Firefox, it didn't bother to save any of them the next it launched. I just can't be arsed to go to that much trouble over one website. edit: (removed snarky edit.)
- dools 15y agoThe landing page for FF4 has a "restore previous session" button on it which opens all your tabs for you if you so desire (just in case you missed that). Also you can "pin as app tabs" anything that you like to consistently have open. FF4 also runs considerably faster. I can't imagine wanting to downgrade ...
- eagleal 15y agoIt's also under the "History" menu item with the same name, in case it just loads the home (which happens usually).
- Hovertruck 15y agoI regret ever upgrading to FF4. It absolutely crawls on both of my machines.
- chrischen 15y agoDon't forget NowJS. http://nowjs.com/ http://nowjs.com/
- zmmmmm 15y agoSince YUI3 has no recommendad usage scenario, I would submit for consideration: Use YUI3 if you want a comprehensive framework that includes DOM manipulation and event handling along with a highly consistent set of widgets, layouts and utility components all in one package. At least, this is when I choose YUI over arguably lighter / smaller / simpler solutions (like jQuery).
- skrebbel 15y agoNothing here either (Opera 11, Windows). Seriously guys, Sproutcore is so horribly not-cross-browser that it's a joke. Please stop making sites with it.
- tomdale 15y agoIt's working okay on Opera 11 for Mac. I'll test on Opera 11 for Windows when I get a chance.
- johkra 15y agoEdit: Works now, thanks for fixing it so fast. That's what I get now using Opera 11.11 32bit on Linux. Uncaught exception: ReferenceError: Security error: attempted to read protected variable: toString Error thrown at line 9, column 22266 in x(a, b, c) in http://www.everyjs.com/js/libs/sproutcore-2.0.a.3.min.js: if(g&&g.toString===e)
- wycats 15y agoJust FYI: the version of SproutCore being used here is SproutCore 2.0 developer preview, which made aggressive use of new browser features, but missed a couple of places to polyfill. Those places are now plugged, mostly due to this exercise. SproutCore 1.x, the current stable line, is in use for a number of major sites that work across a large number of browsers, including IE7 and IE8. @tomdale's comment above provides some context for the rationale behind using a developer preview for this site: http://news.ycombinator.com/item?id=2598829 http://news.ycombinator.com/item?id=2598829
- skrebbel 15y agoI'll assume that there's a reason why you wrote "across a large number of browsers, including IE7 and IE8" in reply to a comment about Opera? I must admit I haven't checked right now, but at least a few months ago the site was all about how awesome Sproutcore is, but accidentally neglected to mention that there are common browsers on which it does not work. I had to install and try to use it to figure that out. IMHO this is a serious attitude problem; launch first, make work later. That's all right if you're open about what's missing, but the Sproutcore site makes promises ("it works") that it can't keep.
- smhinsey 15y agoEnder looks really interesting but I feel like it's missing the example that really shows the power behind it. I'm not sure I'm seeing it right now. Anyone have/know of such an example?
- zapf 15y agoWhy are you using sproutcore for a static plain ol html page? There is no need to use much js on such a page, is there? And then you are ending up breaking the page on old browsers. Whats the point? Are you using the right tools for the right job?
- tomdale 15y agoA very valid question. :) First, I wanted to test drive SproutCore 2.0. It's always good for framework developers to be app developers themselves; and just from the feedback and collaboration today I've fixed several bugs in SproutCore. So, that's a net positive, even though I'm sorry there was temporary frustration while we got to it, and it didn't help that I was in a plane for part of the day. The second reason is that this is just the start. I plan to add many more browsing and filtering capabilities over the next few weeks and months. I hope this can be a good demo for how to build data-driven applications in SproutCore.
- zapf 15y agoWell said. Looking forward to the page developing further. Would be cool to be able to search the list etc. Thanks for the page though, it is very clear and tells me how much I have been missing on whats been happening in the 'js scene'
- ashish01 15y agoAlso take a look at Knockout.js (http://knockoutjs.com/ http://knockoutjs.com/) Its a lightweight MVVC framework which brings WPF like data binding to HTML. See some live examples at : http://knockoutjs.com/examples/ http://knockoutjs.com/examples/ and I ported backbone.js todo example to knockout over here : https://github.com/ashish01/knockoutjs-todos https://github.com/ashish01/knockoutjs-todos
- glenjamin 15y agoIs this intended purely as libraries to use in the browser? JavaScript doesn't just mean web anymore - but if this is aimed at web it might be worth saying so explicitly.
- tomdale 15y agoI had that originally in the House Rules section but removed it. I'll reconsider the best way to word this without trying to cause a server/browser JS flamewar.
- justincormack 15y ago"Just 2k", "Just 3k"... Then "Just 295k" seems rather out of place. Maybe selectively replace "Just" with a different word here?
- jschuur 15y agoQuestion for Tom: Some of the wording ('your own' and 'maintainer') suggests you only want people to submit their own libraries and not ones they use and enjoy. Is that intentional? That might impede the amount of submissions you would get.
- tomdale 15y agoNot at all! I'll clean up the wording. Thanks!
- dorkitude 15y agoThe explanation of MooTools' advantages should mention inheritance. MooTools is indispensable if you want to build a robust class-and-instance structure that more closely matches the architecture you're using in other client technologies (e.g. java, flex, or cocoa)
- tomdale 15y agoWould you be willing to submit a pull request? I don't know enough about MooTools but would be happy to merge.
- hoprocker 15y agoIn line with tomdale's quite constructive multi-framework suggestion (and yeah I gave it props on the pull's comment page too), everyjs site looks ready for a third pulldown at the top: "Render this page using <JS-library-list>" Maybe with some loadtime stats and other statporn too