5 ms·
> It's popular to be sure but handwritten javascript is not that rare nowadays, is it? Long time front end developer here. In the last couple of years I can't
by pault 7y ago
> It's popular to be sure but handwritten javascript is not that rare nowadays, is it?
Long time front end developer here. In the last couple of years I can't recall seeing even a single project without a build pipeline (not that they don't exist, I just haven't encountered them at my day job, first or third party).
- WA9ACE 7y agoI made this recently just because I wanted to prove to myself that it was possible to have a modern frontend application without all the overhead of build tooling and I have to say I'm pretty happy with it. You can use some of the most important things in browsers today like CSS variables, and ES module imports. https://gitlab.com/WA9ACE/frontend-starter https://gitlab.com/WA9ACE/frontend-starter
- alex_duf 7y agoThat's an interesting project template. Manually managing dependencies and using backbone sounds quite fun!
- anthonybullard 7y agoI was able to create a full web app using Preact with no build pipeline at all. It was not the best experience mostly because of no concatenation. I ended up adding Parcel for easy Typescript support.
- LukeBMM 7y agoI agree in broad terms, but as a counterpoint, those build pipelines are being created and used primarily by folks who initially learned by handwriting javascript. While less of a consideration for established teams, it dramatically raises the barrier to entry for those who are learning as well as those who currently have much simpler requirements. Those are the future members of that established team. Adding hurdles to the process of learning will, in the long run, result in a smaller, more homogeneous pool of experienced developers to draw upon. It's a self-perpetuating cycle - making folks learn by using complex build scripts will result in experienced developers who then create further complexity because they've self-selected to be those who happen to think in that mode. That's not intended to suggest that progress is bad. Rather that it's a bit short-sighted of us, as an industry, not to consider the ramifications of enforcing a workflow that happens to be trivial from the limited perspective of long time front end developers. { Edit to try to make the last paragraph sound less accusatory. Sorry! That wasn't my intention. }
- brlewis 7y agoThere are tools like create-react-app that configure complicated build pipelines for you, and there's parcel, a simple common-case build pipeline.
- irrational 7y agoThe biggest issue I've seen with these is that at some point they do break and then you need a knowledgeable person to fix it. The pipeline is basically a black box unless you possess the knowledge of how all the parts work and interact with each other.
- eropple 7y agoI dunno how to put this in a non-controversial way, but...at some point, I switched from thinking a desirable, throw-the-money-at-them developer is somebody who writes a lot of code to somebody who understands things and is capable of understanding new ones when they arise. I'm not saying that to excuse thrash. Thrash is bad. But like..."oh, at some point you'll have to have somebody who actually understands how the thing we use to make money works"--you should have that person anyway! It's an existential threat to your business not to. Understanding things is our job. Unless you're somewhere where understanding things isn't valued, and 1) it's gonna eventually fail, and 2) you have better places to be.
- andybak 7y ago> somebody who understands things and is capable of understanding new ones when they arise. Some of us won't let go of the crazy dream that things should be simpler. I want this not because I'm lazy or because I don't understand them but because - dammit - things should be simpler.
- eropple 7y agoComplex things are complex. Attempting to simplify complex systems below this threshold of complexity invariably ends in lost capability or lost fingers when the sharp edge you didn't know was there sneaks up on you. And web browsers are very complex beasts by design, by accretion, and by necessity. Sorry, I guess. Does bemoaning it actually help anything?
- baddox 7y agoI don't understand what is so appealing about not having a build pipeline for JavaScript, other than the ability to very quickly test and learn things directly in the browser, which of course anyone can still do. For anything remotely important, you're almost certainly going to already want a build pipeline to do things like concatenating/minifying code, running tests, and deploying. Adding a transpilation step to extend support to older browsers comes with almost no cost to time or maintainability, assuming you're using well-supported things like Babel and its official plugins.
- thothamon 7y agoI have no concerns about having a build pipeline per se. My concern is that it's still way too complex and difficult. I think it could be made to be much simpler for 90 percent of cases, while still maintaining optional complexity for the remaining 10 percent of cases that need it.
- EB66 7y ago> Adding a transpilation step to extend support to older browsers comes with almost no cost to time or maintainability They may be simple concepts, but there's definitely still an added cost with transpilation and minification steps. If you work with Babel long enough you'll encounter scenarios where the transpiling didn't quite work as expected and breaks in-browser. When you're debugging minified code in-browser using source maps, it's not all that uncommon to get different line numbers and stack traces than you get when loading up the original unminified source. I can recall a number of occasions where I had to deploy unminified source for in-browser debugging because the source maps were obfuscating the real error. https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/ https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...
- irrational 7y ago>I don't understand what is so appealing about not having a build pipeline for JavaScript We don't have one at my work (Fortune 100 company), but it has nothing to do with whether it is appealing or not. It has to do with the projects we are working on started years before there was any such thing as a build pipeline in the web world and it's not pragmatic to add one in at this point. Maybe some decade we will get the budget to start over from scratch (haha!) and get modern things like a build pipeline.
- irrational 7y agoI work for a Fortune 100 company and we still don't have a build pipeline :-(