Ask HN: Why is web development such a daunting task?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Vaadin

    Vaadin 6, 7, 8 is a Java framework for modern Java web applications. (by vaadin)

  • Buffalo

    Discontinued Rapid Web Development w/ Go

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • reflex

    πŸ•ΈοΈ Web apps in pure Python 🐍

  • htmx

    </> htmx - high power tools for HTML

  • Bulma

    Modern CSS framework based on Flexbox

  • I've come from the C++ realm back during the Bad Old Days before C++11, so I know exactly what you feel. My answer was to turn to Clojure and Clojurescript.

    > I have considered Java and Go since I have experienced with both languages.

    You might as well jump in with either of those. At the end of the day you will be fixing bugs and adding little new features. You can pick up most of the necessary things along the way, likely by fixing those pesky bugs! Probably the biggest takeaway I got from web development is security. Most non-web people never have to worry about that in a significant way. However most the web security problems are mature and well understood; everybody needs user auth, we're all sanitizing inputs, prevent SQL injection, etc.

    In short, I think you will naturally come to grok the backend based on what you already understand.

    > Write a web app? I've run away many times... it all feels so daunting.

    I have rewritten this part three times, and all I can be is Sebastian from The Little Mermaid; The Frontend World is a mess. Life in the Backend is better than anything they got up there!

    My advice is to mostly avoid a dynamic frontend if possible. Server-side rendered HTML still works and will work until the Internet falls into the sun. CSS can be a load of complexity, so I recommend you find a nice little CSS framework you like. Personally I reach for Bulma [0] as one of the less complex out there. If you need a little dynamism, note that every HTML element has a bunch of callbacks you can optionally attach JavaScript functions. The Mozilla Developer Network [1] is a godsend of documentation, and comparable to Javadocs in detail. It is huge but very exhaustive, so use search liberally.

    When I can't avoid a dynamic frontend, I reach for Clojurescript and one of its React libraries. The simple reason is a backend developer like myself can make progress in something as messy as the Browser. Like actual JavaScript frameworks, Clojurescript structures how I approach and write frontend apps. Relatedly, Clojurescript makes it much easier to convince other backend Clojure developers to wade into the frontend waters and be productive. At the end of the day, its still a transpiler and so I work much like TypeScript and other dialects function.

    Also as an anecdote, I bounced hard off frontend development several times before getting comfortable. This might be professional experience talking (see my second paragraph), but maybe it took getting real messy first before I became comfortable.

    [0]: https://bulma.io/

    [1]: https://developer.mozilla.org/en-US/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts