6 ms·
You have ruined JavaScript (2014)
- pkorzeniewski 11y agoMy feelings exactly, it's like people in tech intentionally complicate things in order to stay relevant and irreplaceable, or maybe using complicated solutions makes them feel superior? No one cares how your app works as long as it works, I've created large web apps using a small set of libraries and guess what - they still work fine after so many years. Keep it simple, stupid.
- jasode 11y agoThe previous submission already has a very good top comment from haberman and provides a balanced perspective: https://news.ycombinator.com/item?id=7633625 https://news.ycombinator.com/item?id=7633625
- chris_wot 11y agoHe's upset with the following: "An Angular "service" is a singleton object created by a "service factory". These service factories are functions which, in turn, are created by a "service provider". "The service providers are constructor functions". When instantiated they must contain a property called $get, which holds the service factory function." He programs his front end in React. I'm not an expert in React in any way, but let's look at some sample code: "use strict"; var HelloMessage = React.createClass({ displayName: "HelloMessage", render: function render() { return React.createElement( "div", null, "Hello ", this.props.name ); } }); ReactDOM.render(React.createElement(HelloMessage, { name: "John" }), mountNode); In this code, I see what looks like a singleton object called ReactDOM, which would be an Angular service. There's a factory function "createClass" (a service factory), which is created by an object called React - which looks suspiciously like an Angular service provider. Call me a cynic, but this rant looks like an uninformed screed, written by someone who thinks that creation patterns are only creation patterns if they are called factories, singleton factories and factory-functions (or constructor functions). If he can't identify patterns in use in his favourite tool that are precisely the same as the ones he criticises, then I'm not sure he's as good a coder as he thinks he is. Even if he enjoys writing in Erlang.
- draw_down 11y agoI think the code you posted is much simpler, both conceptually and at the level of the code itself. We know what classes are, we know what render means. I think the requirement to express markup as a tree of function calls is inelegant (JSX is no different, just shorthand for this) and my least favorite part of React, but I'll take inelegant over WTF any day.
- draw_down 11y agoTo me this is mostly just a rant about why Angular is terrible. And I agree, it's absolutely terrible. Frustratingly overwrought (I dare you to output a URL in a template, go on, I dare you) and built on top of some unfortunate ideas like dirty-checking and all this service factory madness. Fortunately, it's far from being dominant in front-end dev.
- chris_wot 11y agoHow would you build a templating framework in JavaScript?
- draw_down 11y agoI'm a big fan of Ractive, check it out. Ractive.org
- chris_wot 11y agoTakes me to a page under construction then redirects me to a blank page. Edit: I think you meant ractivejs.org
- Zecc 11y agoI wish we would stop beating around the bush and just add templating to HTML already; not as the current ‛template‛ element proposal, which still looks like DOM manipulation, but actual "expressions inside template attributes and content + data context set in code" like every templating library is doing. And don't forget conditionals and repeaters while you're at it.
- oceanswave 11y agoSomehow I can rant about any topic on the internet, but so long as the topic includes a dissenting opinion about javascript, it will be upvoted.