amcharts / amcharts5

The newest, fastest, and most advanced amCharts charting library for JavaScript and TypeScript apps.
Other
350 stars 92 forks source link

Does react integration is outdated ? #1222

Closed igorlino closed 10 months ago

igorlino commented 10 months ago

Question

The latest version of the react integration with AmCharts mentions 2 things at the top:

  1. creation of empty react project using create-react-app
  2. starting the example with a Class-based component

https://www.amcharts.com/docs/v5/getting-started/integrations/react/

does it make sense to update the documentation using a recommended/maintained tool for creating the project and also using a hook base example at the top?

I think Vite toolis closest to CRA while being easy to use and very modern and powerful. And luckily also framework agnostic.

Environment (if applicable)

latest AmChart 5 latest React 18

Additional context

Announcement of the dead of create-react-app under: https://github.com/reactjs/react.dev/pull/5487#issuecomment-1409720741

The new official react documentation removed create-react-app: https://react.dev/learn/start-a-new-react-project

Pauan commented 10 months ago

@igorlino I read through the link you posted, and it sounds like they're not removing create-react-app, but are instead tweaking the way it works a bit.

Do you have any evidence that they're outright deprecating / removing create-react-app entirely?

igorlino commented 10 months ago

Fair counter question.

My main focus is about CRA in the SPA context. Valid is also would be to cover both scenarios of real world: SPA and SSR.

I see multiple aspects why CRA deprecation is a reality:

1) The new official react documentation did not include anymore CRA a starting point for react: https://react.dev/learn/start-a-new-react-project their focus is more on server-side-rending (SSR) react-based frameworks (next.js or remix).

2) The CRA maintainers don't care much even to tell developers that CRA is deprecated. https://github.com/facebook/create-react-app/issues/13072 https://github.com/facebook/create-react-app/issues/13333 important questions unanswered since months.

3) If you see the commits and release of CRA, its basically frozen since 2021. https://github.com/facebook/create-react-app/graphs/code-frequency

4) The underhood bundler of CRA is webpack, which is by 10-20 times slower that modern rust-base bundlers and compilers like SWC.

A robust and widely use alternative for CRA for super easy to use react applications is using Vite with the react templates. By robust I mean the whole dev experience.

CRA is considered now prehistoric and it just died technologically some years ago.

Pauan commented 10 months ago

@igorlino Thanks for providing that, but that just reinforces my point:

https://github.com/facebook/create-react-app/issues/13072#issuecomment-1475136004

To summarize, it will become a launcher for other recommended tools, rather than being a standalone tool.

A create-react-app developer said that they intend to keep create-react-app but just tweak it, which is also what they said in the earlier thread.

So it sounds like it will continue to be relevant into the future, it will just defer to other frameworks.

Have they changed their mind and decided to remove it entirely?

igorlino commented 10 months ago

No, and I don't think they can remove CRA, they are a lots of legacy projects relying on it, but given no commits are done I don't see why would they invest on it give all the good options out there.

Well, its only my opinion. No serious react developer and company will rely on CRA for sure. So in that sense the AmCharts example docu is obsolete.

Ok, that's enough time for me on this topic. Feel free to improve it or not, feel free to close the the ticket also.

Pauan commented 10 months ago

I'll discuss this with the rest of the team, about replacing the React tutorial with Vite. Thanks for letting us know about this.

martynasma commented 10 months ago

The tutorial has been updated: https://www.amcharts.com/docs/v5/getting-started/integrations/react/