omeraplak 6 days ago

Hello HN , here is Omer. I'm the Co-founder & CTO of refine.

Today we are celebrating the new features of refine with this launch event. Last year was a landmark year for us since we watched refine grow from zero and establish itself as a prominent React framework.

It all started with a single question two years ago: "Is it possible for a low-code web framework to quickly generate CRUD applications while still allowing custom styling, logic and workflow?". None of the existing solutions could give us the amount of flexibility that we needed, so we started building one from scratch.

Today refine evolved into a full-blown framework for building CRUD applications like admin panels, dashboards, internal tools, and storefronts. It eliminates the repetitive tasks demanded by CRUD operations and saves days of development time.

With the new release, we add two new features to refine core

1- Inferencer @pankod/refine-inferencer is a package that provides a way to automatically generate views for resources based on the data structure. The aim is to reduce the amount of time spent on creating views for resources by generating the code automatically that can be customized easily.

2- Swizzle The swizzle is a command in refine-cli that allows you to customize the refine's supported components and data providers. It allows you to eject selected files from the refine packages and modify depending on your needs.

Unique "Headless UI" approach enables developers to use any UI framework or custom design without constraints. For convenience, refine is shipped with ready-made integrations with three powerful UI frameworks: Ant Design, Material UI & Mantine.

Being totally backend agnostic, refine can connect to 15+ backend services out-of-the-box, incl. custom REST & GraphQL API's. With refine, developers have 100% control over their projects as they may build, style and deploy the way they like.

And of course, we want to know what you think about refine and any ideas or suggestions you may have for our solution. Please write them and we'll be happy to join the conversation.

  • revskill 6 days ago

    Thanks you very much. I love Refine ideas and the abstraction (Data Provider is cooool).

    Would love to improve the examples though:

    - Example code for backend Rest API to be used with Refine (i'm confused about specification on openapi request params/response)

    - Example code on only using data provider package (for example, we don't need to use refine routing provider, auth provider,...)

  • rjzzleep 6 days ago

    It looks good. I checked how long this has been around. Two years seems longer than most react apps. Couple of questions:

    1. How complex was the upgrade path between major versions?

    2. Are you guys cashflow positive?

    3. What are your competitors?

    Thanks

    • omeraplak 6 days ago

      Thank you so much.

      1. We've released a codemod when releasing v3 and allowed users to upgrade easily from v2 to v3 and we're planning to do the same for v4 as well. https://refine.dev/docs/migration-guide/

      2. We got a similar question before. You can check it out here: https://github.com/refinedev/refine/discussions/3261

      3. We have detailed comparison table for similar tools: https://refine.dev/docs/comparison/

      Have you ever tried similar tools for building a CRUD app before? Can you suggest any for us to take a look?

      • edgyquant 6 days ago

        You should just answer the question instead of pointing users to GitHub. The answer is no, they are not and they plan on selling features in the future.

        • omeraplak 6 days ago

          Thank you for your warning and comment. I shared the link because I thought people could contribute to the discussion on GitHub. To avoid any misunderstandings, I want to clarify that Refine will always remain open source and will continue to be developed with the community. So we are adopting the "open core" model which is very popular and widely accepted in the open source ecosystem.

          To reiterate, Refine will always remain open-source.

johnz 6 days ago

Over the last two weeks, I've been evaluating and trying out different headless CMSes, databases, and libraries like Refine to power my simple personal site.

I spent the most time with Refine and Supabase, and up until a few days ago, it seemed like Refine would be what I stayed with. I think what Refine offers out of the box is excellent. The ability to stand up a custom CRUD interface with low effort is really useful. I do appreciate what the Refine team is building.

However, when it came time to add customization or additional features, I spent more time stumbling through the docs than building what I wanted/needed.

A few days ago, I ripped refine out of my project for a custom-built interface using a component library called Mantine. Maybe it's because I've been building stuff like this for a long time, but I built exactly what I needed without Refine in less time than it took to get to the same spot with Refine.

The new swizzle command could have solved some of my issues, but I'm too far gone to go back.

  • omeraplak 6 days ago

    Thank you very much for your time and feedback! Your experience with Refine is inspiring for us. Can you tell us exactly where we lost you? Was the learning curve too steep or were you unable to accomplish what you wanted to?

    To be honest, we are working very hard to not let the experience you had to be felt by developers and it is clear that we need to work more.

    Thank you for giving us the opportunity to improve ourselves.

venkatkms 6 days ago

It would be good to know how this compares against React Admin Enterprise ( https://marmelab.com/ra-enterprise/ )

  • fzaninotto 5 days ago

    Hi, react-admin core developer here. My opinion is that Refine is a copycat of react-admin with deceptive marketing practices and no soul.

    - their API and code is a carbon copy of react-admin

    - most features are half finished

    - their benchmark is laughable if you look at the details

    - they raised 1M$ and only sell mugs - watch out for the moment investor ask for they money back ("everything is free" isn't a good sign IMHO)

    - they use the money to buy followers on social networks with contests

    On the other hand, react-admin is mature (5+ years, ~4000 closed issues, huge unit test coverage and documentation), has passed breakeven point, and powers 3,000 new applications each month. It's published and supported by marmelab, a 10-year old company that has more than 70,000 stars across many projects on Github, and with very strong values (https://marmelab.com/en/values).

    Prefer the original ;)

    • omeraplak 4 days ago

      Hey, Despite the fact that many your claims are baseless or unjustified, we appreciate your feedback and willingness to share your opinions with us. Any constructive criticism without unfair accusations is always very valuable to us.

      Although its relatively recent emergence on the market, refine has quickly established itself as one of the fastest-growing frameworks, thanks to the support and enthusiasm of its great community. Having the invaluable support of prominent VC's and angel investors helps us to broaden our vision and set newer and higher goals we couldn't imagine before.

      As it continues to grow and evolve, refine is becoming a one-stop solution for web application development, with the capability to handle an extensive range of use cases. Reaching this new level of success, vastly surpassing our origins as an admin panel creation tool, brings constant excitement to all of our stakeholders and serves as a source of motivation for us to develop innovative solutions for the industry.

  • omeraplak 6 days ago

    refine is %100 open source. It provides all enterprise features of React Admin for free. Additionaly, refine has more features that React Admin enterprise doesn't have.

    You can take a look at the comparison table: https://refine.dev/docs/comparison/

    • dalmo3 6 days ago

      It sounds too good to be true when your product is better than every competitor in every aspect. What are refine's weakest points?

      • venkatkms 5 days ago

        Looked a bit more in detail it seems a few features like below are comparably deficient vs React Admin Enterprise:

        1. Relationships management (particularly many to many) 2. Persistence of preferences like sort and filters 3. No builtin UI components to display audit logs

        PS: i am not associated with them in anyway. Just looking for versatility in tools in this space.

        Also XavaPro (java specific and server generated pages design) is much more feature rich

      • omeraplak 6 days ago

        In my opinion, trying to handle routing is the weakest point. However, we are working on this. With refine v4 , we'll remove the router dependecies and you will be able to easily integrate refine to your existing app.

fareesh 6 days ago

For this use-case I've almost always relied on Rails + custom scaffold generators. There are a few projects like Bullet Train that offer some admin panel features out of the box as well.

Is this a way of bringing that functionality to all these other frameworks as well? It seems compelling because the ability to build out crud resources with a single command is a huge accelerator in Rails projects.

Are there any videos of someone building projects with this? It's useful to see what takes time an what doesn't before committing to a framework like this.

  • adrianthedev 6 days ago

    Hey. I'm Adrian, author of Avo. Avo is similar to Refine but for Ruby on Rails.

    It helps developers create CRUD-like applications such as internal tools, admin panels, Content Management Systems and user-facing apps.

    I love seeing more and more movement in this space.

    https://avohq.io

    • fareesh 4 days ago

      Looks great - how easy is it to customize, and how flexible are the customizations?

      • adrianthedev 2 days ago

        You probably heard the phrase "made by developers for developers", so I won't bore you to death with it, but that's the gist of it. I probably built 100 admin panels in the past and I know what I would need in one, so I built a lot of "escape hatches" into Avo so you can extend it and create your own thing.

        • fareesh 2 days ago

          Sounds interesting

    • omeraplak 6 days ago

      The product looks outstanding! We are excited to see more. Congrats

  • omeraplak 6 days ago

    The most important feature of refine is being headless by design. No limit on customization, refine works with any custom design or UI framework you favor.

    For convenience, it ships with ready-made integrations for Ant Design System, Material UI, Mantine, and Chakra UI.

    We have tutorial for building a fully-functioning CRUD app, from scratch to full launch using refine. Please take a look: https://refine.dev/docs/tutorial/introduction/index/

jsmastery 6 days ago

Congratulations to the entire refine team on the launch of the new features! It's impressive to see how much the framework has grown and evolved since its inception. At the JavaScript Mastery team, we are looking forward to utilizing all of the benefits of refine in an upcoming video. Keep up the great work!

  • omeraplak 6 days ago

    Thank you for your kind words and congratulations! We are thrilled to see the positive response to our new features and are proud of all the progress we've made since launching refine. We appreciate the interest from the JavaScript Mastery team and look forward to seeing how you utilize our framework in your upcoming video. We will continue to work hard to improve and enhance refine for our users.

Strift 5 days ago

I'm not too much into React but this seems like the kind of tools that can massively increase productivity. I can see open-source being a good source of both adoption and virtuousness as well. Very cool!

  • omeraplak 5 days ago

    Thank you, we appreciate your kind words!

hobonumber1 6 days ago

This looks great! I have been wishing for a headless CRUD framework for React. i have to dive deeper into this, but it looks promising.

  • reactspa 6 days ago

    I've read the word "headless" used in different contexts.

    How would you define a "headless" CRUD framework please?

    Thanks in advance.

    • omeraplak 6 days ago

      In a front-end project, being "headless" means that all functions can work without dependence on any user interface elements/components. With Refine, you can use features such as data management, authentication, real-time functionality, audit-logging, internationalization, and access control with any user interface element/component of your choice. This means that Refine does not restrict you in terms of styling and customization.

  • omeraplak 6 days ago

    Being able to convince others is amazing! Have you used a similar framework before? Thank you

tessela 6 days ago

I would like to see examples of integrating refine in a existing app.

dessireugarte 6 days ago

Great work refine team!

  • omeraplak 6 days ago

    Thank you, we appreciate your kind words!