TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: In 2022 how do you develop a simple CRUD app if you have few time?

40 点作者 dgerges大约 3 年前
I'm a director in a structure with thirty people and my job has nothing to do with dev. I've been developing large apps in my day job but today I'm looking to develop a simple web app connected to a few data sources like Airtable. I'm amazed of the complexity of today environments and what you need to learn to have something up and running. I've used MERN, RoR and other things but there's so much hidden complexity and that it's difficult to use for small projects (just getting to an env that works is a pain). What would you recommend ?

27 条评论

minhmeoke大约 3 年前
Depending on what you&#x27;re trying to do, Retool (<a href="https:&#x2F;&#x2F;retool.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;retool.com&#x2F;</a>) can get you up and running very quickly. It&#x27;s great for quick and dirty internal tools, but maybe not that suitable if you are going to build something large and complex that you need a lot of custom functionality for.<p>In that case, I recommend Flask [1] + SQLite [2] (you can swap out SQLite for Postgres if you start hitting scaling issues). Flask is a very cleanly-designed Python-based web framework that makes it simple to get started, yet is quite powerful. SQLite3 is a whole database in only a single file, which makes deployment and backups very easy.<p>[1] <a href="https:&#x2F;&#x2F;flask.palletsprojects.com&#x2F;en&#x2F;2.1.x&#x2F;tutorial&#x2F;" rel="nofollow">https:&#x2F;&#x2F;flask.palletsprojects.com&#x2F;en&#x2F;2.1.x&#x2F;tutorial&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;flask.palletsprojects.com&#x2F;en&#x2F;2.1.x&#x2F;patterns&#x2F;sqlite3&#x2F;" rel="nofollow">https:&#x2F;&#x2F;flask.palletsprojects.com&#x2F;en&#x2F;2.1.x&#x2F;patterns&#x2F;sqlite3&#x2F;</a>
评论 #30911520 未加载
评论 #30903368 未加载
ivanmaeder大约 3 年前
For speed I&#x27;d look at Ruby on Rails.<p>The way it&#x27;s been explained to me, Rails packages (gems) are like prefab bathrooms and kitchens. Compared to e.g., Node.js packages which provide things like &quot;sink&quot; and &quot;tap&quot; and &quot;door handle.&quot;<p>E.g., in Rails there&#x27;s a popular auth package that includes password reset and recovery functionality:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;heartcombo&#x2F;devise" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;heartcombo&#x2F;devise</a><p>Always a pain to build, and not something these popular Node.js packages save you from doing over and over again:<p><a href="http:&#x2F;&#x2F;www.passportjs.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.passportjs.org&#x2F;</a><p><a href="https:&#x2F;&#x2F;next-auth.js.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;next-auth.js.org&#x2F;</a><p>EDIT: It sounds like I&#x27;m picking on those packages. I don&#x27;t mean to, just want to highlight the difference in philosophy between the Node.js and Rails approaches.
lysergic大约 3 年前
Django Literally just create a django project, code your data models, and register them with django admin. Users and login included
评论 #30902813 未加载
评论 #30900942 未加载
mooreds大约 3 年前
Wordpress with custom post types is what I&#x27;d reach for. You can install WP on any number of shared hosts for ~$10&#x2F;month. Then install custom post types and you can set up attributes for each entity type. The UI is all taken care of. You can even use it to drive an API.<p>These instructions from me are a few years old but cover the basics: <a href="https:&#x2F;&#x2F;www.mooreds.com&#x2F;wordpress&#x2F;archives&#x2F;2971" rel="nofollow">https:&#x2F;&#x2F;www.mooreds.com&#x2F;wordpress&#x2F;archives&#x2F;2971</a>
评论 #30903379 未加载
Zababa大约 3 年前
It&#x27;s interesting how all the responses are different. It seems like there are mostly 4 different groups of recommendations:<p>- SaaS&#x2F;no code&#x2F;low code tools: Retool, Bubble, PowerBI<p>- Big MVC frameworks: Ruby on Rails, Django, .NET Core, Spring.<p>- A few tools together: Next with Prisma and SQLite, Node&#x2F;Deno with SQLite&#x2F;CouchDB, Flask + SQLite, Flask, Javalin + Kotlin + Exposed, FastAPI, PHP.<p>- The usual &quot;use what you already know&quot;.<p>This pattern happens all the time when people are asking how to build web products, especially &quot;easy and well understood&quot; ones like simple CRUD apps. The other interesting part is that no one seems to have &quot;hard evidence&quot; or something like that to argue their recommendations. I wonder if it&#x27;s due to a lack of hard data, or that tools don&#x27;t make a huge difference, or another factor.
ThalesX大约 3 年前
Headless CMS seem to be an interesting approach. I&#x27;ve had some success lately with Sanity [0] which I enjoy [1] a bit more than other Headless CMS because of their data lake and CDN.<p>Just this week-end, a friend had an idea that he wanted to make a list of healthy products. I suggested Google Sheets as a starting &#x27;database&#x27; and see where we move from there. He had some issues with inserting images to it though so I just created a sanity.io project. I think we were good to go in about 20 minutes with both a backend admin area and an API.<p>The next steps are to:<p>A - Build mobile app<p>B - Actually move the data from Sanity to a self hosted CDN<p>--<p>[0] <a href="https:&#x2F;&#x2F;www.sanity.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.sanity.io&#x2F;</a><p>[1] I don&#x27;t work for Sanity, but I&#x27;m also not a stranger to them.
评论 #30911611 未加载
contingencies大约 3 年前
Use whatever you&#x27;re most familiar with that allows you to get the job done to a sufficient level of execution in a reasonable time. Otherwise, delegate, outsource, or reconsider why you&#x27;re building it at all.
bnchrch大约 3 年前
I mean bubble is a great tool if you want to connect to airtable for a simple crud app.<p>Outside of that I’ve been having a lot of side project success with Chakra UI pro on the front end and Hasura on the backend
cdaringe大约 3 年前
Hasura for the data layer, and any static site generator for the front end. If it’s moderately interactive, a next.js static site is a great pick. For styles for basic internal&#x2F;simple apps, I use classless CSS sheets so I can just write html&#x2F;jsx and get something presentable. I don’t have the patience for messing around with styles.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;dbohdan&#x2F;classless-css" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dbohdan&#x2F;classless-css</a>
throwaway81523大约 3 年前
If you use Rails and don&#x27;t care too much about fancy web visuals, the ActiveAdmin gem is very easy to use and makes reasonably nice CRUD screens. For my own stuff, I tend to just make super stupid handwritten html pages and Python cgi scripts, to avoid dealing with Rails. Elixir has its own thing like ActiveAdmin and I&#x27;d like to try it but haven&#x27;t.<p>Other people just use spreadsheets for this type of stuff, depending on the application.
999900000999大约 3 年前
I really like Firebase + Flutter Web.<p>But I will say Flutter Web is rather ugly compared to React... React has had UI libraries for years which are way beyond anything flutter can do
harg大约 3 年前
I recently had to build a simple CRUD webapp in a very short timeframe (a few hours) as a coding challenge. I ended up using Next.js with Prisma (ORM) connected to a SQLite database. Got the job done pretty easily and quickly.<p>You could just talk directly to the DB using the basic Node SQLite packages&#x2F;libraries but I found using an ORM like Prisma greatly reduces boilerplate and makes things more robust.
user7878大约 3 年前
I basically create the application using the code genetor( with basic login &#x2F; logout functionality) and using the code generator to create the new page with simple CRUD options. It&#x27;s enterprise level application architecture that designed to cater high volume requests.<p>TechStack: Backend : .Net Core Frontend : React, AntDesign<p>connect me email available in profile
jpgvm大约 3 年前
For really simple stuff I have been using Javalin + Kotlin + Exposed.<p>If I suspect it&#x27;s going to be bigger I have been sticking to Spring Boot + Kotlin which has been very productive but it has a lot of magic going on that it sounds like you were trying to avoid.
snisarenko大约 3 年前
I am working on something that can satisfy your needs<p><a href="http:&#x2F;&#x2F;widgetterminal.com" rel="nofollow">http:&#x2F;&#x2F;widgetterminal.com</a><p>Subscribe for early access, and i can give you a demo.<p>Also, have contact info in my HN profile.
dsfiguer大约 3 年前
NestJS + Prisma is pretty neat. NestJS can generate you CRUD apps using the built in CLI and Prisma defines models&#x2F;scheme in one file. I like this for smaller projects as it is quick and easy to manage.
midrus大约 3 年前
I find Laravel (with something like livewire or Unpoly) quite easy, well documented and battle tested. Of everything I&#x27;ve tried in my life this is the best &quot;one man army&quot; stack I&#x27;ve seen.
评论 #30911601 未加载
maxlamb大约 3 年前
Looks like the no-code platform Bubble has Airtable integration <a href="https:&#x2F;&#x2F;bubble.io&#x2F;integration&#x2F;airtable" rel="nofollow">https:&#x2F;&#x2F;bubble.io&#x2F;integration&#x2F;airtable</a>
codingdave大约 3 年前
I&#x27;ve been liking Next.js recently. If you already know React, it is a fairly reasonable learning curve. But if you don&#x27;t know React, I&#x27;d do something else that fits your existing skills.
midrus大约 3 年前
Regarding to hidden complexity, the complexity is there. You either deal with it yourself or rely on the &quot;magic&quot; of the framework to do it for you. I prefer the latter.
RamblingCTO大约 3 年前
As no one mentioned it, I&#x27;ll add golang and gorm to the mix. Only crud you say? If you need web, I recommend gin. Easy af.
ravenstine大约 3 年前
I would use the built-in HTTPs libraries in either Node.js or Deno. Maybe with Express.js or Fastify if I think I need them, but for simple CRUD I think those layers are usually unnecessary until you have many endpoints. Usually it&#x27;s not a big leap to migrate to those since they also use the built-in request and response objects. The language really doesn&#x27;t matter, though. If it were Ruby or Python then I&#x27;d choose their respective HTTP modules in the standard lib. Receive JSON, respond with JSON. Done.<p>For storage, SQLite is almost certainly the way to go by default IMO. People underestimate the capabilities of SQLite. Chances are it not only does most if not everything you want in a performant way, but it also scales very well. I might also go with CouchDB if I feel like it fits, and because I just find so much to like about it.<p>If I need webpages to be rendered, I&#x27;d use the Svelte compiler on the backend to SSR the components into HTML. Doing it from scratch requires a bit of work but not overly-so; I&#x27;ve done it 3 or 4 times with my own personal projects. That way you can not only render HTML in a very straight-forward way but you can easily rehydrate on the frontend if you need component behavior to run in the browser.<p>The end result of this is that you have few to no dependencies other than the language runtime and you understand the app in and out. I&#x27;ve been downvoted in the past for suggesting this approach, but I stand by it. No, you don&#x27;t <i>need</i> a framework unless a framework is called for. I prefer to start with the minimum to get the job done and then work up from there. This way I can do what I want and not run into a situation where some other developer&#x27;s nebulous definition of what makes something &quot;middleware&quot; get in the way. Separating business logic from &quot;plumbing&quot; logic helps when it becomes necessary to transition to a(nother) framework.<p>Rails is great and all that, and I started my current career in Rails, but in many cases these frameworks are just too much. Even the scaled down ones like Flask, Sinatra, and Express.js can be more than is necessary. An understanding of web security is kind of a requirement, and it takes more work to do things like CSRF tokens (as an example), but in my opinion it&#x27;s worth it to know those things intimately earlier than to rely solely on prebuilt libraries without understanding what they&#x27;re doing for you.<p>Of course there are exceptions. Don&#x27;t re-implement cryptographic routines from scratch because why and also because you will screw them up. If I can screw up CRC8 then you can screw up BCrypt.
NanoWar大约 3 年前
I&#x27;d give blitz.js a try, recently top on HN
smackeyacky大约 3 年前
Power BI?<p>Not sexy, but can produce what you want.
polski-g大约 3 年前
Python fastapi
cpach大约 3 年前
Maybe Flask?<p>Or just PHP?
jdrc大约 3 年前
php