I don't *really* disagree with what you're saying because negative feedback is worse than no feedback at all, but if you don't take the time to post in here and become an *active* member of a *community*, then what really is the point? I feel that EchoJS is like the "trending" section on social media sites, but for JavaScript. You just take a glance at it every now and then, and if you see something interesting you click it and maybe vote it up. I post plenty of things on here that I would actually like feedback on (using various accounts since half the time I can't remember which password I have on here and why would karma matter without an actual community?) and I think I've only gotten one or two comments...ever. It's actually quite disappointing. I've always been very eager to interact with others and provide feedback on their stuff, but when the community doesn't really seem that accepting (since it's a ghost town) and the site doesn't really offer any simple way to be notified, what do you expect?
I remember when I first started using this site and made a post; since there was no way to be notified of any comments or replies to comments, I checked back in every once in a while so I could respond to any feedback I received. Instead, I realized that most submissions in here never get any comments at all. So now a days, what do I do? I just post something and then never really come back to check on it, because the site itself and its *users* never really make much of an effort to become a *community*.
So while you say people should only post when they have something they *really* want to say, that's not how you build a community. If everyone in the world only spoke when they had something really important to say, only a small group of people would do all the talking, which is exactly the way things are now. I mean, only one out of every two posts on the homepage have comments, and over half of those with comments are just one comment, which doesn't constitute a discussion. So that means, out of all the posts on the homepage, only ~25% of them actually have any discussions at all. That's a pretty pathetic statistic in my opinion.
[comment deleted]ndgaulin 4068 days ago. link 0 point ▲▼
egecan, I noticed that you mentioned you are looking for an easy way to define getters and setters, have you checked out www.jTypes.com recently? We just added a new AIP syntax that makes it really easy to define getters and setters:
https://scontent-a-lga.xx.fbcdn.net/hphotos-prn2/1383208_385694174892987_509646233_n.png
You also mentioned that you don't like CS because it will lag behind for too long after new features start to become more mainstream. This is not the case with jTypes, as it plans to fully utilize many of the upcoming features found in ES6 (especially since it's emulating that behavior now). I just posted a more detailed description of everything here: http://www.echojs.com/news/6571
Lastly, as you touched on, CS is not JS, and should not be advertised as such. jTypes on the other hand is written natively in JS, and is simply a library that you include. If you're only looking for encapsulation, I would highly recommend jTypes Lite, and it is only 5 KB gzipped (14 KB minified).
I am always looking for feedback and suggestions for new features, so if you have any questions or comments, I would be happy to hear them and answer them!
I think it is also worth noting another quick point that I forgot to mention regarding jTypes Lite:
Remember that ES6 will include Symbols, which will effectively allow classes to have encapsulation (through private and protected members). This will make it significantly easier to hide information in objects than what is currently offered in ES5 (but I don't think too many people are going to argue about how unproductive and unreadable the ES6 syntax is, comparatively -- http://tc39wiki.calculist.org/es6/symbols/). JavaScript developers will quickly find that it is much easier to reference class members as "this.someSymbol" instead of "this[someSymbol]" once they start using the ES6 syntax.
So with that being said, jTypes Lite will utilize Symbols behind the scenes during both compilation and instantiation. This will obviously make things significantly faster, but still save the developer all the trouble of having to work with the Symbol syntax, along with providing all the other benefits that jTypes Lite offers as well. However, classes that are defined in jTypes Lite as opposed to ES6 will still have the option to fallback to ES5; therefore providing the ability to define encapsulated data in a simple and concise manner, and that also won't require the developer to make any changes to their code when ES6 becomes readily available by browsers (and instead they can code it today on ES5). So again, it's quite obvious how jTypes offers the best of both worlds in that regard.
Here is some background information for those that are interested:
jTypes Lite is a new library we've recently released that is a much more lightweight build of jTypes. It doesn't construct a complex instance matrix as the full version does (no polymorphism); and therefore has no virtual/abstract/override members, and no type-casting either. Instead, jTypes Lite builds a robust prototype-chain (similar to native JavaScript classes), but with multiple access levels for ES6-like encapsulation. Then at instantiation-time, only a single public instance object (along with some private context objects) is created. This simplicity allows jTypes Lite to instantiate classes up to 5X faster than the full version, and only requires 5 KB gzipped (14 KB minified). So if you're looking for a lightweight alternative to jTypes that provides ES6-like encapsulation (but works today in ES5), then jTypes Lite just may be the tool for the job!