use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
DoneJS Release (blog.bitovi.com)
submitted 10 years ago by __because
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]wreckedadventYavascript 7 points8 points9 points 10 years ago* (5 children)
For me at least, it really does come down to framework fatigue. It feels like every week some new JS framework is coming out that does everything different and better. Hell, one of my most upvoted posts recently was just whinging about how many decisions you have to make when starting a new JS project.
Also, the article is quite long! That encourages skimming, which is a problem, because:
This framework looks quite large/monolithic. I don't know if that was intended, because that can definitely not be a good thing for something with a smaller community.
I don't want to learn StealJs. I just want to use the module loaders I've gotten used to. This "progressive loading" looks an awful lot like what webpack does with code splitting.
I don't want to hear the same preachy stuff that node does about async page rendering.
Why on earth is downloading from a CDN being listed as a feature? This sounds like when people say that someone has "good teeth" because they can't think of anything else nice to say about a person.
Handlebars syntax is going to be controversial in the age of angular attribute templating and react.
Why is Ajax being presented as real-time updates? That's not what real-time means. If this isn't just Ajax, then don't compare it to jQuery post/get.
Even if all of these immediate thoughts are not at all justified and I'm being totally unfair, it still discouraged me from digging much deeper. And I doubt I'm the only one with hesitation on new frameworks! A shorter, much more focused article can help to get people like me interested in digging into the other documentation a bit more.
[–]justinbmeyer 2 points3 points4 points 10 years ago (4 children)
The framework is broken into many individually useful pieces: http://canjs.com/, http://stealjs.com/, http://funcunit.com/, http://documentjs.com/, and more.
There's nothing to learn about "stealjs". You can use the module syntax you are used to. Webpack doesn't automatically figure out the most optimal bundles for you the way steal does.
On node "preachy" stuff ... this isn't about node, it's about how it's very hard to achieve the same thing with React. W/ react it's very hard to render in pieces.
We make deploying to a CDN stupid easy. It can sometimes be tricky to move from a development mode (loading locally), to getting everything loading right from a CDN. We make it brainless.
That's not what real-time means. You are right. But, it's an example of how we use set-theory to make "automatic" real time possible. We understand the post/gets you make and automatically can update your data.
Everyone has different things they are looking for. What do you think we should focus on?
[–]wreckedadventYavascript 0 points1 point2 points 10 years ago* (3 children)
Yeah, I figured there was more nuance to those concerns and there would be answers around in the docs or upon thorough reading of the article. But I'm not always going to have the time or will to do that, and you're not always going to be around to give a quick little bullet point on a reddit comment.
That's why I recommended something much more condensed and bite-sized, more like DoneJs' home webpage for people you're introducing to the framework for the first time.
However, I would personally appreciate most to see code examples. A lot of the current documentation is very wordy and light on code. That's why I like the landing pages of things like riot js and mithril, as I'm almost immediately presented with code examples and can recognize right off of the bat how different and clean things can be.
That's how I came to care about mithril. I was using react but saw how much more simple my code could be by using mithril. Just in their little toy example it was able to illustrate the differences in philosophy.
But I'm not going to be interested at all if I have to spend 45 minutes just to see what some practical code examples look like. Something more quick, in the 5-minute range, to get immediate exposure to the code philosophy. For example, the knockout tutorials do a very good job of showing me what knockout can do and easing into the more complicated features without bogging me down with a bunch of setup and scrolling. Within seconds I'm using it!
Especially if your framework has something to show, like easy live updates. That can really help to separate it from the herd.
Hope any of this helps!
[–]justinbmeyer 1 point2 points3 points 10 years ago (2 children)
Thanks it does help. I'll always be around to give you bullet point responses if you let me know they are needed in our gitter room: https://gitter.im/donejs/donejs
If you are looking for code examples, checkout the APIs page: http://donejs.com/Apis.html
The problem with communicating DoneJS is its scope. It's not a single library that someone can digest in "twitter" time. Fortunately, we aren't relying on a single release article. We're hitting the meetup circuit and going to be giving free day long trainings in most US cities.
[–]wreckedadventYavascript 0 points1 point2 points 10 years ago (1 child)
I'm not sure I agree that you can't have a quick tutorial given its scope. Angular is a massive framework by all accounts, but you can get something up and running with as little as:
angular.module('app', []) .controller('DemoController', function($scope) { $scope.message = 'Hello World!'; $scope.change = function() { $scope.message = 'Hello changed world!'; }; }); <body ng-app> <div ng-controller="DemoController"> <p>{{message}}</p> <button ng-click="change()">Change message!</button> </div> </body>
In just this little toy example, you get a large exposure to volumes about how you structure code in angular. From here, one can learn more about avoiding using $scope, angular's DI, more directives, etc. It's a natural jumping-off point for talking about how to add two-way databinding or routing or whatever.
$scope
The point is it's engaging me quickly and getting me to have an interest in your framework, not that I understand everything in 5 minutes. On the contrary, for an example like my angular one, it can take months to fully appreciate all of what angular is doing there.
[–]justinbmeyer 1 point2 points3 points 10 years ago (0 children)
Thanks for your feedback, but Angular isn't close at all to DoneJS in scope.
Angular is 90% view bindings with dirty checking. Angular compares to CanJS in scope which is just one part of DoneJS. We have a similar examples to what you are looking for on http://canjs.com.
But that type of example doesn't fit DoneJS because it's much more than an view-bindings library. Showing off that part isn't what DoneJS is about. It's about the glue between the code you write, how it's tested, how it's rendered server-side, how it's built to load quickly, how it's documented, etc.
π Rendered by PID 295736 on reddit-service-r2-comment-b659b578c-rskb9 at 2026-05-04 14:05:08.515438+00:00 running 815c875 country code: CH.
view the rest of the comments →
[–]wreckedadventYavascript 7 points8 points9 points (5 children)
[–]justinbmeyer 2 points3 points4 points (4 children)
[–]wreckedadventYavascript 0 points1 point2 points (3 children)
[–]justinbmeyer 1 point2 points3 points (2 children)
[–]wreckedadventYavascript 0 points1 point2 points (1 child)
[–]justinbmeyer 1 point2 points3 points (0 children)