HACKER Q&A
📣 ozim

Where CRUD application stops being CRUD?


I wonder where is the line for CRUD app - because of course CRUD became derogatory term for writing simple apps but HN or Twitter are basically CRUD applications. Heck Facebook is one big CRUD app.

Where Google search is not a CRUD app.

Serving music or videos online should be even easier apps because - well these are mostly Read so there is not much create or update.

Is it that derogatory term should be "simple crud app"? Because even CRUD app after integrating with some 3rd parties, getting bunch of features starts to become quite complex.


  👤 gregjor Accepted Answer ✓
Since when did the acronym CRUD “become [a] derogatory term?”

CRUD implies neither simple nor easy. It just means a web application that mainly front-ends database operations. That describes most web applications even if they have additional functionality.


👤 whitepirate20
I think it’s important to not conflate the meaning with useless insecurities of the dev community. CRUD is shorthand for standard operations that will exist in any application that typically process and store data.

As the field grows, people like to bring others down. It’s the circle of life in tech but don’t let it distract you from becoming the best version of yourself.

FWIW CRUD is and will always be present in any application that creates, reads, updates and deletes data. You mention Google isn’t crud? Google.. creates, reads and updates data.


👤 muzani
The term is more for FE where the only role is to interact with the API, and possibly store sessions. It's more of a front end term.

A typical example is Craigslist - you're CUDing a listing and reading other listings.

Google counts too, at least the main Google search. Google Drive is not - there's data streaming, file management. Google Docs does not - there's code on input management, manipulation of fonts.

Music and video is not CRUD, because you're dealing with the playback.

Anything with substantial UI changes is probably not pure CRUD, notably something like Airbnb, which has horizontal scrolling and such. Something like a chat app might not be pure CRUD too, because a lot of work goes into how the data is displayed and refreshed.

Todo lists are usually simple in data complexity, but not simple CRUD in display, once you have the dragging, sorting, swipe to delete and so on.

CRUD architecture can be complicated, often unnecessarily so on native. It's why "movie app with pagination" is the fizzbuzz of native app interviews.


👤 tony-allan
For me a CRUD application has none or very few business rules and a simple data model. I sometimes look an application and think that it could probably be written with a generic CRUD app with a few customisations, perhaps a list of data elements.

An app is no longer CRUD when you have:

  1. more than a couple of SQL statements (other than CRUD!)
  2. are implementing a business process (multiple steps, multiple people)
  3. you are performing calculations or analysis

👤 _448
Which application does not require the support for Creating, Reading, Updating and Deleting something?

Most companies nowadays don't do the "Deleting" part due to analytics.


👤 Ekaros
When it does something the developer finds interesting...

👤 lampshades
When you have an algorithm.

👤 batoure
really hoping this is a troll…

CREATE READ UPDATE DELETE

a very simple approach to a restful service