4 ms·
What do you mean by headless UI components?
by askvictor 3y ago
What do you mean by headless UI components?
- ilrwbwrkhv 3y agoBasically the ui layer and the backend layer which and the operational layer need to be combined into one seamless tool. Right now you have the write a "frontend" and a "db connection + backend logic layer". And by headless I mean something which builds on what the web provides like buttons but adds a whole lot more of components which are used but are unstyled.
- zzzeek 3y agoThen you've invented Visual Basic in the 90s, WordPress in the 00s and I don't know Squarespace or something in the last decade. For business cases beyond that, this is simply not how "the backend" works.
- dvdkon 3y agoVisual Basic and other "RAD" builders were pretty neat and I think platforms like WordPress or Drupal never captured their charm. For one, any apps built on them need a rather complex runtime, which feels worse to me than a language's standard library or the JVM. It's a far cry from dragging in a button and then referencing it as a variable in code. Second, the graphical niceties of these platforms often run "in-process", and save what is basically code in the same database as content. This will anger most Smalltalk fans, but I think this style of development is a bad idea. I want to know that some folder full of source code is the program, and some other folder is the data, and that if I back up one or the other, it will be independently usable. I'm not saying 90s IDEs were perfect, but I don't think there's been any successful successor to their style of development. Graphical GUI builders exist, but they usually don't support making web apps, and after working with modern JS GUI frameworks, manually syncing GUI state with app state seems antiquated and needlessly bug-prone. I suppose QML with Qt Creator comes closest.
- mabcat 3y agoVB was probably the charmingest language I’ve ever used, especially for GUI. It takes the cake for “rather complex runtime” though. As I recall, they bundled the entire VB interpreter into every executable. This seemed scandalous to me at the time.
- mr_toad 3y ago> As I recall, they bundled the entire VB interpreter into every executable. This seemed scandalous to me at the time. You probably don’t want to know how Electron works then!
- igouy 3y ago> I want to know that some folder full of source code is the program, and some other folder is the data … That would be completely ordinary with Smalltalk. "Within each project, a set of changes you make to class descriptions is maintained. … Using a browser view of this set of changes, you can find out what you have been doing. Also, you can use the set of changes to create an external file containing descriptions of the modifications you have made to the system so that you can share your work with other users." 1984 Smalltalk-80 The Interactive Programming Environment page 46 https://rmod-files.lille.inria.fr/FreeBooks/TheInteractiveProgrammingEnv/TheInteractiveProgrammingEnv.pdf https://rmod-files.lille.inria.fr/FreeBooks/TheInteractivePr...
- MrLeap 3y agoMeteor was the last time I heard about something like this.
- bbkane 3y agoSounds a bit like https://directus.io/ https://directus.io/
- syndicatedjelly 3y ago> Basically the ui layer and the backend layer which and the operational layer need to be combined into one seamless tool. Right now you have the write a "frontend" and a "db connection + backend logic layer". Solving this “problem” just doesn’t seem like a good use of a time. There are now 4738484 different viable ways to build a website, adding another way is just a waste of everyone’s time
- shrimpx 3y agoI'd argue web dev is largely a solved problem for large complex apps, but largely unsolved for simpler use cases. The problem is the amount of boilerplate and tool complexity involved. In a large project, the boilerplate can become a small fraction of total work put in (hopefully), with most to the work spent expressing the logic of the application. In smaller projects, the boilerplate can be the vast majority of the work. Building a backend, a frontend, and a communication protocol between them (that includes reactivity). On the backend you need to learn HTTP/Websockets and a backend framework. On the frontend you need node, nvm, npm, yarn, React/Svelte/Vue. To do it right you need to implement automatic reconnect/resubscribe on reconnect, etc. Several projects try to reduce this complexity in various ways, but they all have trade-offs and I don't think we've found a sweet spot. Drag and drop tools like Squarespace and Retool are heavily biased toward expressing UI and integrate clunkily with backend logic. Backend-based tools like Streamlit and Pynecone (Reflex) get closer to a sweet spot IMO but are either severely limited in what you can do (Streamlit) or ultimately expose you to the full complexity of the frontend (Pynecone). I think further work in this space is warranted.
- rickydroll 3y ago> I'd argue web dev is largely a solved problem for large complex apps, but largely unsolved for simpler use cases. I have a good example of a small-scale problem that's a b** to solve with web technology. In a nutshell, I have an application which sends batches of data to a remote client. On the far end, I want a little web app that pays attention to the incoming queue of batches, display that list of batches in a browser, each batch with a progress bar, and be able to click on a batch to start the next stage of processing it when the batch is ready. making real-timeish display updates should be a canned function but there is a lot of frontend/backend stuff going on to make it work. > I think further work in this space is warranted. what he said.
- hu3 3y agoSounds like a DSL to facilitate building CRUD. I wrote one in PHP and 3 devs were able to build and maintain a 800 page CRUD system with it (still going strong, makes a ton of money). It has complex business logic, is fully unit testable and allows for escape hatches when needed. I'm in the process of rebuilding the DSL in C# with the lessons learned (because Entity Framework is awesome). And might open source.
- lukevp 3y agoDo you have any way to contact you? Would love to hear more about this. Also a C# developer and love EF. I think the standard library from Microsoft in general is the highest quality, most powerful and flexible library that’s out right now. I see so much potential to make a system that solves the 90% of use cases more simply, with enough flexibility to drop down lower when needed, and I think C# would be a great tool to build this.
- hu3 3y agoHey! It's exciting to see other's have similar ideas to boost productivity. About the framework, I just read in a comment below about Java's Vaadin framework and it looks very similar to what I made in PHP. It's code that generate UI. See https://vaadin.com/docs/latest/components/crud https://vaadin.com/docs/latest/components/crud Please check my profile in a month. I'll publish contact info.
- elteto 3y agoSounds like Vaadin for Java, I think.