1. 33
  1. 18

    Solution: use boring tech and just make the app. Perhaps let yourself use one new-ish thing, otherwise you run the risk of being completely stuck in Weird JS/Angularact/whatever land.

    1. 2

      In my experience, if you want to make a simple app AND learn something new, if you want to get anywhere near done you absolutely need to limit the scope as much as you can. Set a tangible goal. “I’ve heard a lot about this new tech, I could use that in project X” <– you need exactly one of those and not more, I fully agree.

      Trying to learn several new techs at once is a surefire way to fail at learning.

    2. 6

      This is a pain point i’ve felt constantly when dealing with javascript / node / npm. I’m surprised that the community hasn’t really had a good response to these pain points. Is it that in general, its a complaint held by developers outside of the ecosystem? Whatever the underlying reason is, its something that the community will need to fix.

      1. 15

        The “good response” is “Hey, buddy, stop chasing shiny, and focus on building your app”.

        The big issue is seen early on in the post: the obvious options in boring ole' ES5 are just too yucky for the author to consider. So, they end up wasting 10x the effort on trying out different things, when a slightly more practical dev would’ve just sucked it up, used script tags, wrote their own prototypes, and so forth.

        Whenever I build a little throwaway thing these days, I start with four things:

        • a text editor
        • a web browser
        • a tab with “Can I use” open
        • a tab with the MDN open

        That’s still all you need.

        1. 1

          Yeah, at this point, my only two dependencies on new projects are sass and jquery. I find I can get plenty done with those and haven’t had a good reason to add anything to that.

      2. 6

        As soon as something annoyed me I went away looking for something else to smoothen my experience.

        It would seem that the author’s approach to the project was flawed from the start. This is especially relevant combined with the choice of using many technologies they were unfamiliar with. It probably would’ve been more fruitful to build up new knowledge from a single tool or small set of partially familiar tools.

        There’s a few “buckets” right now in js-webdev-land.

        1. Early Adopters/Experts People who want to make their own tech choices on a fairly low level, often for advanced use cases such as code-splitting, universal apps, etc.
        2. Beginners (could also put Prototypers here depending on scope) People who want to choose a pre-set “package” of tools which are known to work well together, have good documentation, etc.
        3. People who want to modify the pre-set package of tools they chose earlier. This is probably a transition phase from 2 -> 1.

        Group 2 is underserved and Group 1 has a certain respect for the flexibility the current situation provides.

        1. 1

          And group 3 is pretty much defined by the meatier repo.

        2. 2

          Choice is a good problem to have. You just need to pick one option at each stage and stick with it for at least a little bit. If that’s too hard, pick one curator who you’re going to trust, and follow their model.

          We’re in the Cambrian explosion phase of the web ecosystem. Most of what we’re making now will eventually die off. But it’s the only way to make progress.

          1. 2

            It is a source of continual amazement that the Web has attracted and retained interest, despite profoundly more advanced tools for getting the job done being available in Visual Basic, 1996 (to say nothing of WinForms & C# in 2006). I simply do not understand why serious front end developers (people not me, I assure you) have not gazed across the sea of idiocy and set out to develop a highly opinionated, smoothly functioning API and IDE, fully decoupled from the HTML & DOM. Its enough to want to bring Java applets back. Shame they got kicked to the curb.

            Do not go gentle into that good night.

            Rage, rage against the dying of the light.

            1. 9

              …set out to develop a highly opinionated, smoothly functioning API and IDE, fully decoupled from the HTML & DOM.

              Everybody’s done this. That’s the problem.

              1. 4

                That’s part of the problem. Another problem is that for nontechnical reasons (primarily network effects, particularly the one known as “Internet Explorer”) the foundations of anything you try to build are some of the shakiest technologies that have ever been widely deployed. And depending on who you ask, a third problem is that nobody’s done the task of abstracting over the mess that is the modern Web well.

              2. 1

                I know C# and JS, but web development something I haven’t done much of. Microsoft’s desktop tooling is nice, but their web tooling suffers from severe levels of churn - ASP.NET Web Forms was deemed bad, so now you’re stuck on the ASP.NET MVC version treadmill where it all changes how at whim. It’s bad enough I use Express on Node for any of my web experiments.

                1. 1

                  The only way to get companies and users to install your application runtime is to smuggle it into the web browser, which is a question of politics rather than technical merit. Unfortunately Javascript has won the politics. Fortunately these days you can work in something good and compile it to Javascript and it’s mostly fine.

                  1. 2

                    The feeling that non-technical users effectively decide the course of the tech industry indirectly creates a ton of resentment within me.

                    I get that they don’t want to learn tech, but it boils my blood to no end that everything must be a webapp because users don’t know how to install things. It feels excessively subservient.

                    1. 2

                      To be fair, users don’t want to install things because they have been conditioned by Windows that installing things is dangerous. General purpose computing will always be plagued by evil to the point that people will seek out alternatives. It’s just a shame that the alternatives on offer are so terrible.

                2. 1

                  Am I the only one that loves that? JS and Node feels so alive and exciting. It is so exciting to have to keep my skills updated, read new approaches every day! I am happy that everyday there are thousands of new packages. And I can fork and edit and forget and throw away code like never before. Yes the documentation is often weak, but I’d take node/JS over Java or C every day. And as others have stated, you can always go vanilla and get it done do

                  1. 1

                    I’m sure you aren’t the only one. But you can only go through so many of these cycles where there’s all kinds of activity with no real discernible forward progress before you end up where the OP did and decide to just “rage quit” out of the cycle.