3 ms·
That's a lot of pieces just to build web apps with JS. It wasn't that long that we didn't need any of this stuff and I'm not sure that anything people are buil
by programminggeek 11y ago
That's a lot of pieces just to build web apps with JS.
It wasn't that long that we didn't need any of this stuff and I'm not sure that anything people are building with Angular/Ember/etc. is sufficiently more advanced than what came before it.
- ralmidani 11y agoFeature-wise, you're partially right. But using a modern framework (I prefer Ember) allows a team--large or small--to build advanced apps without losing their sanity. UI-based routing, declarative data-binding, and a REST abstraction layer save you a lot of hair pulling.
- pheroden 11y agoIt's easier to write, test, debug, and maintain. I have apps now that a few dozen files, all <= 100loc replacing systems where the number of files is many more and the file sizes were 2000loc per file.
- apalmer 11y agoreally these tools tend to be most beneficial for large teams... or medium sized and small sized teams where folks come and go... I come from a server side static language background so it all 'makes sense' to me, these are the kinds of tools we expect to be 'baked in'... i find associates who have been doing a lot of front side development for a long time tend to be more negative of on the amount of tooling that are considered 'bare minimum' to get a project going at this point in time I am amazed by the churn rate though... require, browserify, systemjs, to webpack in like 4 years... grunt to gulp... backbone->angular->react in like 5 years... its a very fast paced world... doesnt bother me, but I have applications i support that have been in existence almost 20 years...
- grumblestumble 11y agoActually, when 'we didn't need any of this stuff', most of the heavy lifting was with server-side frameworks(Struts, Razor, Rails, etc). The rise of web applications, and in particular single page applications, which are expected to behave very much like desktop apps, initially led to insanely complicated jQuery monstrosities that quickly became unmaintainable. This created the need for front-end frameworks, which led to a lot of churn as people tried to figure out the right approach. Something like Dojo is not all that different from Angular/Ember in concept, it's just an order of magnitude more difficult to work with, or scale an application with. There's nothing here that seems superfluous when creating a web application. If you want to take advantage of advances to the Javascript language, you're going to have to go either with Babel/Traceur or some other kind of ES6 transpiler, or Typescript, which while ostensibly is it's own language, seems more and more headed to becoming defacto ES7. If you work with a team of developers and want a modular structure for developing components as opposed to 10,000 line js files, you're going to need some kind of module system / bundler. This is hardly new, it's baked into .Net web projects (forget the name), and stuff like require.js has been around for ages. Webpack is just the latest iteration of that concept. If you're building an app of any complexity, you're probably going to want to do some unit testing. For that, you'll need a test runner. Karma's a decent choice.
- weinbee 11y agoFor a .NET package manager, are you referencing Nuget?
- grumblestumble 11y agoyes, sorry, that's the one. It's been a good 5 years since I left .Net-land.
- antoaravinth 11y agoYour absolutely right. When I started learning about Angular / React these starter kits are scary! I used to checkout and run `npm install`, it does install say at least 50MB of modules, which I don't even have clue on them. Then myself slowly started with damn simple project only with Angular dep and then slowly move upwards as required. That was indeed gave a good learning. The above statement does hold true for starter kits, not only Angular.