1. 0
  1. 3

    As a fullstack web developer, this looks like a nightmare to deal with. Go for the back end, Cljs and React for the frontend, and bash for logging/devops? That’s an absurd amount of context switching, when you could pretty much do everything in JavaScript.

    1. 2

      @vonadz i see from some of your other comments that you are using clojure already. you should try reagent! it is so simple, hasn’t changed in a decade, and is THE reason to use clojurescript. shadow-cljs is relatively recent, and makes interop with the npm ecosystem easy.

      1. https://reagent-project.github.io/

      2. https://github.com/thheller/shadow-cljs

      1. 1

        Yeah, I am! I have tried it, but found it hard to justify investing a lot of time into it since I’m already proficient in Svelte and found it to be a better dev experience overall. I’ve built a couple of personal web apps that use Svelte as the front end with a Clojure API as the back end.

        1. 1

          svelte plus clojure sounds like a good time!

          what clicked for me with reagent was the state model. a single, global map holds all state in an atom. any components that derefs the atom gets updated when the atom changes. events mutate the atom with swap. everything is stateless, except the atom.

          1. 1

            I felt like reagent and react just have too much abstraction. It’s too far away from vanilla javascript. That’s why I liked Svelte, because it felt closer to what was actually happening.

      2. 1

        you definitely could do everything in javascript, and as long as it’s easy and fun, you should! for me, it isn’t, and the first problem i run into with fullstack js is client side state management.

        go on the backend is just so nice, its hard not to. if you’re not gonna use one lang top to bottom, you have some freedom to choose tools that fit the problem space.

        this is the setup i’ve landed on. it works for me. a lot of this is subjective, and in the end tooling choice isn’t important.

        fun, fast, easy sdlc is important. it’s the most important thing. it will either amplify or hinder your efforts.

        1. 1

          Yeah, sorry. I didn’t mean to yuck your yum. I was just giving my perspective on it as small startup founder, albeit in a fairly nonconstructive manner.

          1. 1

            all good all good, was happy to see your comment! sounds like you already have fast/easy/fun sdlc. this is good.

            1. 1

              <3 keep rocking on

        2. 1

          Four languages in one framework is too much? This sounds like a very small stack to me.

          1. 2

            let’s not start dropping f-bombs, we only use libraries here friend ;-)

            1. 1

              Was replying to the commenter who mentioned React

              1. 2

                sorry if the joke didn’t come through. library and framework are synonymous in my mind. apparently i need more coffee before the humor centers of my brain come alive.

            2. 1

              Yeah should’ve clarified that my experience is limited to starting my own companies and doing most of the stuff myself or in small teams of no more than 5.

            3. 1

              From a paper at ISCA a few years ago, both Chrome and Firefox are written in about 30 different languages. Different languages are tuned for solving different categories of problem. Limiting yourself to a single language for a project means that you’re making a compromise somewhere.

              1. 1

                it would be nice though. if only go could do frontend. if only reagent existed for not clojurescript.

                1. 1

                  Engineering is all about compromising. In my case, the perspective is from a small startup founder who does most things themselves and prioritizes getting things done in many different domains quickly.

              2. 1

                “It should be easy”, and then sweeps it under the rug! Nice try but I believe it doesn’t address the core problem 🙂

                1. 1

                  you didn’t enjoy the gif then?

                  1. 1

                    I did! But no project will be able to address the core problem…! Fullstack web is inherently complex today and for the foreseeable future. It has nothing to do with your skills or your project. I think you’d get better reception if you worded this article as “Opinionated webdev tool to ease devX with Clojure, Go and AWS”.

                    1. 1

                      i’m glad! you’re not wrong. the complexity isn’t going anywhere, but the user doesn’t have to care about it or be an expert in it. that should be an option, not a requirement.

                      by doing simpler things, that are harder to screw up, it can be made easier.

                      i am confident the typical developer can accomplish the following:

                      • git clone
                      • bash bin/ensure.sh
                      • bash bin/dev.sh # leave this running

                      i have a related project, libaws. it is used here to handle aws infrastructure.

                      its original title was:

                      • opinionated tooling, with a minimal interface, targeting a subset of aws.

                      its second title was:

                      • a simpler infrastructure as code specification.

                      the final title is:

                      • aws should be easy