3 ms·
I've been learning Vue this year (I'm new to anything JavaScript so that means I also had to learn JavaScript, Node, NPM, We pack, etc.). I'm getting a lot bett
by pottertheotter 6y ago
I've been learning Vue this year (I'm new to anything JavaScript so that means I also had to learn JavaScript, Node, NPM, We pack, etc.). I'm getting a lot better, but it has been a pretty frustrating experience. There are so many different layers and they are constantly changing what they do and don't use in another layer.
I've been working in Python for the last several years. There's definitely a learning curve there, and I get frustrated with things all the time, but the whole JavaScript ecosystem seems like such a mess compared to Python.
One of the things I miss the most about Python when working in JavaScript is the documentation. And I mean the core documentation from Python.org. The Tutorial is amazing [0]. And you can download the entire documentation already in PDF. Maybe I'm one of the few, but when I'm learning something new it is such a better process if I can leave my computer and read through a tutorial and mark it up.
[0] https://docs.python.org/3/tutorial/index.html https://docs.python.org/3/tutorial/index.html
- emilsedgh 6y agoThat's an unfair comparison. Javascript runs directly on the browser. That automatically makes it much more complex because: 1. There are some packages written for browser and some for Node. 2. There are transpilers, abstractions layers, bundlers, etc to make packages run on both environments. 3. Browser based packages need to have all sort of backward incompatibilities in mind (from IE6 to now) Multiply these 2 and 3 together and you'll see why it's a mess of an ecosystem... Yet, it only takes a little bit of knowledge and experience to get something working. It's hugely productive. I mean honestly considering the hand dealt with it (decades of backward incompatibility required), I think the js ecosystem is holding up real well.
- rk06 6y agoif you are learning vue and new to javascript ecosystem, would it not be better to start with index.html using Vue from a CDN, and switch to advanced workflow (node, npm, webapack, etc) later? of course, if you are new, then this approach may not be obvious
- nicbou 6y agoWhen I learned Vue, I just inclued the library with a script tag, and started writing plain JavaScript around it. That was about 3 years ago, and I just started using modules. Even then, I use the native browser modules, no Webpack. With HTTP2, there is little cost to requesting many small files. Likewise, I don't use a CSS preprocessor in any of my projects. They aren't that complicated. Those projects have no build process. What you write is what you run (WYWIWYR?). If the project is small enough I'll serve its root directory with Python's SimpleHttpServer. Later, I might have nginx do it. This allows me to get a project running in a minute. I add tools when they are needed, because then I have the motivation to learn them and set them up properly. Such tools are required if you must coordinate the work of multiple developers. Their cost is divided by the number of devs, and their benefits multiplied. If you're just a home gamer toying around, you can do without them.
- tbran 6y agoI completely agree! I started using Vue from a script tag a year ago (not that hard). But when I started building an SPA, things got complicated very quickly. I found myself longing for a really good tutorial similar to Django's [0], rather than the thousand variations of "Today We'll Build a To-Do App in Vue!" that are so common. For the projects that I work on, I use the same pip/virtualenv setup that I've used for years. Can't imagine that happening with Webpack (Side note: it might be that I could use the same Webpack setup for years, but the unstable reputation around the JS ecosystem makes me think I couldn't). [0] https://docs.djangoproject.com/en/3.0/intro/tutorial01/ https://docs.djangoproject.com/en/3.0/intro/tutorial01/
- conradfr 6y agoI haven't done the tutorial specifically but https://developer.mozilla.org/en-US/docs/Web/JavaScript https://developer.mozilla.org/en-US/docs/Web/JavaScript is very good these days.