4 ms·
Ask HN: What language/framework for simple web app in 2023?
I want to create a web app that we will use internally; it would allow people in a meeting to go to a web page, enter their name, and then have a button for “hand up” or “hand down” and an indicator of whether their hand is up or down presently; the chair of the meeting would have an admin view that simply shows a list in order of who raised their hand first, and the ability to lower someone’s hand.
(Yes just like in MS Teams or in Zoom)
Any suggestions for the simplest/least-friction language/framework to get started?
This is partly a toy problem to get me into web app coding but partly something we might actually use.
I’ve never coded a web app before but I know C/MATLAB/Python/R in the scientific computing context and I used to know Objective-C in the old Mac system.
Emphasis on simple, non-bloated, approaches. I come from the tradition of coding in C with little or no dependencies.
Non-snarky suggestions welcome! Thanks!
- maldev 4y agoC# with blazor makes it really easy. You don't need to leave Visual Studio or deal with weird backend/frontend issues. It's all one application, and things are done on the frontend through C#, so it's all a single language. It's genuinely the best way to develop GUI/layout. Otherwise, Flask with python and Typescript(It's a superset of javascript, that has types and a few other things, it's the future, and alot easier to program and get compiler hints).
- fyzix 4y agoHaving no prior experience with npm/node build system will make learning any framework hard. Sveltekit is the easiest framework to learn so I'd suggest you start from there.
- surprisetalk 4y agoFor deployment, I like Cloudflare Pages/Workers for small projects and https://fly.io https://fly.io for large projects. For frontend, I think you'll really enjoy Elm if you like R and Python. Personally, I use vanilla JS (no framework) for small projects and Elm for large projects. For backend, there are plenty of excellent REST API frameworks for Rust, Go, Deno, Elixir, etc. I can give specific language recommendations if you're interested. [1] https://elm-lang.org https://elm-lang.org [2] http://vanilla-js.com http://vanilla-js.com
- ruined 4y agois elm still active? it looks like there hasn't been a release since 2019, and the last release seems to have made some technical choices (can't install and use packages with native js code) that mean a lack of active core development is a significant concern https://github.com/gdotdesign/elm-github-install/issues/62 https://github.com/gdotdesign/elm-github-install/issues/62
- surprisetalk 4y ago> is elm still active? Elm is alive and well! Elm 0.19 isn't under "active" development because it's feature-complete for now and stable as h*ck. The core team is working on "exploratory work" in private. I also think the core team is currently focusing on setting up "Elm Studio" for hosting and a new "Elm Foundation". [1] Roadmap: https://github.com/elm/compiler/blob/master/roadmap.md https://github.com/elm/compiler/blob/master/roadmap.md [2] State of Elm 2022: https://www.youtube.com/watch?v=Vexdf-Rd-AE https://www.youtube.com/watch?v=Vexdf-Rd-AE
- kamphey 4y agoTry Apps Script in Google Sheets. No need to learn HTML or CSS. Can do cron jobs and triggers for automatic type actions. And apps script is pretty much just Javascript. And users are familiar with Google Sheets already.
- hamdouni 4y agoIf you already know how to code in python, a framework like django may be a good foundation for a simple web app that can grow to something more complex.
- PenguinCoder 4y agoDjango would be way too heavy for this. Go for Flask, much lighter and can move faster to product completed stage.
- turtlebits 4y agoI don't think you need a framework. Javascript since you're building for the web. I'd probably go with a static site with a realtime backend (Supabase/Firebase or Hasura).
- runjake 4y agoI know Django, Rails, and various JS frameworks, but I'd probably do it in PHP with a SQLite3 backend.
- karanbhangui 4y agowith your c and python background, I'd suggest just using go standard library with no dependencies.