Hacker News new | past | comments | ask | show | jobs | submit | omeraplak's comments login

The dilemma of choosing the right tool for a long-term project is understandable. We are running an open source React framework called refine for building Enterprise B2B apps like admin panels, internal tools and dashboard.

It's designed to be ensuring that projects remain maintainable even as time goes by. With its headless architecture, it can be used with custom styles or any UI library and data services. Maybe it helps you somehow

You can check the examples with source code: https://refine.dev/docs/examples/

Repository: https://github.com/refinedev/refine


Thanks, will have a look at it.


Just for clarity: the author of this comment is not from our team. But if you ask for my opinion, I enjoyed reading the article. We always pursue ideas that will take 'refine' to the next level, and this piece was helpful to us.


Oops, we haven't heard of this issue before. We're looking into it. Thank you


The deceptive part of these types of frameworks is this: on the first day, you think it will solve all your problems. On the second day, you're happy, thinking about how much you've sped up because you chose this framework for your project. On the third day, you have a custom need, and you research how to do it within that framework. On the fourth day, you hack the framework to make it flexible. On the fifth day, you say, 'Why didn't I start from scratch myself?'

Our goal and motivation in developing refine is to ensure that the developer continues to feel the way they felt on the first day, even on the day they finish the project and begin to maintain it.


And on the sixth day you have uncontrollable flashbacks to the days of using jquery to manage your application state as a singleton in the global scope and you die a bit inside ;).


why no one came up with the idea of reactive jquery i don't know. or, may be someone did?


literally this. but to the benefit of refine.dev i should say that you made the framework extremely easily hackable, at least where lame me wanted to hack it. your data backend didn't work with my rest api, i've asked on discord and someone said: hey, it's actually in the docs, you just copy our default implementation into your project, import it, make sure it works as before and then hack it as your own code. a productized hack, i'd say.


If I understand correctly, using 'swizzle' to customize the data provider is not a hack for refine, but an expected behavior. But I'm curious about the conversation; could you possibly share the link?


the ease looks like a hack, since it's documented it's not a "hack as in workaround". in my vocabulary "hack" is a compliment, not a derogative. i grew up on jargon file.


Here's what sets Refine apart: we're all about getting hands-on with the code, rather than relying solely on drag-and-drop like some other tools do, such as Retool, Appsmith, Tooljet, Budibase, and others. Instead of just giving you a set of pre-made building blocks, Refine goes the extra mile and creates a complete React project for you. This project comes packed with useful hooks and providers that make your work smoother.

We also have this 'headless' feature that lets developers seamlessly blend in their favorite UI framework or their own custom designs without any hassle. This flexibility is particularly great for things like complex admin panels, SAAS interfaces, and B2B portals. On the other hand, if you're working on simpler tools for internal use – you know, the ones that don't need a lot of tweaking – Refine might offer more complexity than necessary.


low-code doesn't necessarily mean drag-n-drop, though that is typically the association in people's minds

To us, low-code is really about creating simpler, or higher up the logical stack, abstractions, and then generating the implementation.

Our take is not so far off from yours, where we take a code first approach. Users declaratively define their application in CUE and then get most of the code. Rather than providing hooks, we let the user write directly in the output code. Unlike Refine, we enable our tool to continue to aid the developer beyond the initial scaffold phase, allowing things like the data model to update and the user gets new database migrations to be auto-generated and applied. We also make it really easy for anyone to create and share these application blueprints or generators (as we call them).

In this way, the user can select any mix of technology and make starterkits or addons for any application, not just webapps. For example we have users (ops team) injecting and maintaining CI & k8s files into their service fleets (dev team). This is a case where we see low-code, as a term, more generally.

https://github.com/hofstadter-io/hof


Oops, you're absolutely right. The frontend ecosystem is quite complex, and the entry barrier for engineers working in other roles is getting a little higher every day. Perhaps by default, Vite should be used, and Remix or Next.js alternatives should be shown for advanced frontend developers. Thank you so much; we will definitely improve this area.


Something else people may want to consider is the community health. Vite, Remix and Next.js are all extremely healthy, but Next.js is currently in a league of its own. You can see the community information for all three at:

https://devboard.gitsense.com/vitejs/vite

https://devboard.gitsense.com/remix-run/remix

https://devboard.gitsense.com/vercel/next.js

The only other project that I've seen with greater engagement than next.js on GitHub is Microsoft's vscode.

Full Disclosure: This is my tool.


refine's headless architecture offers developers the flexibility to implement their design using any UI framework to their apps. It also comes with built-in UI integrations for popular libraries like Material UI, Ant Design, Chakra UI, and Mantine.

With react-admin, you have no choice other than using Material UI for your app. refine's provides nearly all the features of react-admin enterprise provides as open-source.

Since refine's architecture is headless, router logic is completely detached from the business logic and UI layer. So you can use refine with React Router, NextJS, Remix, or any other framework may pop-up as long as it's React based. With react-admin, you can only use react-router and it doesn't have a real SSR support, while with refine, you can use SSR frameworks like NextJS and Remix without being limited.


The foundation of our motivation to create v4 was community feedback. Thank you so much for providing us the opportunity to improve ourselves!


Thank you so much for your comment. We believe that the most valuable aspect is allowing developers to work in their own environment with the tools and integrations they prefer. We're very happy that we've been able to reflect this.


Hey, with our open-core, you can connect to any data source as long as it provides a Public API. In our Enterprise edition, however, we support Direct Database connections (PostgreSQL, DynamoDB, Oracle DB) and other integrations that cannot be used client-side (such as Salesforce, Slack, Stripe, etc.)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: